Sunday, December 25, 2005

Yet Another Reason to be in Augusta, Maine

Well for all the gentleman and excuse me ladies here is some interesting news from the central city in Maine. In our ongoing quest to find incentives for people to travel to Augusta, Maine, we may have discovered yet another gold mine. Well it is store Spellbound in downtown Augusta. And it may be one of the first stores in the nation to use live models clad in bustiers, garters and itty-bitty pieces of metallic fabric and have them in the store windows. Ladies may also be in for a surprise with live men in tuxedos but that may be Version 2. So be careful when you go out to Augusta, since wide eyed men have been reported to slip on ice as they walk by this special store. Volunteers to Augusta, Maine......

Monday, December 12, 2005

CNSI Annual OffSite Meeting Year 2005: Team Building ... Jeopardy

As I write this quick blog entry of CNSI Annual Off Site Meeting, sitting in the flight back to Maryland from Miami, I am hoping everyone would write back to me with equal verve and enthusiasm with their adventures and experiences over this trip.

Jeopardy remained the highlight of this year’s managers meeting. Hold there! It is not the CNSI Jeopardy buzzer contest game that I am talking about, but I am referring to the jeopardy of drinking too much and then falling from dance floor and spending the rest of the trip on two shots per day dosage. I also wish I could refer to the jeopardy of what eCAMS acronym stands for but I would prefer to acquaint you with the perils of gambling and the persistent effort to loose money as if it was being funded by Bank of Jaytee like some of our famous projects are! I wish I could refer to the jeopardy of who is older, Jaytee Kanwal (last clocked at 44++) or Reet Singh (leading with 44+++) but I am talking about the risk of carrying 60 pounds of luggage on a three day cruise and having to move your two-pieces in other people's luggage . Also it is no less of an insurance risk of having 50+ year old people running up and down in 80 F and scorching sun.

Well there was more than the jeopardy game that was played as a team building exercise. We had the beach Olympics which however appeared more of a beer guzzling challenge, scream your way to victory and 'blow it' competition than.. . Anyway, I cannot get away from referencing the fine gentleman who appeared to had spend more time in the gym than .... and could walk away with a job of a life guard or a modeler for special extra short, extra... swim trunks and add to his list of diverse work experiences (Taco bell fryer etc).

At the end, I cannot close this entry of the blog without referring to the "Finds of 2005" for CNSI. First, Bhanu (pronounced Banu), who represents West Virginia equally well as she does Chennai, not only surprised everyone with her drinking capacity but by her ability of being spontaneous, and a playful teaser . I think we can all see a healthy competition developing for a coveted title and position in CNSI upper echelons. Second was CK Kumar ( Head of CNSI India Operations) who amazed not only by his ability to perform a table top dance with a calendar girl but by his ability to constantly stream out with comments and one liners, though they made sense only to him most of the time.

This was the summary highlight of the meeting but more vivid and detailed blogs shall follow and I hope to get some good contribution from my fellow team CNSI members. After all this off site meeting was dedicated to Team Building Right!

Monday, October 24, 2005

Dialog Box, a bad user interface design element-Part 2( Alternative to a dialog)


In part-I, I wrote about how dialog boxes can make your application look infested with bugs. In order to solve this, as a designer your aim should be to minimize dialog boxes as much as you can and if a dialog box is really a need then think about making it a modeless dialog box.
Let us assume you have a web application where you want to create a web page to display a list of items. Consider its design; you need a list page and an button to add items to this list. Now, as a designer, in order to provide the add functionality, you will either create another webpage or you will create a dialog box depending on the information you need to display and capture. If the input form has less number of fields (3-4 fields), then most probably you will choose a dialog box. Reason being, by using a dialog, you are letting the user to add the item and also letting the user to view the list of already added items at the same time. Now think what happens if there is a pop-up blocker and pop-ups are not allowed on your site? User clicks on the ADD button and your web page will probably blink and that’s it. Your well thought dialog will be eaten by the blocker. Now you can rely on the user to figure it out or expect to get a maintenance call. In the first scenario, you are relying on user’s consciousness and yeah, he should know what you were thinking while designing your application.
My suggestion is let’s try to be innovative and let’s design for the user and not for the application.
Now regarding the above dialog issue, we can add input fields, which we were displaying in the dialog, at the top of the list page and provide button and a button next to it (See fig. below).


