Saturday, 5 December 2009

Value of team work

A product is facing performance problem often at production. It is facing memory out of error too often. It has a java component which uses a java-com bridge and a com component which returns some result. The java-com bridge is no more supported and can work only for 32 bits. So RAM size cannot be increased. So it is decided to go away with the com component and java-com bridge and migrate the app to pure java and provide a 64 bit machine. The application is a legacy application and there were no Business Analyst. So the development lead was asked to depict what the com component and java-com bridge does and provide it to a technology evangelist who will do the same thing in pure java. And provide the data using web service. The technology evangelist was asked to consume the data and provide a UI as done by JAVA-COM bridge. It was a challenge for both of them. But both of them rose to occasion. Product developments lead providing the document on time, though documentation is not her core skills. And she defined the interface and both of them started working as per the interface. The development was over in 2 days. Now the application needs to move to QA. And as they are setting up in QA, the application did not work. The reason was product development lead was using JDK 1.4 for her legacy application and the Mr Quick-Fix evangelist is using latest JDK. It worked fine in development environment. But QA environment has older version of java so the newer version of the code provided by Mr Evangelists did not work. Then it comes to a discussion, should we use Java 6 or Java 4? And the discussion moved round and round from prod support to QA to Mr Evangelist. Everybody have their own version of the story, and the testing delayed for no reason. Finally the evangelist got his idea approved by senior management. And the QA did ask for JAVA 6 installations on their machine. After a sweet one week QA is able to test the application. What a waste of an effort. 2 days to develop an app by providing the best resource and 7 days to set up the QA.

By the time the product development lead has to go on a vacation so she asked her team members to fix any problems on her behalf. QA has started testing the application. Earlier any issues raised by QA were sending to the product development team. Now QA does not know whom to send the defect. She thought the component was developed by the evangelist, so send any defect to him. She sent couple of defects to him which should have been fixed by the development team. He was not well for 2 days, so checked mail after 2 days and mailed saying it is not his fault. And development team member said it is not his fault either. So they went to check the document which depicts the behavior of the application. Evangelist was right as per the document, but developer was right in terms of what the old application behaved. So it was actually a mistake in depicting the old behavior. Development lead has done it on and above her regular work. Evangelist has done his part of the work brilliantly, and developer is trying to say what is right, and the product is not delivered on time.
Evangelist agreed to fix the problem and move on and it was moved from QA to UAT almost after 2 weeks. The show is full of couple of individual brilliancy followed by a poor show by the team.

PS: This incident is based on a true incident. Names has been deleted to protect privacy. Some of the events have been to tweaked to make it more interesting

No comments:

Post a Comment