Software Project Organization
Software project organization is the series of activities under the project planning phase which includes:
-Defining the project organization structure
-Defining the roles and responsibilities
-Defining the stakeholders' involvement
-Defining the escalation mechanism
-Defining a communication plan
Project organization structure:
The Org structure of the project describes the line of authority across various roles and relations of the project with other support functions. Various diagrams, charts, and other notions are used to define the authority and reporting structure that every role has to exercise.
Roles and responsibilities:
Defining the roles and responsibilities across the team, resources, stakeholders, and various other departments to which the project may interact like HR, Admin, Finance, etc. Every role has a specific set of responsibilities for instance:
Role | Responsibilities |
---|---|
Sr. Project Manager/Practice Head/Department Head/Group Manager | Sanction the budget Conduct project status review periodically Perform risk mitigation activities Handle critical issue escalation & resolution Manage resources Make decision related to cost |
Project Lead/Manager |
Planning, Scheduling, and Monitoring project planning parameters such as Schedule, effort, task, risks, issues, constraints, commitments, etc.
Escalating critical issues Overall execution of the project Participate in identifying alternate solutions and selecting best solutions using DAR form as per the project plan Coordinate and ensure CM activities are performed in the project Conduct CM audit as per CM plan Participate in SQA Audits as an Auditee to provide process compliance status to SQA/Auditor Gather, understand and analyze client requirements, Review BRS, SRS, detailed design & other technical artifacts Test Plan Prepare project status reports on a periodic basis (as per project schedule) Plan for project measurement by referring to organizational measurement guidelines and track the actual values of matrices against the plan. Identify corrective/preventive actions as necessary and track them to closure PL - Perform code reviews and update RTM as required |
Developer/Development team | Maintain timesheet regularly Understand the project scope and requirements Participate in project review meetings Raise issues to TL / PL Prepare unit test cases/Code Source code management in SVN/ Code Reviews Perform unit testing, integration & system testing Defect Fixing & Analysis Prepare release notes and manage changes Participate in audits Participate in DAR meetings. |
Configuration Controller | Create project repository in the version control system, like SVN, GIT, etc. Create a backup of Configuration Items Help to ensure correct creation of work products from the Configuration Library Allow usage of the documents by giving access rights to different folders to relevant Stakeholders Participate in CM audit and track all reported observations to closure |
Tester/Test Team | Prepare test plan Obtain approval on the test plan from PM Prepare system test cases Obtain approval on system test cases Execute test cases and record defects in JIRA Maintain test results & test completion report Testing sign off |
HR Team | Providing soft skills training Resource recruitment |
Network Team | Providing Hardware and Software to the team Facilitate the procurement of hardware and software for the project team |
Defining the stakeholders' involvement:
Based on the identified project activities, the involvement of every project participant/stakeholder in every phase of the project is planned. The action items and desired output of every project activity are determined, along with the responsible stakeholder in every phase of the project.
Phase | Action item | Stakeholder | Output |
---|---|---|---|
Project startup/initiation | To allocate the hardware and software resources To arrange the required training |
Network Training Function |
Email Training Request Form |
Project Planning | To Prepare the project plan which include the Configuration Management plan, Risk Management plan and Quality Management Plan To Prepare the Effort Estimation To Prepare the schedule and re-estimate the effort as per the current requirements of client To review the Project plan, estimation To prepare Test Plan |
PL PM SQA QA Lead |
Project Plan Doc Estimation Sheet Project Schedule Project Plan Review Checklist, Defect List Test Plan |
Requirement Analysis | To prepare Business Requirement Specifications and system requirements and define the scope of project To review the system requirements To prepare the requirement traceability matrix |
PL PM Client Team members |
SRS BRS RTM |
Design | To define the system architecture, Detailed design To review the Architecture and Detail Design document To update the RTM |
PL PM |
Architecture and Detailed Design document Requirements Traceability Matrix |
Development and Unit testing | Application Programming Code Review |
PL Team member |
Source Code Code Review document |
System Testing | Execute System test Cases Log Defects | QA Team | System Tested Product Defect List |
Delivery | Prepare and share Release Notes | PL | Release notes Delivery Notes Build |
Defining the escalation mechanism
An escalation mechanism is a formulation of strategies to triage varied categories of issues and describes the time intervals (in days/hrs) depending on project SOW/ customer agreement, at which the escalation should be done to the next level hierarchy.
Defining a communication plan
A communication plan includes the approach and processes to circulate relevant information to different resources and stakeholders across the project hierarchy. It is the formulation of planning processes to define what information should be shared with which resource. The medium has to be defined through which the information can be shared for instance emails, presentations, reports, MOM, etc. An appropriate communication strategy and planning eases the project development phase and provides clarity, visibility, and transparency to the team in terms of project status, future scope, and current condition.