----------------------------------------------------------------
Headers--> First Name Last Name Email Address
----------------------------------------------------------------
Inputs--> Field1 Field2 Field3
----------------------------------------------------------------
List-->
First Name1 Last Name1 Email Address1
First Name2 Last Name2 Email Address2
First Name3 Last Name3 Email Address3
First Name4 Last Name4 Email Address4
First Name5 Last Name5 Email Address5

For editing you can either provider edit image/button in each row or a EDIT HTML link.


In the list above we achieved the same functionality as of a dialog box and much more. Much more? Well using this approach you can easily provide copy row functionality also. Consider the list below; a user can enter values in Field1, Field2 and Field3 for First Name, Last Name and Email Address and press to add a new row. User can also click on edit button/link next to each row, which will copy the row data on Field1, Field2 and Field3. Now user can edit the data and press to save changes or change something and press to create new row (copy functionality).
Hope this helps. I will be back soon with more user interface design issues.

Friday, October 14, 2005

Lavar: Undisciplined Talent?

Lavar Arrington, wearing the now famous 56 jersey ( sales of his jersey were the greater than every other jersey sold), and the Redskins continues to be in the mix of controversy as he has been relegated from being the center of defense to a non starter. Theories abundant, comments galore but the fact remains Lavar is on the bench.Lavar can blame his injury for his current miseries but it is more of his relationship with the coaches that is at the root cause of this issue. Lavar, football is quintessential a team sport and if the coach and the rest of the players ( it is amazing discipline on the part of the rest of the defense not to comment either way) do not have trust in you to play team football,I think it is the end of the road for you at Redskins. Ah!! it is going to impact and challenge the marketing returns on the dollars that have been put behind Lavar and the only thing that may reinstate some of it is an injury to couple of key players in the current defensive line. Until then all the loyal Lavar fans and Redksins fan do not bet to see him on the field making plays. Yeah you can plan to see him sacking Brunnel since he may be shopping out for another team who can use his great football talent at the expense of his sometimes undisciplined approach on the field. As for Redskins, we may loose yet another top of the league talent since our coaches could not use the strengths of a man who in his hearts is a true Redskin!!!

Monday, September 26, 2005

Make Ganguly : Coach of India Cricket Team

It is a huge disservice to the cricketing nation of India for both Chappel and Ganguly to go at loggerheads. There is no questioning the track record of Ganguly as a captain and as an aggressive,fearsome leader on the field. But at the same time Chappel was bought for a purpose to address some of the apparent weakness in the team and prepare the team for the WorldCup 2007. My only suggestion to Chappel is that even if he had the right intentions for the team, his approach has left much to be desired. He wants to approach his job as if he is coaching the Australian team. You do in Rome as Romans do. Moreover, his unability to motivate Ganguly to adhere to his coaching regimen may be seen as personality clash.However, I think Chappel needs to adapt to the situation. Either way nothing is going to get accomplished in a fragmented team mode which is unfortunately the current situation. I hope better sense prevails and everyone can focus on the game called cricket rather than scheme yet another soap opera episode. Food for thought How about Ganguly being the Coach and Dravid leads the team? Sorry Greg: It is India After All

Wednesday, September 21, 2005

Child in EveryOne

I got reminded of that little child who is full of energy, verve and curiosity when I got my Apple laptop yesterday. Beaming with excitement and intrigued by the new toy, I spend few hours trying to admire the beauty of the laptop and acknowledge the attention to finer details. Ahh!..this blog is not about being an Apple convert (I know Steve is little disappointed), but it is about the discovery of the very fact that there is a child in every person.
In the book 'I AM OK, YOU ARE OK', the author highlights the very fact that every individual makeup is made up of three coexisting layers (adult, parent, child). Believe it or not everyone has that child in him that leads him to enjoy the trivial, live the moment. The very fact that in every conversation that we engage in, there is either the adult or the parent or the child interfacing is intriguing. The appreciation of these subliminal interactions can ensure improved handling of the situation. Anyway, I love the child in me, it gives me the creative spark, fills me with the energy to do things unconditionally and gives the excitement in mundane things. As someone said
"Just Be Yourself, because those who matter, don't mind
And those Who Mind, Don't Matter"
Do you agree? Should I care? :)

