Software Project Management
Building computer software is a complex undertaking task, which particularly involves many people working over a relatively long time. That’s why software projects need to be managed. Software project management is the first layer of the software engineering process. It starts before the technical work starts and continues as the software evolves from the conceptual stage to the implementation stage. It is a crucial activity because the success and failure of the software is directly depend on it.
Software project management is needed because professional software engineering is always subject to budget constraints, schedule constraints, and quality-oriented focus.
Project management involves the planning, monitoring, and control of the people, process, and events that occur as software evolves from a preliminary concept to an operational implementation. Software project management is an umbrella activity within software engineering. It begins before any technical activity is initiated and continues throughout the definition, development, and support of computer software. The project management activity encompasses measurements and metrics estimation, risk analysis, schedules, tracking, and control.
Effective software project management focuses on the four P’s: people, product, process, and project The order is not arbitrary. The manager who forgets that software engineering work is an intensely human endeavor will never have success in project management. A manager who fails to encourage comprehensive customer communication early in the evolution of project risks building an elegant solution for the wrong problem. The manager who pays little attention to the process runs the risk of inserting competent technical methods and tools.
1. The People
1. The “people factor” is so important that the Software Engineering Institute has developed a people management capability maturity model (PM-CMM).
2. To enhance the readiness of software organizations to undertake increasingly complex applications by helping to attract, grow, motivate, deploy, and retain the talent needed to improve their software development capability.
3. The PM-CMM is a companion to the software capability maturity model that guides organizations in the creation of a mature software process.
4. The PMCMM defines the following areas for software people.
- a. Recruiting
- c. Performance Management
- d. Training
- b. Selection
- e. Career Development
- f. Team Culture Development
2. The Product
Before a project can be planned,
a) Product objectives and scope should be established.”
b) Alternative solutions should be considered.
c) Technical and management constraints should be identified.
d) The software developer and customer must meet to define product objectives and scope.
e) Objectives identify the overall goals for the product (from the customer’s point of view) without considering how these goals will be achieved.
f) Scope identifies the primary data, functions, and behaviors that characterize the product, and more important attempts to bind these characteristics in a quantitative manner.
3. The Process
a) A software process provides the framework from which a comprehensive plan for software development can be established.
b) A small number of framework activities are applicable to all software projects, regardless of their size or complexity.
c) A number of different tasks set tasks, milestones, work products, and quality assurance points enable the framework activities to be adapted to the characteristics of the software project and the requirements of the project team.
d) Umbrella activities such as software quality assurance, software configuration management, and measurement overlay the process model.
4. The Project
a) We conduct planned and controlled software projects for one primary reason it is the only known way to manage complexity.
b) The overall development cycle is called a Project.
c) In order to avoid project failure, a software project manager and the software engineers who build the product must avoid a set o common warning signs, understand the critical success factors that lead to good project management, and develop a commonsense approach for planning, monitoring and controlling the project.