Submitted To:Submitted By:-
Anshu Parashar Shalini(1706202)
Sonakshi(1706205 )
INTRODUCTION
TYPES
LIFECYCLE
SOFTWARE PROCESS WORKFLOW
ITERATION WORKFLOW
A workflow is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms.
The flow being described often refers to a document that is being transferred from one step to another.
Workflow is divided according to level of complexity, flexibility, purpose, and structure. Most industry analysts maintain that there are three types:
Production Workflow
Administrative Workflow
Ad Hoc Workflow
The Workflow Lifecycle (WFLC) defines both the way
in which the different activities involved in the development and use of WF.
It comprises three main processes:
Construction and stabilization
Debugging
Business process reengineering
S/w process workflow is used to mean a thread of cohesive and mostly sequential activities.
S/w process workflow are mapped to the product artifacts and to project teams.
Different for different software Economics model
Seven top level workflows
Controlling the process and ensuring win conditions for all stakeholders
Artifacts :-
Business case
S/w development plan
Status assessment
Vision
Work breakdown Structure
Automating the process and evolving the maintenance environment
Artifacts:-
Environment
S/w change order database
Analyzing the problem space and evolving the requirements artifacts
Artifacts :-
Release Specifications
Requirement set
Vision
Modeling the solution and evolving the architecture and design artifacts
Artifacts:-
Design
Architecture Description
Programming the components and evolving the implementation and deployment artifacts
Artifacts:-
Implementation set
Deployment set
Assessing the trends in the process and product quality.
Artifacts:-
Release specifications
Release description
User manual
Deployment set
Transitioning the end product to the user
Artifacts:-
Deployment set
Iteration is valuable because it keeps
contact between projects and objective but
raises issues like:
How many iterations should be planned?
How long should each iteration last?
What are the aims, objectives and
deliverables of each iteration?
How should an iteration be monitored
Iteration plans usually include:- the current plan that is being used to manage the current iteration.
- Each iteration includes: Requirements,analysis and design, implementation, deployment, test, and evaluation. so milestones for each activity should be established and decomposition of larger tasks into sub-tasks
-In addition, there should be at least a plan under development for the next iteration and possibly some scheduling of particular tasks into later iterations.
Iteration Strategies – How to decide what to examine first
There are 2 strategies :
#1 Wide and Shallow –
Analyze entire problem domain at a high level.
Define all requirements and flesh out most.
Define key services and mechanisms provided by the architecture
Define interfaces but detail only if risky
Little implemented until Construction
Use wide and shallow when:
The team is inexperienced in problem domain or technology
Architecture is new and future capabilities will depend on it
Pitfalls:
Analysis paralysis
Real architectural risks not identified
Postponing executable releases may impact team confidence
Narrow and Deep – Analyze a slice of the problem thoroughly
Define use cases in great detail
Define the supporting architecture
Design and implement this slice of the system
Subsequent iterations address designing and implementing other vertical slices
Use narrow and deep when:
Early results are needed to overcome a dominant risk or gather support
Requirements are continuously evolving
A deadline is mandatory requiring an early start on development
A high degree of re-use is possible which helps enable incremental delivery
Pitfalls:
Stovepipe development difficult to integrate horizontally
Not applicable for totally new development which needs a broad perspective to achieve a balanced architecture
Project Planning Is a Project
Management Responsibility
Do the project in chunks (iterations) to:
Mitigate risk
Accommodate change
Learn along the way
Improve quality
Increase reuse