Sunday, September 18, 2005

Dialog Box, a bad user interface design element-Part I

Okay, “blog” readers, lets discuss something about user interface design issues.
There are so many of these but lets take one at a time and my random pick is dialog box.
There are so many things the way we design our user interfaces, which we can improve on and we should improve on. I have seen some applications, which we use on a daily basis improving on it but some still do it the old way. Most annoying feature of some of these applications is the modal dialog box. So let’s find out what is bad about these dialog boxes.

As we all know dialog boxes are classified as (1) Modal and (2) Modeless. Modal dialog box is that, which require a user to respond to it before doing any other action on the application which produced it. On the other hand a modeless dialog allows a user to perform other actions also, on the same application, while it is active.

Dialog boxes are useful when we need to get some input from a user or if we need to give a response back to a user. Dialog boxes become more helpful when a user is viewing a list of items and he/she wants to add another item. Using dialog box in this case lets user add another item, while viewing the list.

Now the real question, if a dialog box is so useful then what is wrong with it?
Well, out of the two types, modal dialog box is really the most annoying.
Consider “Font” dialog in MS Word. It is modal in nature and when it is active, it won’t allow you to do any other action on the word document you are working on. Consider its use now. This dialog box is used to change the “Font" properties of the selected text. So let’s say you select some text, open this dialog box to change font and then realize that you need to select some more text. The only option you have is to close this dialog and then select more text and then open it again. Now think if this dialog is modeless (just like “Find and Replace” dialog in MS Word), in that case you don’t need to close it to select more text. A small annoying issue is solved. (To our rescue, MS word has a font tool bar also to perform similar action, which most of us use.).

Now can we live without these dialog boxes? I would say minimize dialog boxes in your applications, especially, if it’s a web application. All those pop-up blockers on user’s machine can make your web application look infested with bugs.
There are some other alternative designs to dialog boxes also, and I will try to write something about that in my next blog, till then bye.

Tuesday, August 30, 2005

Gaither Reshuffle: Random is the New Order

There is reshuffle at the Gaither Road facilities of our CNSI office. We expanded our office space by acquiring our next door neighbor’s space. We all assumed it is going to be as convenient and as manageable as $ 99 Apple shuffle. But alas I woke from my day dream. The office planners had planned this for months, but then they re-planed with few weeks left ( they did not order the carpet ahead of time), and then they went into a crisis planning mode( they bought down a wall which now needs to be build up again) too. Alas they finally stopped planning when the work got underway. Anyway, all the planning for the future growth did not last very long since by the completion of this reshuffle project we run out of space (anticipated) Ironical! Well you decide that!
However, to the credit of the office planners, the project appears to be getting over on time unlike some of our IT projects which every time we look into it, we figure out that we have 6 more months to finish. Am I looking North East? Arghh! Back to the shuffle, oops, I mean the reshuffle.
Space is premium ladies and gentleman and individual offices are what people would fight for as if there was no tomorrow. Cubes are considered a step down. Sending emails, escalating to everyone (can you escalate to everyone, I need to figure that one out yet), making presentations to justify the need for the office are the flavor of the week. Hey come on we have to work in the environment for long extended periods, weekends too. (This project was an exception. No work was done during the weekends even though it meant outages in the regular work days.) So Brethern, all I can say is that the fight is justified! Damn! I have an office too and gosh it feels on top of the world. Close the doors and you are at home. The office planners worked to satisfy all kinds of forces for the office space, brainstormed ideas ( as if there were many) , discussed for long hours in meetings ( actually same thing repeated n times ). But time was spend like crazy ( for there was no other work to be done) and out came the guiding principles. Can those be shared? No, because for they are guiding principles, we are not supposed to follow them, just guide along them to walk into the exception world. Further they are baked fresh every day.

