|
|
![]() |
![]() |
|
|
|
|
| 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. |