0% found this document useful (0 votes)
23 views15 pages

Software Process Workflows Explained

The document outlines software process workflows, detailing seven top-level workflows essential for structured software development, including management, environment, requirements, design, implementation, assessment, and deployment workflows. It emphasizes the importance of iteration workflows, major and minor milestones, periodic status assessments, and effective planning guidelines to ensure project success and continuous quality measurement. Additionally, it discusses cost and schedule estimating processes, iteration planning, and pragmatic planning principles to enhance project management and execution.

Uploaded by

psrikruthi89
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views15 pages

Software Process Workflows Explained

The document outlines software process workflows, detailing seven top-level workflows essential for structured software development, including management, environment, requirements, design, implementation, assessment, and deployment workflows. It emphasizes the importance of iteration workflows, major and minor milestones, periodic status assessments, and effective planning guidelines to ensure project success and continuous quality measurement. Additionally, it discusses cost and schedule estimating processes, iteration planning, and pragmatic planning principles to enhance project management and execution.

Uploaded by

psrikruthi89
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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.

Common questions

Powered by AI

Major milestones act as critical lifecycle review events that synchronize management and engineering perspectives, ensuring stakeholder confidence is maintained. The primary purposes include validating project visions and business cases, assessing baseline architectures, determining readiness for deployment, and marking the official product release. They address open issues and ensure stakeholder concurrence, thereby significantly reducing risks and improving project visibility .

Minor milestones, such as Iteration Readiness Review (IRR) and Iteration Assessment Review (IAR), contribute by ensuring each iteration begins with an updated plan and available resources while ends with an evaluation of achievements, testing results, and defect identification. This periodic evaluation and readiness check maintain control, adjust plans, and ensure visibility in iteration-level processes .

Iteration planning is crucial as it determines the work to be completed in the next iteration, ensuring alignment with project goals and readiness to handle risks. Main steps include reviewing project goals, identifying candidate requirements, evaluating risks, estimating tasks, assigning responsibilities, preparing the iteration plan, and obtaining stakeholder approval through planning meetings .

Including stakeholders in the planning process is important as it ensures their understanding and agreement on project objectives and methodologies, yielding a transparent planning process. This involvement helps align stakeholder expectations with project deliverables, facilitates consensus, and supports clarification of project priorities, ultimately improving cooperation and reducing misunderstandings .

Modern software process workflows ensure synchronization and discipline by structuring all development activities across various phases, emphasizing different workflows as needed at each life cycle stage. This includes requirements analysis, design, implementation, testing, and deployment all being performed in a synchronized manner. These workflows provide clear structure, visibility, and traceability, which are key to maintaining a disciplined approach to development .

Pragmatic planning improves project execution by focusing on practical, realistic planning. Some principles include ensuring plans are adjustable to changing requirements, avoiding over-planning, building buffer time for unexpected delays, using past project data for estimation, prioritizing high-value work, and regularly re-planning after each iteration. This approach promotes flexible and realistic execution, contributing to a higher success rate and lower risk of schedule slippage .

Risk-driven planning plays a crucial role by addressing high-risk scenarios first, thereby reducing future uncertainties and improving project predictability. It ensures that potential issues are anticipated and mitigated in earlier stages, leading to reduced cost overruns and enabling better resource and effort allocation .

Conventional WBS often suffer from premature structuring around product architecture, inappropriate detail levels, and project-specific structures hindering cross-project comparisons. An evolutionary WBS tackles these issues by aligning with workflows, life cycle phases, and artifacts instead of product structure. This approach offers better visibility, tracking, consistency across projects, and separates engineering from planning concerns .

Effective methods for estimating software project cost and schedule include Size Estimation using SLOC or Function Point Analysis, Effort Estimation with models like COCOMO II or expert judgment, Cost Estimation covering labor, tools, and overhead, and Schedule Estimation using Gantt or PERT charts. These estimations are crucial as they reduce cost overruns, facilitate accurate resource allocation, and aid in making informed project management decisions .

An iteration is a complete cycle encompassing management, engineering, testing, and deployment activities, producing a demonstrable release of the system. In contrast, an increment represents partial growth in product capability through the addition of features. This distinction is important as it clarifies that while each increment adds to product capability, an iteration includes comprehensive assessments ensuring the system's evolution and quality improvements .

You might also like