by Syed Ali
Project Life Style: Most of us know the terminology “project life cycle” or Software development life cycle (SDLC). But today, I will explain what a Project Life Style is. This is related with one of my critical project which had few major ups and downs. The story starts when I was assigned to a project as an onshore PM and as usual, the project was in a very terrific state. As per the project plan, and the project status report, everything was going in right direction. We were on track but the team was working extraordinary working hours. The team size, by the way, was 6 developer and 2 testers.
When I joined the team, I spent the first 2-3 days talking with the team members, going through the requirements and asking the team to give me a demo of the application so that I can judge the progress for myself. At the same time, I also asked to update the plan for each task and fill out the percentage of completion on the project. I always feel that when everything seems to be going right, then there must be something wrong which could be very serious. Unknown issues or delays might have very severe impact on the project because such things cannot be planned unless you face them. After spending few days on the project, I found that the team was way behind schedule and there were lots of bugs for the developed functions for phase 1 of the project. The target date for first phase testing was just two weeks away and the client and our management was not in the mood to change the date. Whole team was focused and working late hours to meet this deadline. So the day of deployment (aka doomsday) came and the application started crashing just within one hour of the deployment. For the next two months, the whole project plan became just a piece of paper and nothing else. All developers were assigned to put more of their efforts in bug fixing and they were spending very little time on phase 2 development. As a result, the project deadlines for phase 2,3 and 4 became unachievable. To fill some of these gaps, we added more resources and the team size doubled.
I was trying to cool down a very angry client; I was also trying to talk with team to understand their issues which were also candid. I could feel the heat. The client was very critical and we were losing lots of money because of these delays. So that situation was not good for everybody. The team and I were drowning.
Somehow we were able to deliver phase 2 for testing during the time when phase 4 was expected 🙁 .Still the bugs from phase 1 were open and phase 2 delivery was also not successful. The client raised a lot of concerns about the quality. Even with a large size team when everyone was working more than 16 hours per day, the number of bugs was not coming down. For fixed bugs there were ripples and more bugs were reopened. The situation was still embarrassing. However at this point in time we were aware of some of the real issues about this project. The summary of facts was:
- The project was underestimated tremendously
- The requirements for the application were not specific. Most of the requirements were vague and based upon generalizations.
- The test scripts used by our testers and the client’s team were not aligned because of the gap in the requirements. The client team was testing the application through their domain experts with using a formal test scripts so each time they were executing a different scenario and they were opening or reopening the issues instead of closing them.
The issue was raised to the senior management on both sides. There were a lot of arguments, justifications, and differing moods to convince each other about the above issues. The phase 3 & 4 were on hold because of the decisions pending a project steering committee. The whole team was working to fix the existing bugs instead of new development.
Now, after very tough meetings at level of the top management, the revised plan was accepted and we were given a new target date to complete the project’s remaining phase and all the pending bugs within next 6 months. At this point of time, we shuffled a few resources; we worked on building a strong team with more motivation and commitment. Because the team failed to deliver the initial project, we announced bonus for the team upon successful completion. It worked as fuel and team morale went up. Each member was committed and supportive as we knew that this was a last chance to regain our credibility. We came out of the water, but still there was lots to do. A new challenge was in front of our team.
We took a pause and revised the whole project plan, we prioritized the tasks and started meeting daily with the internal team and a weekly with the client. We started to track each and every issue and action item very carefully. The team felt less pressure at this time. We conducted some business requirements sessions with the client. At this stage we revised the following documents.
- Project plan for phase 3 & 4
- Business requirements for Phase 3 & 4
- Formalized the test scripts which will be used by the client and internal QA
- We finalized an acceptance criteria for each phase
- The whole team was involved in the estimation so this made the whole team responsible
- The client helped us to provide the detail in writing about all the pending items for phase 1 & 2. It helped to document the scope and testing plans
Now we started phase 3 with a normal sized team. We started with 7 developers and 3 testers. We added all the unplanned activities which were not part of phases 1 & 2 like demo, deployment and shipment. The team was very dedicated and excited to take on this challenge. We started daily monitoring to measure the progress. This time the requirements were clear to the team. The testers knew what to test. The client was also aware of the scope and testing plans so there was less miscommunication. It improved the performance of the team and we were able to deliver phase 3 three weeks ahead of schedule and we revised the project plan for phase 4 as well. The client was very satisfied with the phase 3 quality. The client named this phase “the most successful round” of the project. We got a medium sized change request so it helped to cover some loss on the project. As of today, the team is working with more dedication and commitment. We are very much focused on our on-time delivery with high quality so we can gain what we missed in phase 1 & 2. We as a team are now working in a very productive mode. We are enjoying our work and life.
A big thanks goes out to my team for their hard work and commitment.
Special thanks to Muhammad Ali my colleague at AAJ who created these nice pictures for the blog.