SPPM
UNIT – 3
1. Software Process Workflows
A software process workflow is a cohesive sequence of related engineering and
management activities that together contribute to producing specific artifacts or achieving
specific project objectives. In modern iterative development models, workflows run across
all phases, but with different emphasis depending on the life cycle stage.
Workflows provide structure, visibility, and traceability to the entire development effort.
They ensure that every activity—requirements analysis, design, implementation, testing, and
deployment—is performed in a disciplined and synchronized manner.
Modern process frameworks define seven top-level workflows:
1. Management Workflow
This workflow focuses on planning, organizing, controlling, monitoring, and
communicating throughout the development process.
Key responsibilities include:
• Project planning
• Risk management
• Staffing allocation
• Metrics tracking
• Milestones and checkpoints
The goal is to ensure that all stakeholders’ win conditions are met.
2. Environment Workflow
This workflow establishes and maintains the development environment, including:
• Tools for modeling, testing, building, version control
• Automation of the change order (SCO) database
• Installation of toolchains
• Integration of development frameworks
It ensures smooth engineering execution.
3. Requirements Workflow
This workflow is responsible for understanding the problem space and developing consistent
requirements artifacts.
Activities include:
• Analyzing user needs
• Developing use-case models
• Defining evaluation criteria
• Prioritizing usage scenarios
• Managing requirement changes
The outcome is a stable requirements baseline.
4. Design Workflow
This workflow models the solution space, producing architecture and design artifacts.
Activities:
• Architecture modeling
• Interface definitions
• Component design
• Analysis of non-functional requirements
• Design trade-offs
Its focus is to evolve the architecture into an implementation-ready structure.
5. Implementation Workflow
This workflow handles coding and component development.
Activities:
• Developing new components
• Integrating existing ones
• Performing unit tests
• Building executables
• Preparing deployment packages
It results in executable baselines for each iteration.
6. Assessment Workflow
Responsible for quality assurance through:
• Testing
• Verification and validation
• Metrics analysis
• Review of deliverables
This workflow measures accuracy, completeness, and consistency of work products.
7. Deployment Workflow
Handles the transition of software to:
• Users
• Customer sites
• IV&V agencies
• Support organizations
Activities include deployment planning, documentation, user training, and packaging.
Importance
Workflows provide structured activity distribution across phases and support iterative
development by enabling incremental progress and continuous quality measurement.
Conclusion
Software workflows ensure that the entire engineering and management effort proceeds in a
synchronized, controlled, and measurable manner — forming the foundation of successful
iterative development.
2. Iteration Workflows
An iteration is a mini-project conducted within a phase, producing a demonstrable release of
the system. Each iteration contains a balanced mixture of all workflows, but in different
proportions, depending on where the iteration occurs in the life cycle.
Iteration workflows define the detailed sequence of activities performed during a single
iteration.
Activities in an Iteration Workflow
The common sequence within any iteration includes:
1. Management Activities
• Iteration planning
• Allocation of tasks
• Release specification preparation
• Risk analysis
These activities define the content and goals of the iteration.
2. Environment Activities
• Update SCO database
• Baseline changes
• Maintain automated tools
• Ensure that artifacts are under configuration control
This ensures environment stability across iterations.
3. Requirements Activities
• Elaborating use cases
• Updating requirements based on results
• Preparing evaluation criteria
Early iterations emphasize requirement clarification.
4. Design Activities
• Evolving architecture
• Updating design models
• Preparing test models
• Refining component interfaces
Elaboration iterations focus heavily on this workflow.
5. Implementation Activities
• Coding new components
• Enhancing existing modules
• Integrating components
• Running unit and integration tests
Construction iterations emphasize implementation.
6. Assessment Activities
• Verification against evaluation criteria
• Review of test results
• Identifying rework
• Quality trending
Assessment determines the readiness of iteration deliverables.
7. Deployment Activities
• Delivering iteration results
• Conducting post-mortems
• Updating lessons learned
Transition-phase iterations emphasize deployment.
Iteration Focus Across Phases
Phase Primary Activities
Inception Management, Requirements, Architecture prototypes
Elaboration Requirements refinement, Architecture baseline
Construction Implementation, Testing
Phase Primary Activities
Transition Deployment, Acceptance tests
Difference between Iterations and Increments
• Iteration = complete cycle (management + engineering + testing + deployment)
• Increment = partial growth in product capability
Each increment contributes to the next iteration, but iterations include global assessments.
Conclusion
Iteration workflows enable progressive refinement of architecture, requirements, and
implementation, ensuring continuous evolution and early detection of defects.
3. Major Milestones
Major milestones are critical life-cycle review events conducted at the end of each phase.
They synchronize management and engineering views and provide stakeholder confidence.
There are four major milestones:
1. Life-Cycle Objectives (LCO) Milestone
Occurs at: end of Inception phase
Purpose:
• Validate vision
• Determine feasibility
• Confirm business case
• Approve preliminary plan and cost
• Authorize Elaboration phase
Artifacts reviewed:
• Vision document
• Business case
• Risk assessment
• Initial use cases
2. Life-Cycle Architecture (LCA) Milestone
Occurs at: end of Elaboration phase
Purpose:
• Assess the baseline architecture
• Review executable architectural prototypes
• Evaluate architecture for completeness, consistency
• Obtain approval for Construction phase
Artifacts reviewed:
• Architecture Description
• Design artifacts
• Architectural test scenarios
• Trade-off analyses
3. Initial Operational Capability (IOC) Milestone
Occurs: late in Construction phase
Purpose:
• Determine readiness for deployment
• Approve start of acceptance testing
• Validate alpha and beta releases
Artifacts reviewed:
• User documentation
• Test results
• Integration status
4. Product Release Milestone
Occurs at: end of Transition phase
Purpose:
• Assess completion of the software
• Review acceptance test results
• Handover to support organizations
• Address open issues
It marks the official release of the product.
Conclusion
Major milestones act as formal decision points where stakeholder concurrence is ensured,
thus reducing risks and improving project visibility.
4. Minor Milestones
Minor milestones occur within each iteration and are less formal than major milestones.
There are two primary minor milestones:
1. Iteration Readiness Review (IRR)
Conducted at the beginning of an iteration to check:
• Work allocation
• Evaluation criteria
• Updated iteration plan
• Resource availability
• Risk management plan
It ensures that the iteration begins with clarity.
2. Iteration Assessment Review (IAR)
Conducted at the end of an iteration, it evaluates:
• Achievement of iteration objectives
• Results of testing
• Defects and rework
• Impact on the next iteration
• Updated schedules
It provides closure and feedback before starting the next iteration.
Conclusion
Minor milestones maintain iteration-level visibility, adjust plans, and ensure continuous
process control.
5. Periodic Status Assessments
Periodic status assessments are regular review meetings held monthly or quarterly to
provide ongoing insight into project progress.
Purpose
• Detect issues early
• Maintain communication among stakeholders
• Review metrics (cost, schedule, quality)
• Track progress against baselines
• Promote transparency and consistency
Key Features
• Objectivity (based on real project data)
• Trend analysis (progress, quality, risk)
• Open communication forum
• Peer review from outside stakeholders
Default Content
• Status of workflows
• Risk metrics
• Quality indicators
• Budget and cost variance
• Staffing and productivity
• Changes in requirements
• Release trends
Conclusion
Periodic status assessments keep the project under continuous observation and help maintain
alignment with goals.
6. Work Breakdown Structures (WBS)
A Work Breakdown Structure (WBS) is a hierarchical decomposition of the entire project
into manageable components.
Conventional WBS Issues
Conventional WBS often has three major flaws:
1. Premature structuring around product architecture
2. Too much or too little detail
3. Project-specific structure which prevents cross-project comparison
These problems reduce flexibility and increase planning risk.
Evolutionary WBS
An evolutionary WBS aligns with phases, workflows, and artifacts, not product structure.
Structure:
1. Level 1 → Workflows
o Management, Environment, Requirements, Design, Implementation,
Assessment, Deployment
2. Level 2 → Life Cycle Phases
o Inception, Elaboration, Construction, Transition
3. Level 3 → Artifact-specific activities
This structure offers:
• Better visibility
• Easier tracking
• Cross-project consistency
• Separation of engineering and planning concerns
Conclusion
Evolutionary WBS improves planning reliability and supports iterative development by
focusing on process rather than prematurely defined products.
6. Planning Guidelines
Effective planning ensures predictable and controlled software development.
Key Guidelines
1. Plan for Iterations, Not Phases
• Each iteration is a mini project.
• Helps achieve early results.
2. Use Risk-Driven Planning
• High-risk scenarios addressed first.
• Reduces future uncertainty.
3. Divide Work into Manageable Chunks
• Each chunk should produce measurable outputs.
4. Use Appropriate Metrics
• Size metrics (function points)
• Cost metrics
• Quality metrics
5. Include Stakeholders in Planning
• Ensures understanding and agreement.
6. Establish Clear Responsibilities
• RACI model helps avoid confusion.
7. Time-boxing & Prioritization
• Prevents schedule inflation.
• Helps focus on important features.
Outcome
A realistic and flexible plan aligned to project goals.
7. Cost & Schedule Estimating Process
Estimating cost and schedule is essential to determine feasibility and resource requirements.
Estimation Methods
1. Size Estimation
• SLOC
• Function Point Analysis
2. Effort Estimation
• COCOMO II
• Expert judgment
• Analogy-based
3. Cost Estimation
Includes:
• Labor cost
• Tools & hardware
• Overheads
4. Schedule Estimation
• Gantt charts
• PERT charts
• Milestone schedules
Steps in Estimation Process
1. Define scope
2. Estimate size
3. Estimate effort
4. Assign resources
5. Estimate schedule
6. Prepare project budget
Importance
• Reduces cost overruns.
• Helps allocate resources.
• Enables better decision-making.
8. Iteration Planning Process
Iteration planning determines what work will be completed in the next iteration.
Steps in Iteration Planning
1. Review Project Goals
• Life-cycle objectives
• Architecture baseline
2. Identify Candidate Requirements
• Use cases
• Scenarios
• Supplementary requirements
3. Evaluate Risks
• High-risk items selected first.
4. Estimate Tasks
• Size & effort estimation.
5. Assign Responsibilities
• Based on skills & availability.
6. Prepare Iteration Plan
• Tasks
• Schedule
• Milestones
7. Review & Approve
• Stakeholders approve via planning meetings.
Output
• Detailed iteration plan.
• Updated risk list.
• Prioritized requirements.
9. Pragmatic Planning
Pragmatic planning focuses on practical, realistic, and experience-based planning, not
perfect theoretical plans.
Principles of Pragmatic Planning
1. Plans Must Be Adjustable
• Changing requirements → plan must adapt.
2. Avoid Over-planning
• Plans should be detailed enough, not overly complicated.
3. Build Buffer Time
• Supports unexpected delays.
4. Use Experience-Based Estimation
• Use past project data.
5. Prioritize Value-Added Work
• Focus on high-value features first.
6. Regular Re-planning
• Plans revised after each iteration.
Benefits
• Practical execution.
• Higher project success rate.
• Lower risk of schedule slippage.