WWW My Homepage


     Articles by category      Recent Articles         All articles   

My best Software Project Ever

Kishore C.S. (Jan 2001)

During last few years of experience in IT industry I had executed handful of projects. Each project had a few constraints where the team did not have situation under control and finally customer was not very happy. Finally I had such an opportunity to use all my skills, initiative and lessons learned from previous projects. This enabled me to execute the project in a way where project was always under control with minimal schedule slippages and higher customer satisfaction.

The following are the various factors that made this possible.

Involvement from beginning: I was the project manager from the beginning. I did not join the project in the middle which happens many times. This contributes to problems in the project because the project manager does not understand customer expectations well. This factor gave an advantage of understanding of requirements and customer expectations very well from beginning.

Project Schedule: We had a proper sign off from customer on project schedules. Lot of projects do not have proper milestones defined. In this project all customer review milestones and intermediate delivery milestones were agreed at the time of project proposal stage.

Clarity on Requirements: Requirements specified by customer were very well detailed and documented and all specific requirements were also stated to the minute details. The requirements phase extended over a month, which involved prototyping and extensive reviews.

Project Planning: A very detailed project plan was made which listed all the activities that are needed for bringing out a quality product. All activities like documentation, review, updating review feedback for each deliverable were planned upfront. Activities towards each milestone were well scheduled and planned. This is the most important activity I did during the project, which gave an idea of the project schedules and practical feasibility of milestones. 

Resources: We inducted resources at the right time into project. We ensured that each resource is assigned work as per plan and schedule.

Customer Reviews: We had customer review of prototype and design and the customer feedback was incorporated and communicated. A representative from customer was always available for clarifications on any feature specification that was not clear to implementation team. All assumptions were validated with customer representative before implementation.

Preparation of Work Plan: Project plan was converted into a work plan and resources were allocated task as per current work plan. It was ensured that all resources are properly loaded and sufficient time is given for an individual to complete the task.

Progress Monitoring: Progress of the project was monitored on a weekly basis. Every week each developer spent time with the team leader and project manager to update status of work and get new assignments for the project. During this review corrective actions were discussed in case any tasks are not completed on time.

Use of Tools: We used all available tools like Project 2000 for planning and task assignment, ERWin for Database design and script generation, Ration Rose for documenting Low Level Design as sequence diagrams, defect tracking system for use during unit testing stage.

Specialized Resources:Individuals had responsibilities that matched their skill set and had complete accountability for the deliverables. There was no overlap of responsibilities and each one was clearly apprised of their role and responsibility. A design engineer was responsible for design only. A Tester was responsible for unit test case review and test execution. Team leader was solely responsible for team management and follow up of tasks. Project manager concentrated on Project and Resource Management. Each person was able to give 100% to their responsibilities.

Quality of People: Each team members was very good in their area of specialization and with clarity in their tasks and expectation, they executed their responsibility to best of their skills.

Team Size: The team was small and altogether had 8 members. This small team size made team working easy and efficient.

Timely corrective action: With a regular progress monitoring in place, we were able to gain visibility on delays and take corrective action by prioritizing tasks properly.

Management Reviews: Management also reviewed progress on a fortnightly basis and provided resources as required. And Customer also was updated with status of project on a fortnightly basis.

Risk Management: Risks in the project were identified and highlighted and focus was retained on the risk to mitigate the same. This typically included procurement of right versions of tools and integrating products on time.

The project had a milestone of intermediate delivery of a module which was delivered on time and had good quality and met expectations of the customer. Customer was happy. For some personal reasons I was not involved till end of the project but still I felt happy the work was progressing and quality of work done.

In summary, I would say the critical factors that contributed to success are

Customer Reviews and Complete clarity on requirements

Continuous customer involvement

Realistic time schedules and milestones

Very good project planning and periodic monitoring

Very good team work

Sincere effort from each team member

Usage of Right Tools to ensure productivity of the team.

People with the right skills

Excellent leadership on part of team leader

I felt very happy in working on this particular project and certainly would like to repeat such performances in future also.  And given such a situation it would not be very difficult to meet customer expectations consistently and achieve success in Software Industry.

Back