Tuesday, September 11, 2012

Project Planning and Software Product Development



All software product development and project management go hand-in-hand. Since software products has to be released with a predefined set of functions and features on a pre planned release schedule, project planning is one of the most important aspect of successful product development.

Every product manager has to spend substantial time on project planning, in most large organizations, there will be a dedicated program management and project management teams who will play a critical part of new product development.

Once the customer requirements are identified, the next step is to develop a 'Project plan'

A project plan, in the initial stage is an estimate of how much effort, cost and time is needed to develop the software development.

Just as the software development, project planning is also an iterative process. As the product plan gets further refined, project plan also gets further developed. The project plan is a living document - which changes in response to changing product plan. Therefore, a good project management must accommodate changes. A good project plan will have change management systems built into it. It is a good practice to have a "Change Control Board" to monitor and manage project changes.

Key Concepts in Project Planning

Software product development is an iterative process - i.e., products are constantly developed, Products have several release versions (rev 1.0, 2.0, 3. 0 etc). This iterative process is reflected in software project planning. Software project planning is not a one time activity - instead it is a iterative activity where each project is followed with another project. In agile methodology, each product development iteration could have multiple project iterations. Thus software product development and software Project planning go hand-in-hand, unlike projects in construction or any other industry.

Key concepts in project planning are:

1. Software product development life cycle provides a basic framework for project planning. The project plan is derived from the product development life cycle. Essentially the project plan is done to ensure that the new product meets the stated customer requirements.

2. Project plan must account for all management overheads & interactions between product management, engineering development, test/QA teams, customer support, product marketing teams throughout the project life cycle. A project plan must have synchronization meetings & project review between various stakeholders to ensure successful product development.

3. Project Plan must accommodate changes in a planned and controlled manner. A Change Control Board (CCB) is essentially in dealing with the inevitable changes that occur in the project.

4. Project plan is an ongoing negotiation between the customer ( in most cases represented by product manger) and product development teams - engineering, QA, finance etc. The project plan offers a balanced scorecard for all stake holders to create a win-win situation.

5. Project plan maps out all resources, resource utilization, schedules and milestones that are needed during the course of the project life cycle. The project plan sets the overall boundary conditions for the project within which the product has to be developed. These boundary conditions are often referred to as project constrains.

6. Project plan needs to assess risks involved to determine the appropriate mix of management, development, and product assurance.  There is a strong correlation between project risk and how resources are allocated for the project. Project plan must document the risk assessments and the risk mitigation plans.  

7. Project Planning is required for all software product development effort  and there are no standard project template or "one-size-fits-all" project framework. A project planning will often require a dedicated project management teams - who develop and maintain the project plan and ensure all teams work & deliver as per the plan.

Closing Thoughts

In the world of software product development is a complex activity involving several stake holders. A good project management forms the basic foundation for successful product development.  

4 comments:

Unknown said...

fantastic and useful we blog thanks for publishing useful and information great to read it.
Software development in Rajkot,Gujarat,India

Unknown said...

What great information. We have been looking for project planning software for our company. I really enjoyed reading your post. Thanks so much for the information.

Unknown said...

A project plan, in the initial stage is an estimate of how much effort, cost and time is needed to develop the software development. on project planning, in most large organizations, there will be a dedicated program management and project management teams who will play a critical part of new product development. Project management software is the most useful tool that helps to make the plan perfectly.

Richard C. Lambert said...

A project plan, in the initial stage is an estimate of how much effort, cost and time is needed to develop the software development. project management and collaboration