Finally the D day came and phase I of the project got completed on time! Infact ahead of time. Pandemonium!! We were supposed to move on Friday. OK! No! Wait we are supposed to move on Wednesday, since we cut down the networks, telephones from the old to the new already. Yikes!
Anwway, we all welcomed the randomeness since 'In Chaos lies Creativity", and we all eagerly wait for the next phase with great anticipation. So till next time welcome the random order and enjoy the reshuffle across the border !!!

Tuesday, August 02, 2005

Purpose of Testing

The purpose of testing can be to show that the software works or it can be to show that the software does not work or there can be another level where the purpose is not to prove anything but to produce higher quality software. When we say quality, a lot more gets added to the whole process. The testing simply does not become a procedure to find bugs but something where one set of tests try to fail it and another set tries to improve it( increase in usability/"easy to use" is one such improvement).
Black box testing, white box testing, bottom up approach, top down approach etc. has always been there. To my understanding the goal is still the same , making sure (1) what we built is what was expected by the user and (2)Another level, where the software exceeded user's expectations and software is really solving his problem and not creating a new problems of its own kind.
Today morning while driving I heard this analysis on radio about automakers. Their big challenge is that they design their cars based on user requirements or who would be driving the car etc. But the issue is , as they were saying, most of the time a user doesn’t know what he/she wants till they actually see it. This is what happens to us also when our system goes to production. We can always argue use agile/RUP/CMM etc. to avoid this but still we always find this issue.
There is another issue and that is our test cases. Most of the test cases are written either to satisfy the requirement or to satisfy the design. This is not a bad thing (although I have read some articles which say the word “requirement” is bad. Another topic of discussion!).

I would divide testing in to two levels (1) Business Process Testing. (2) Code level testing.

Arvider has already posted his views on "Business Process Testing". But there is another level " Code level testing" where you go down to the code level, making sure you test each method in the code(Method coverage), Making sure each statement gets executed at least once (statement coverage), Branch coverage etc…. This is where GACC, RACC comes in to picture.
Now you can always say that , that would be a lot. Well you do not need to achieve 100% of Test Coverage and also in order to do this you do not need to change what ever you are doing but you need to look at your Test Cases and produce smart test cases. How you produce smart Test Cases? I will try to write something about it soon.

Sunday, July 10, 2005

Software Testing New Mantra : BPET

Business Process Execution Testing (BPET) is the new matra for software testing. Actually it has been slowly rattling in my mind for some time. Now I am finally acknowledging it in light of the challenges with one of my recent implementations. However, I was struggling to put those thoughts together and consolidate them in a framework. Finally this new acronym came to my mind and I said lets just express it. I just hope no one has used this acronym before!
But anyway, I think one of the fundamental reasons for high customer dissatisfaction with software systems is the lack of coherence with the operational processes. The reason being that the traditional software testing approach is bottom up starting with unit testing and graduating to integration testing and system testing. As a result the software is tested and verified for the way it was built and/or designed to built.Howevever when put to use, there are signficant operational gaps which make the system of little use and reduces its acceptance by the end user community. This has to change!! The wave is of business processes driven application and system design and testing needs to take on this paradigm shift heads on. This paradigm shift can be absorbed and addressed by imbibing and adopting the BPET philosophy!
First of all this philisophy is geared towards testing the software the way it is going to be used. How? You guessed it by mimicing business processes. So this approach starts with understanding the key business processes that support the organization and map them to the system identifying the ownership and roles of the system and its various components that support it. The rest of the plan is to define and develop test cases that verify these processes execution and the success and failure of the system to support the actions.
But two fundemental changes do exist with the traditional approach to testing. One is that the actors in this case (testers) are not traditional software testers but subject matter experts, operational staff who understand the business and have significant domain knowledge. The second but higly controversial, I assume since it causes radical mindset change is the defect priortization in this philosophy. A bug that crashes the application shall get a medium rating if it has minor operational risk.The situation that resulted in a bug is an exception and it is unlikely to occur or there is a reasonable workaround or avoidance strategy. At the same time a result that is not even technically an error – say, a degradation in performance during regular hours may be a showstopper since it means lack of customer response by customer help desk which means the 1000 calls being addressed every hour are not getting addressed. I think this is paradigm shift for both the business stakeholders and the software developers but it is the right way to execute the test strategy. After all it doesn’t matter whether the software is perfect or not as long as it meets the business process needs. BPET is the new mantra Amen!!!
I shall be further elaborating this area in my future blog updates!!!

