PROJECT MANAGEMENT CONCEPTS
The Management Spectrum The key concept behind the an effective software engineering process is the management spectrum. Effective software project management focuses on four P’s. The People The Product The Process The Project
The People 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. Recruitment, selection, performance management, training, compensation, career development, organization and work design, team development.
The People The software process is populated by players who can be categorized into one of the five constituencies. Senior Managers Project Managers Practitioners Customers End-users
The People Team Leaders must have the capability for motivation, organization, to extract ideas or innovation, problem solving, etc. Also they need managerial identity, achievement, influence and team building Project Team Democratic Decentralized team (DD) Controlled Decentralized team (CD) Controlled Centralized team (CC)
Project Team Democratic Decentralized team (DD) No permanent leader. Decisions are made by group consensus Controlled Decentralized team (CD) The team has a defined team leader who coordinates the activities. Controlled Centralized team (CC) Top-level problem solving and internal team coordination are managed by a team leader. Communication is vertical.
The Product Before a project can be planned, product objectives and scope should be established and alternative solutions should be considered and technical management constrains should be identified. The software developer and customer must meet to define product objectives and scope. Once the product objectives and scope are understood, alternative solutions are considered.
The Process A software process provides the framework from which a comprehensive plan for software development can be established. The project The activity through which the software builds.
W5HH Principle Why is the system being developed? What will be done, by when? Who is responsible for a function? Where are they organizationally located? How will the job be done technically and managerially? How much of each resource is needed?
The Software Process Model The Problem Solving loop Problem definition Solution Integration Technical Development Statuesquo
The Linear Sequential Model AnalysisDesign CodeTest System Information Engineering
Waterfall Model
What is Prototyping? A definition A definition A prototype is a partial implementation of a system, constructed primarily to enable customer, end-user, or developer to learn about the problem and/or its solution. Types: Types: EvolutionaryEvolutionary throw-awaythrow-away
Evolutionary Prototyping Model Requirements specification Some initial development Prototype version 1 Some more development Prototype version 2 etc. Continue till prototype is matured
Decision Throwaway Prototyping Model Requirements specification Some minimal development The prototype Discard prototype not acceptableacceptable Go on with normal system development
The RAD ( Rapid Application Development ) Model