Unit: 2
1. Management Spectrum
The Management Spectrum in software engineering defines the broad areas a project manager must control to
ensure project success. It provides a holistic view of managing software projects effectively.
Key Elements of Management Spectrum
1. People
2. Product
3. Process
4. Project
A balance among these four elements is essential. Weakness in any one area can lead to project failure.
2. People – Product – Process – Project
2.1 People
People are the most critical factor in software development.
Includes developers, testers, managers, and stakeholders
Skills, motivation, communication, and teamwork directly affect project success
Poor people management often leads to delays and quality issues
Example:
A highly skilled team with poor communication may fail to meet deadlines despite technical expertise.
Capability Maturity Model (CMM)
Introduction
The Capability Maturity Model (CMM) is a framework developed by the Software Engineering Institute
(SEI), Carnegie Mellon University.
It is used to assess and improve the software development process of an organization.
CMM helps organizations understand:
How mature their software processes are
How well they can manage, develop, and maintain software
How consistently they can deliver quality software
Objectives of CMM
Improve software quality
Increase predictability of project outcomes
Reduce development risks
Establish disciplined and repeatable processes
Enable continuous process improvement
Maturity Levels in CMM
CMM defines five maturity levels, each representing a stage of process improvement
Level 1: Initial
Characteristics
Processes are ad hoc and chaotic
Success depends on individual effort and heroics
No formal project planning or tracking
Cost and schedule overruns are common
Key Points
No standard processes
Unpredictable results
Reactive problem handling
Example:
A project succeeds only because a few experienced developers work extra hours.
Level 2: Repeatable
Characteristics
Basic project management practices are established
Past project experiences are used to plan new projects
Requirements and changes are managed
Key Process Areas (KPAs)
Requirements management
Project planning
Project tracking and oversight
Configuration management
Quality assurance
Key Points
Processes are repeatable for similar projects
Cost, schedule, and functionality are tracked
Example:
A company follows similar schedules and effort estimates for projects of the same type.
Level 3: Defined
Characteristics
Organization-wide standard processes are documented
Processes are well understood and consistently followed
Training programs exist for staff
Key Process Areas
Organizational process definition
Training programs
Integrated software management
Peer reviews
Key Points
Processes are defined and standardized
Proactive approach to development
Example:
All teams follow a common development methodology and documentation standards.
Level 4: Managed
Characteristics
Processes are measured and controlled
Quantitative quality goals are set
Performance metrics are used for decision making
Key Process Areas
Quantitative process management
Software quality management
Key Points
Data-driven management
Predictable quality and productivity
Example:
Defect rates and productivity metrics are analyzed to control project quality.
Level 5: Optimizing
Characteristics
Focus on continuous process improvement
Innovative technologies and best practices are adopted
Root cause analysis is used to prevent defects
Key Process Areas
Defect prevention
Technology change management
Process change management
Key Points
Continuous improvement culture
Emphasis on prevention rather than correction
Example:
Lessons learned from projects are used to improve processes organization-wide.
Advantages of CMM
Improves software quality
Reduces rework and project failures
Enhances customer satisfaction
Improves team discipline and coordination
Provides a roadmap for process improvement
Limitations of CMM
Requires time and cost to implement
Documentation overhead
Less flexible for small or very dynamic projects
CMM vs CMMI (Brief Note)
CMM focuses only on software processes
CMMI (Capability Maturity Model Integration) integrates software, systems, and product
development
2.2 Product
Product defines what is being built.
Software requirements and features
Functional and non-functional requirements
Product scope and constraints
Clear understanding of the product helps avoid scope creep and rework.
Example:
If customer requirements are unclear, developers may build incorrect features.
2.3 Process
Process describes how the product is built.
Development models (Waterfall, Agile, Spiral)
Coding standards, testing procedures
Documentation and review mechanisms
A well-defined process ensures consistency and quality.
2.4 Project
Project focuses on planning, tracking, and control.
Time, cost, and resource management
Risk handling and progress monitoring
Delivery within constraints
Effective project management ensures objectives are achieved efficiently.
3. W5HH Principle
The W5HH Principle is a questioning framework used for effective project planning and control.
W5HH Questions
1. Why is the system being developed?
– Defines business purpose and justification.
2. What will be done?
– Identifies tasks, deliverables, and objectives.
3. When will it be done?
– Establishes schedule and milestones.
4. Who is responsible?
– Assigns roles and responsibilities.
5. Where are they located?
– Addresses geographical or organizational constraints.
6. How will the work be done?
– Defines technical and managerial approach.
7. How much effort and cost are required?
– Estimates budget and resources.
Importance:
Helps in clarity, accountability, and realistic planning.
4. Importance of Team Management
Team management ensures that individuals work together efficiently to achieve project goals.
Key Reasons for Team Management
Improves collaboration and communication
Enhances productivity and morale
Reduces conflicts and misunderstandings
Encourages knowledge sharing
Example:
Regular team meetings help identify issues early and keep everyone aligned.
5. Planning a Software Project
Software project planning is the foundation of successful project execution.
6. Scope and Feasibility
6.1 Project Scope
Defines boundaries of the project.
What is included and excluded
Features, deliverables, constraints
Prevents scope creep
6.2 Feasibility Study
Evaluates whether the project is viable.
Types of feasibility:
Technical feasibility – Technology availability
Economic feasibility – Cost vs benefits
Operational feasibility – User acceptance
Schedule feasibility – Time constraints
7. Effort Estimation
Effort estimation predicts the amount of work required.
Common Estimation Techniques
Expert judgment
Analogous estimation
Function point analysis
COCOMO model
Accurate estimation helps in budgeting and scheduling.
8. Schedule and Staffing
Scheduling
Break project into tasks
Define start and end dates
Identify dependencies
Tools used:
Gantt charts
PERT charts
Staffing
Assign right people with right skills
Balance workload
Avoid overstaffing or understaffing
9. Quality Planning
Quality planning ensures the software meets customer expectations.
Key Activities
Define quality standards
Select testing strategies
Review and inspection plans
Goal:
Deliver reliable, maintainable, and defect-free software.
10. Risk Management
Risk management identifies and minimizes potential problems.
10.1 Risk Identification
Recognizing possible risks such as:
Technical risks
Schedule risks
Cost risks
Human resource risks
10.2 Risk Assessment
Analyzing:
Probability of risk occurrence
Impact on project
Risks are prioritized based on severity.
10.3 Risk Control
Risk mitigation strategies
Contingency planning
Continuous monitoring
Example:
Backup resources planned for key team members.
11. Project Monitoring Plan
Monitoring ensures the project stays on track.
Activities
Track progress against plan
Monitor cost, effort, and schedule
Identify deviations early
Take corrective actions
Regular status reports and reviews are essential.
12. Detailed Scheduling
Detailed scheduling breaks the project into small, manageable tasks.
Task dependencies
Resource allocation
Milestones and deadlines
Benefits:
Better control
Improved visibility
Timely completion