Monday, July 04, 2005

Genius Babies

On 4th of July, when I had nothing else do but wait for the fireworks to start, I wandered into the Borders Store and hit this interesting book by David Plotz
"
The Genius Factory: The Curious History of the Nobel Prize Sperm Bank
"
Well, Twenty fours ago, millionaire Robert K. Graham began a most remarkable project: the Repository for Germinal Choice, a sperm bank for Nobel Prize winners. I guess more driven by the need to help preserve the genetic geniuses in the next generation than altruism or social engineering. This was to help reverse the genetic decay Graham saw all around him by preserving and multiplying the best genes of his generation. By the time Graham's repository closed in 1999, his genius sperm had been responsible for more than 200 children.
Want to know who these 200 children are? What are they doing? Interesting!!! Think about it ...
Here we are on the verge of what are called designer babies with modified genes this story puts insight into what happened when using Genetic Engineering 101 :"Using the most advanced technology of the time a sperm bank with top minds"
Go Figure!!!!

Friday, July 01, 2005

To Bid or Not to Bid

No different than the movie 'To Be or Not to Be' in terms of the comical twists and turns is the decision to bid or not to bid for a project. I guess every organization goes through the rigorous process of evaluating pros and cons of the bid or no bid decision. Rigorous in terms of time lost, energy spent... Definitely! A signficant time is spend in exchanging emails ( infact sometimes the email trail looks like a chapter of Adam Smith 'Wealth of Nations'. The book has just 1200 pages) expressing benefits or pitfalls of going after an opportunity. There are participants who are flip flops and justify every new decision based on a new insight into the context of the decision. There are participants who think it is important to be on the other side of the table to make the process more challenging, more prolonged, more fun. And I guess that is where the rigor of the process is!!!. There are players in this process who sit on the periphery and wait for a decision! Ahh smart people !!! And Alas a decision is made which appears final But Wait.. there is new information, new perspective..Hold On ..Here we go again. In Indian mythology a cat has 9 lives but the bid-no-bid.. beats it hands down. Till the next To Bid-or No Bid saga, I just smile

Saturday, June 25, 2005

Enterprise Management Bus ( EMB)

Enterprise Management Bus Phew!! Still struggling to come into terms with enterprise Service Bus now we have been given this new term. But alas it is more simpler to understand and appreciate. But implementation is a separate story. So for now lets try to see if we understand this..Its all about the ability to have a unified view to systems, applications and network information. Well is it about business dashboards ( the roots are there) but it is about context aware dashboards that takes away human intervention looking at consoles. It is about autonomic computing. Bottom line with all the focus on enterprise integration, SOA the potential for all encompassing system management tool is out there which provides a multidimensional view cutting across applications, technologies. Wana design EMB, design ideas are requested!!! Collaboration is Welcome :)

Yet Another Attempt

This is yet another attempt to satisfy my urge to write via the internet and communicate with the world around me. I have had previous attempts but those fizzled out before it started. I know it needs discipline from me to put in some time to reflect on the events and activities and express it with candor. I hope this time it would work and this title makes it exciting... Since it means just express. I intend to freely express my ideas and opinions and bounce with everyone who are ready to give a honest feedback and improve the original idea. I welcome other people interested in expressing their ideas and opinions. I guess it is open canvas for people to share their opinions and form a collective opinion. Phenomenonal things have been achieved by open collaboration and I wish this blog can live a meaningful life and deliver what it is supposed to " Ideas and Opinions".