The Software Project Manager: Their Role in Project Initiation
RSS
 View all Hubs
See what's in...

Software Development Project Initiation - Role of SPM

Part 2 of 3 in the series: Software Project Initiation
Article by chemuturi (866 pts )
Published on Aug 21, 2008
This paper by Murali Chemuturi describes the role of Software Project Manager (SPM) in initiating a Software Development Project. He gives detailed guidelines for what the SPM does, and the steps needed to bring diverse elements together to begin the project.
164 views
go to: part 1

Role of SPM in Project Initiation

Software Project Manager (SPM) level activities

Most of the other Software Planner Initiation (SPI) activities are carried out by either the Software Project Manager (SPM) or a person designated by him. SPM takes ownership of all the SPI activities. SPM may take networking and Sys Admin personnel to set up a development environment and networking. Let us consider each of the SPI activities below.

Study the project specs and ensures that they are complete.

SPM studies the specs received from the client including:

  1. Technical specs
  2. Delivery commitments
  3. Milestone details
  4. They study all these and make an assessment of achieving them. They would
    interact with Project Management Office (PMO) or the customer as required and fill the gaps in the specs, if any.

Carry out software estimation

SPM carries out software estimation, namely,

  1. Size of software to be produced
  2. Effort needed for executing the project successfully along with needed skill sets of the personnel
  3. Schedule for the project execution
  4. Cost Estimation for the project

SPM would estimate the size of the software product to be produced. SPM would choose an appropriate size measure based on the organizational standard and customer preference, if any. Then they would convert the size into effort in person days or hours using appropriate productivity figures. They would work out the schedule of development and then cost of development.

Software Estimation is a large enough topic in itself, and I have addressed a separate paper on it.

Obtains budgetary sanctions for the estimates

SPM would submit the software estimates to appropriate authority in the organization and interface to obtain necessary sanctions for the budget. This sanction would be necessary in obtaining the required resources for the execution of the project. SPM would follow the organizational processes for this activity.

Raise request for necessary resources

Based on the sanctioned budget, SPM would generate necessary requests to appropriate authorities for project resources, namely,

  1. Personnel– the necessary mix of skills, development platform experience, domain expertise and level – this is normally carried out by the HR department. In larger organizations it is common to have a resource cell that is vested with the authority of allocating people to projects. If people were to be recruited, this department would interact with HR for recruitment.
  2. Hardware resources – this request would be raised on Sys Admin department who would allocate necessary hardware for the execution of the project. Sys Admin would procure special hardware, if any is required for the project, and make it available to the SPM.
  3. Software resources - this request would be given to the Sys Admin department who would allocate necessary system software and development kit for the execution of the project. Sys Admin would procure special software, if any were required for the project, and make it available to the SPM.
  4. Seating facility – this would be assigned to the Administration or Facilities department. Admin / Facilities department would provide necessary seating facility for the project team in such a way that the team is collocated.
  5. Networking and Internet – this would be for the Sys Admin department, who would provide necessary interconnection for the project team, provide required security, and Internet facilities.

Prepare project plans

Project Planning is an involved activity and is probably the single factor that can cause project success or failure. Since this is a large subject I addressed a separate paper on this subject. However, in a nutshell, the following plans are prepared.

  1. Project Management Plan – this contains details of the project scope, milestones, tools & techniques used in the project, communication and issue resolution mechanisms, etc. are detailed.
  2. Configuration & Change Management Plan – this plan contains details of development configuration, development state promotion, change management procedures, naming conventions and so on.
  3. Quality Assurance Plan – this plan contains quality assurance activities proposed for the project, metrics to benchmark the project, quality assurance roles and responsibilities for the project etc..
  4. Project Execution and Delivery schedule – this is a detailed work breakdown based schedule listing all the activities with resources and dates assigned for each of the activities, such that it gives the probable dates of reaching the set milestones, deliveries and project completion.
  5. Product Integration Plan – this plan contains the proposed approach for integrating the product and integration testing along with roles and responsibilities for product integration.
  6. Deployment Plan – this plan contains details of hardware and software required for deploying the solution, the schedule of deployment, roles and responsibilities for deployment etc..
  7. Induction Training Plan – this plan contains the details of topics to be covered for training new entrants to the project, pointers to course material, roles and responsibilities for conducting the induction training and its evaluation etc..
  8. Handover Plan – This plan contains details of hardware and software components to be handed over to the client representatives, acceptance mechanisms, roles and responsibilities of persons involved in handing over the completed project to the customer etc..
  9. Issue Resolution Plan – this plan contains details about reporting issues, obtaining resolution, roles and responsibilities etc..

Setup Development Environment

Development environment involves seating the project team together, ensure that all the developers have the necessary development tool kit, can access communication facilities, that the QA personnel have all necessary testing tools, and a separate test environment and so on. The following activities are included -

  1. Set up seating facility – take possession of the seats provided by the Admin/Facility department and allocate them to team members in such a way that each member is located in the related group and ensure that the complete team is seated.
  2. Set up hardware – provide necessary hardware resources to the team members.
  3. Set up system software and development tool kit – ensure that all team members are provided with necessary system software, database management system, development tool kit including editors, compilers, debuggers and so on.
  4. Set up information sharing directories – organize the information such as user requirements, design documents, project plans, training materials, issue reporting formats, test plans and all other formats and templates needed for the team working in convenient directories and providing need based access to all the team members and ensuring security thereon.
  5. Set up networking and Internet – ensure that all the hardware of the project team is interconnected and Internet is provided to the team on an as needed basis.
  6. Set up work allocation and execution mechanisms – deploy work registers at commonly accessible places and inform the teams of communication protocols for making work allocation, as well as reporting work completion and keeping the team informed of the same.
  7. Identification of appropriate standards and guidelines for coding, designing, testing, reviewing, and defining them where they are not available.
  8. Arrange project specific skill training required, if any, to project team members – as needed arrange class room / self-study training to the team members and all activities connected with such training.
  9. Train project team on all aspects of project execution as specified in the project plans.
  10. Organize the project team into its constituent functions, module teams, QA teams, Database team etc..
  11. Conduct a Project Kickoff meeting with other concerned departments and obtain commitments for project specific service levels and issue resolution mechanisms. This is carried out with the help of PMO (Project Management Office) who would arrange the meeting and invite all necessary department representatives to be present. In this meeting, SPM presents the details of the project including milestones and the support needed from those present as well as the SLAs needed. After negotiating the SLAs all present note their commitments and implement and adhere to those during the project execution. Typically, SQA (Software Quality Assurance), Sys Admin, Admin/Facility, Networking, Marketing & CRM (Customer Relationship Management) department representatives would attend this meeting.

Phase-end Audit

This is the last activity of the SPI. SPM invites the Internal Auditor designated for the project to audit the project for conformance with the defined Project Initiation Process of the organization. The audit may unearth non-conformances, if any, and report them to the SPM. SPM would arrange for the rectification of the non-conformances and close them.This concludes the SPI – Software Project Initiation, and the project execution phase starts.

See Software Project Initiation - Organizational Role for the first article in this series.

Software Project Initiation

This paper by Murali Chemuturi describes the role of Software Project Manager (SPM) in initiating a Software Development Project. He gives detailed guidelines for what the SPM does, and the steps needed to bring diverse elements together to begin the project.
2. 
Software Development Project Initiation - Role of SPM

Bright Hub - Science & Technology Articles, Buyer's Guides, How-To Tips and Software Reviews
About Bright Hub | Contact Us | Terms of Use | Privacy Policy | Copyright Policy | ©2008 Bright Hub Inc. All rights reserved. Page copy protected against web site content infringement by Copyscape