Background
If I were asked to name one step which is crucial for success of software project execution, I would have to say it is Software Project Initiation (SPI). A software project that is well initiated has much more probability of being successful than a software project that is not.. Certain mistakes that are committed in initiation time do not lend themselves to correction during the subsequent phases of project execution. That is why I am recording my experiences on this subject.
Software Project Initiation Activities
Software Project Initiation starts after the organization acquires a project from one of its clients. The objectives of the SPI
are –
- Ensure that ownership for project execution, delivery and customer acceptance is entrusted to a Software Project Manager (SPM)
- The SPM is provided with support commitments from service departments of the organization
- The project is started on the right footing– a project well started, is half completed!
- The experience of the organization is brought to bear upon the project
SPI activities are shared between the organization and the Software Project Manager (SPM). Normally an organization that is organized for executing software development projects will have a department entrusted with the responsibility of acting as the repository of project records, as well as the nodal agency for initiating and closing of projects. In some organizations, the delivery head holds this responsibility. In some organizations, a special department under the title of Project Management Office (PMO) or Project Repository would do this. This department carries out the SPI at organization level.The department (PMO) performs the following activities during SPI:
- Identifies the SPM
- Prepares the Project Dossier and hands it over to SPM
- Assists SPM to obtain necessary SLAs (Service Level Agreements) from other departments of the organization
The SPM performs the following activities during SPI –
- Study the project specs and ensures that they are complete
- Carry out software estimation, namely,
- Size of software to be produced
- Effort needed for executing the project successfully along with needed skill sets of the personnel assigned to the project.
- Schedule for the project execution
- Cost Estimation for the project
- Obtains budgetary sanctions for the estimates
- Provide requests for necessary resources, namely,
- Personnel requested
- Hardware resources
- Software resources
- Seating facility
- Networking and Internet facilities
- Prepare project plans
- Project Management Plan
- Configuration & Change Management Plan
- Quality Assurance Plan
- Project Execution and Delivery schedule
- Product Integration Plan
- Deployment Plan
- Induction Training Plan
- Handover Plan
- Issue Resolution Plan
- Set up Development Environment
- Set up seating facility
- Set up hardware
- Set up system software and development tool kit. Supply information sharing directories
- Set up networking and Internet
- Set up work allocation and execution mechanisms
- Arrange project specific skill training required, if any, to project team members
- Train project team on all aspects of project execution, as specified in the project plans
- Organize the project team into its constituent functions, module teams, QA teams, Database team, etc
- Conduct a Project Kickoff meeting with other concerned departments and obtain commitments for project specific service levels and issue resolution mechanisms
Now let us examine each of these activities in detail.
Organization level activities –
First let us consider the organization level activities.
Identify SPM
Once the go ahead (in the form of a management approval, a purchase order from a customer, a letter of intent) is received, the Project Management Office would identify an SPM. Identification of a PM is subject to a few subjective and objective factors such as –
- Availability of SPMs
- Past experience in the present domain
- Expertise in the present technical domain
- Capability to handle the present team size
- Willingness of the SPM to handle the projectand so on
Prepares the Project Dossier and hands it over to SPM
The Project Management Office or whosoever is handling the responsibility of SPI at the organization level prepares a project dossier and hands it over to the elected SPM. The dossier will consist of:
- Technical Specs of the project as finally agreed to with the customer
- Important milestones of the project, along with dates by which to reach them
- Other requirements such as communication mechanisms, progress reporting formats and intervals. Escalation mechanisms and so on
- Pointers to past experience like similar past project estimates, project plans etc. – this brings the organizational experience to bear upon the project execution
- Information pertaining to preparing bills and invoices
- Project Initiation Note (PIN) – this note contains basic info about the project
- Any other aspect specific to the project
This is the beginning dossier for the project, and all measurements are carried out in the background of the information mentioned in this dossier. This dossier will be handed over to the SPM, who will maintain it during project execution.
Assists SPM to obtain necessary SLAs (Service Level Agreements) from other departments of the organization
SLAs will be agreed to between the SPM and service departments like HR (Human Resources), Finance, Networking and Systems, Administration departments, etc.. The Project Management Office will coordinate such a meeting at the request of the SPM and ensures that an amicable resolution is achieved between project requirements and the service departments. This is conducted at the request of the SPM.
For the next article in this series, please read Software Development Project Initiation- Role of SPM .