Description
Project Management Model & Agile Methodology
Project Management Models and Agile Methodology
.
Project Life Cycle
Project Life Cycle Sequential Model
Planning Definition Design Implementation Integration System Test Operation
Phased (Waterfall) Model
Planning Definition Design Implementation Integration Time System Test
Shortened Interval
Earlier Time-to-Market
Operation
V-Process Model
• The V-model consists of a number of phases. • Verification Phases are on the left hand side of the V, • Coding Phase is at the bottom of the V • Validation Phases are on the right hand side of the V.
RUP or Iterative
• RUP is based on a set of building blocks, or content elements, describing what are to be produced, the necessary skills required and the step-by-step explanation describing how specific development goals are achieved. The main building blocks, or content elements, are the following: • Roles (who) – A Role defines a set of related skills, competences, and responsibilities. • Work Products (what) – A Work Product represents something resulting from a task, including all the documents and models produced while working through the process. • Tasks (how) – A Task describes a unit of work assigned to a Role that provides a meaningful result. • Within each iteration, the tasks are categorized into nine disciplines: six "engineering disciplines" (Business Modeling, Requirements, Analysis and Design, Implementation, Test, Deployment) and three supporting disciplines (Configuration and Change Management, Project Management, Environment).
RUP or Iterative
Minding the Gap Between Vision and Execution
6
Traditional Execution - Factors Impacting Failed Projects
Poor User Input 13% Incomplete Requirements 12%
Other 50%
Changing Requirements 12% Poor Staffing 6% Poor Technical Skills 7%
37% of Factors are Requirements Related
Craig Larman, Agile and Iterative Development: A Manager’s Guide, Addison Wesley Professional (2004)
7
Traditional Execution – Actual Use of Requested Features
Always 7%
Often 13%
Never 45%
Sometimes 16% Rarely 19%
Craig Larman, Agile and Iterative Development: A Manager’s Guide, Addison Wesley Professional (2004)
8
Agile Planning
• This technique is an iterative and feature-based approach to project planning • Agile planning is feature-based, iterative, owned by the team, and uses different levels of detail. • These characteristics provide teams an opportunity to get rapid feedback on their designs and processes, apply learning from past experiences quickly, and keep their project plans simple, but effective.
Agile Planning
• Provides project teams with a means to produce features in a short amount of time in order to gain useful feedback from users, customers, and stakeholders. • It also allows teams to defer decisions on detailed requirements until the feature is being developed, allowing them to apply the most current and accurate information possible. • This approach works when the team has decided to follow an iterative and incremental project approach and is most useful in situations where the product of the project can be delivered in small increments
Agile Basics - Key Principles
Focus on customer value :
Employ business-driven prioritization of features.
What is Customer Value? The right product for the right price at the right time:
The right product is the product with exactly the features that the customer wants.
The right price is the price that customer believes is a fair deal. The right time is when the customer wants it.
Iterative & Incremental Delivery :
Create a flow of value by “chunking” feature delivery into small increments.
Intense Collaboration :
Face-to-face communication via collocation, etc; diversified roles on integrated teams.
Self Organization :
Team members self-organize to fulfill a shared project vision.
Continuous Improvement :
Teams reflect, learn and adapt to change; work informs the plan.
Agile Basics - Key Principles
Focus on customer value :
Employ business-driven prioritization of features.
What is Customer Value? The right product for the right price at the right time:
The right product is the product with exactly the features that the customer wants.
The right price is the price that customer believes is a fair deal. The right time is when the customer wants it.
Iterative & Incremental Delivery :
Create a flow of value by “chunking” feature delivery into small increments.
Intense Collaboration :
Face-to-face communication via collocation, etc; diversified roles on integrated teams.
Self Organization :
Team members self-organize to fulfill a shared project vision.
Continuous Improvement :
Teams reflect, learn and adapt to change; work informs the plan.
Popular Agile Strategies
Strengths
XP
?
Weaknesses
?
Most widely known and adopted approach
Business ownership of feature priority, developer ownership of estimates
Documentation primarily through verbal communication
Difficult to accommodate architectural or design concerns
?
?
?
“Pair Programming” increases knowledge transfer
Solution definition led by selfdirected development teams Priorities based on business value
?
Scrum
?
Terminology and practices oriented towards technical teams Little business control over managing and prioritizing features – difficult to scope Full implementation requires modeldriven approach Takes time to adjust to “feature” modeling
13
?
?
FDD
?
Solution definition and features owned by the business All aspects of project tracked by feature – improved control, management, and scoping
?
?
?
Face to Face Communication
• • • • • • • • • Agile promotes face-to-face communication Logistically problematic Not cost-effective Ambassador exchange program People that know each other well communicate better when they are apart Bring the team to onsite training on project launch Send the product owner to the offshore location once a quarter Bring the scrum master on major deliveries to the customer Locate the team in similar time zone
Team Structure – Distributed Scrum
Scrum Basics - Key Practices
Key Scrum practices include:
•Release Planning
(creates Product backlog)
•Sprint Planning
(creates Sprint backlog)
•Daily Scrum Meeting
•Fixed-length sprints •Feature Review Identify the top-priority items and deliver them early and often.
SCRUM Challenge
• Scrum promotes Scrum… • Offshore best practice –have as simple onsiteoffshore interfaces as possible • Distributed Agile best practices: • In planning game –everyone participates • In standup meetings –only the offshore Scrum Master • Scrum Muster does assume some of the traditional team leader roles • Product owner “hides” the rest of the stake holders or SMEs in the day-to-day
SPRINT Length
• • • • • Agile promotes the use of 2-4 weeks sprints Distributed Agile best practice: use 2 weeks sprints If possible –even single week iterations! Fail fast strategy –detecting an offshore mistake cost more… Offshore Agile team feels more convenient this way as it gets better understanding and sense of the customer and its needs
User Stories
• A concise, written description of a piece of functionality that will be valuable to a user (or owner) of the software
• Card - A written description of the user story for planning purposes and as a reminder
• Conversation - A section for capturing further information about the user story and details of any conversations
• Confirmation - A section to convey what tests will be carried out to confirm the user story is complete and working as expected
Agile Testing
• Agile promotes testing as part of the development cycle • Offshore creates poor visibility and control of testing processes • Alternative 1 –place additional testers onsite • Alternative 2 –invest in test control
• • • • Distributed build system Emphasis on acceptance tests FitNesse:a Wiki enhanced for testing purposes Twist: Similar to FitnNesse. Designed for web apps
Knowledge Transfer
• • • • • • • • • • • • Two-folds challenge Train offshore teams on existing code base Train onsite staff on deliverables Offshore training Do the first sprints co-located Next sprints should be for bug fixing Onsite training Product demonstrations during deliveries Onsite training by Scrum master before release Two-way Wiki User stories are loaded by the onsite product owner Tests, design decisions, planning is loaded by offshore team
Team – Integrated Team
Integrated Team System Engineer Developer Developer Developer Tester Product Owner Stakeholder Stakeholder
Project Manger
Stakeholder
Agile Benefits
Speed Eliminate process waste and handoffs between multiple silos. Reduce project and product time-to market by 30-50%. Flexibility Respond easily to changing project requirements. Adapt rapidly to organizational and market changes. Facilitate Business Customer working in lock step with IT. Innovation Create and sustain teams of enthusiastic, committed and engaged individuals. Incorporate discipline of value delivery and continuous improvement. Quality Deliverables TDD and continuous integration enhance quality of deliverables. Visibility Better visibility of the progress of the project through collaborations and release burn down charts.
Misconceptions and Myths: What Agile is Not
?Is a silver bullet ?No documentation/architecture is required ?Agile approaches don't control scope ?Will solve resource issues ?Is ad-hoc and has no planning ?Is undisciplined ?Will work only for small and co-located teams.
Agile Life Cycle Model
? Business kickoff meeting • Story card writing / Creation of feature list • Ensure funding ? Technical kickoff meeting • Technical feasibility study • Build prototype ? Metaphor
? Release planning
? Iteration/Sprint planning ? Daily Stand-up/ Scrum Meeting ? Short releases/ 30 days Sprints ? Sustainable pace ? Simple design ? Refactoring ? Test first code next ? Pair programming ? Coding Standard ? Collective ownership ? Continuous integration/ Daily Builds ? Retrospective
O n s i t e C u s t o m e r
Legend: ? XP Only ? Common to XP & Scrum ? Activities
? Training ? User Documentation
A well defined process with procedures, guidelines, checklists and templates
Tools we use in Agile projects
Agile Transition Approach
Agile Transition in an Organization
Discovery
Definition
Deployment
Verificat ion & Sustena nce
Effectiveness Check of agile adoption and Sustenance
Readiness Assessment and Agile Implementation Roadmap Creation
Select the right set of agile practices and agile lifecycle model development
Rollout the agile lifecycle model across projects meeting criteria
Assessment report Roadmap for Agile adoption
Agile process model Training material
Piloting and Deployment support
Effectiveness reports Process changes as required
Useful Links
• http://martinfowler.com/articles/agileOffshore.html • http://download.microsoft.com/download/4/4/a/44a 2cebd-63fb-4379-898d9cf24822c6cc/distributed_agile_development_at_mic rosoft_patterns_and_practices.pdf • http://www.agilealliance.org/show/1420 • http://www.agile-softwaredevelopment.com/2008/04/writing-good-userstories.html
doc_592349794.pptx
Project Management Model & Agile Methodology
Project Management Models and Agile Methodology
.
Project Life Cycle
Project Life Cycle Sequential Model
Planning Definition Design Implementation Integration System Test Operation
Phased (Waterfall) Model
Planning Definition Design Implementation Integration Time System Test
Shortened Interval
Earlier Time-to-Market
Operation
V-Process Model
• The V-model consists of a number of phases. • Verification Phases are on the left hand side of the V, • Coding Phase is at the bottom of the V • Validation Phases are on the right hand side of the V.
RUP or Iterative
• RUP is based on a set of building blocks, or content elements, describing what are to be produced, the necessary skills required and the step-by-step explanation describing how specific development goals are achieved. The main building blocks, or content elements, are the following: • Roles (who) – A Role defines a set of related skills, competences, and responsibilities. • Work Products (what) – A Work Product represents something resulting from a task, including all the documents and models produced while working through the process. • Tasks (how) – A Task describes a unit of work assigned to a Role that provides a meaningful result. • Within each iteration, the tasks are categorized into nine disciplines: six "engineering disciplines" (Business Modeling, Requirements, Analysis and Design, Implementation, Test, Deployment) and three supporting disciplines (Configuration and Change Management, Project Management, Environment).
RUP or Iterative
Minding the Gap Between Vision and Execution
6
Traditional Execution - Factors Impacting Failed Projects
Poor User Input 13% Incomplete Requirements 12%
Other 50%
Changing Requirements 12% Poor Staffing 6% Poor Technical Skills 7%
37% of Factors are Requirements Related
Craig Larman, Agile and Iterative Development: A Manager’s Guide, Addison Wesley Professional (2004)
7
Traditional Execution – Actual Use of Requested Features
Always 7%
Often 13%
Never 45%
Sometimes 16% Rarely 19%
Craig Larman, Agile and Iterative Development: A Manager’s Guide, Addison Wesley Professional (2004)
8
Agile Planning
• This technique is an iterative and feature-based approach to project planning • Agile planning is feature-based, iterative, owned by the team, and uses different levels of detail. • These characteristics provide teams an opportunity to get rapid feedback on their designs and processes, apply learning from past experiences quickly, and keep their project plans simple, but effective.
Agile Planning
• Provides project teams with a means to produce features in a short amount of time in order to gain useful feedback from users, customers, and stakeholders. • It also allows teams to defer decisions on detailed requirements until the feature is being developed, allowing them to apply the most current and accurate information possible. • This approach works when the team has decided to follow an iterative and incremental project approach and is most useful in situations where the product of the project can be delivered in small increments
Agile Basics - Key Principles
Focus on customer value :
Employ business-driven prioritization of features.
What is Customer Value? The right product for the right price at the right time:
The right product is the product with exactly the features that the customer wants.
The right price is the price that customer believes is a fair deal. The right time is when the customer wants it.
Iterative & Incremental Delivery :
Create a flow of value by “chunking” feature delivery into small increments.
Intense Collaboration :
Face-to-face communication via collocation, etc; diversified roles on integrated teams.
Self Organization :
Team members self-organize to fulfill a shared project vision.
Continuous Improvement :
Teams reflect, learn and adapt to change; work informs the plan.
Agile Basics - Key Principles
Focus on customer value :
Employ business-driven prioritization of features.
What is Customer Value? The right product for the right price at the right time:
The right product is the product with exactly the features that the customer wants.
The right price is the price that customer believes is a fair deal. The right time is when the customer wants it.
Iterative & Incremental Delivery :
Create a flow of value by “chunking” feature delivery into small increments.
Intense Collaboration :
Face-to-face communication via collocation, etc; diversified roles on integrated teams.
Self Organization :
Team members self-organize to fulfill a shared project vision.
Continuous Improvement :
Teams reflect, learn and adapt to change; work informs the plan.
Popular Agile Strategies
Strengths
XP
?
Weaknesses
?
Most widely known and adopted approach
Business ownership of feature priority, developer ownership of estimates
Documentation primarily through verbal communication
Difficult to accommodate architectural or design concerns
?
?
?
“Pair Programming” increases knowledge transfer
Solution definition led by selfdirected development teams Priorities based on business value
?
Scrum
?
Terminology and practices oriented towards technical teams Little business control over managing and prioritizing features – difficult to scope Full implementation requires modeldriven approach Takes time to adjust to “feature” modeling
13
?
?
FDD
?
Solution definition and features owned by the business All aspects of project tracked by feature – improved control, management, and scoping
?
?
?
Face to Face Communication
• • • • • • • • • Agile promotes face-to-face communication Logistically problematic Not cost-effective Ambassador exchange program People that know each other well communicate better when they are apart Bring the team to onsite training on project launch Send the product owner to the offshore location once a quarter Bring the scrum master on major deliveries to the customer Locate the team in similar time zone
Team Structure – Distributed Scrum
Scrum Basics - Key Practices
Key Scrum practices include:
•Release Planning
(creates Product backlog)
•Sprint Planning
(creates Sprint backlog)
•Daily Scrum Meeting
•Fixed-length sprints •Feature Review Identify the top-priority items and deliver them early and often.
SCRUM Challenge
• Scrum promotes Scrum… • Offshore best practice –have as simple onsiteoffshore interfaces as possible • Distributed Agile best practices: • In planning game –everyone participates • In standup meetings –only the offshore Scrum Master • Scrum Muster does assume some of the traditional team leader roles • Product owner “hides” the rest of the stake holders or SMEs in the day-to-day
SPRINT Length
• • • • • Agile promotes the use of 2-4 weeks sprints Distributed Agile best practice: use 2 weeks sprints If possible –even single week iterations! Fail fast strategy –detecting an offshore mistake cost more… Offshore Agile team feels more convenient this way as it gets better understanding and sense of the customer and its needs
User Stories
• A concise, written description of a piece of functionality that will be valuable to a user (or owner) of the software
• Card - A written description of the user story for planning purposes and as a reminder
• Conversation - A section for capturing further information about the user story and details of any conversations
• Confirmation - A section to convey what tests will be carried out to confirm the user story is complete and working as expected
Agile Testing
• Agile promotes testing as part of the development cycle • Offshore creates poor visibility and control of testing processes • Alternative 1 –place additional testers onsite • Alternative 2 –invest in test control
• • • • Distributed build system Emphasis on acceptance tests FitNesse:a Wiki enhanced for testing purposes Twist: Similar to FitnNesse. Designed for web apps
Knowledge Transfer
• • • • • • • • • • • • Two-folds challenge Train offshore teams on existing code base Train onsite staff on deliverables Offshore training Do the first sprints co-located Next sprints should be for bug fixing Onsite training Product demonstrations during deliveries Onsite training by Scrum master before release Two-way Wiki User stories are loaded by the onsite product owner Tests, design decisions, planning is loaded by offshore team
Team – Integrated Team
Integrated Team System Engineer Developer Developer Developer Tester Product Owner Stakeholder Stakeholder
Project Manger
Stakeholder
Agile Benefits
Speed Eliminate process waste and handoffs between multiple silos. Reduce project and product time-to market by 30-50%. Flexibility Respond easily to changing project requirements. Adapt rapidly to organizational and market changes. Facilitate Business Customer working in lock step with IT. Innovation Create and sustain teams of enthusiastic, committed and engaged individuals. Incorporate discipline of value delivery and continuous improvement. Quality Deliverables TDD and continuous integration enhance quality of deliverables. Visibility Better visibility of the progress of the project through collaborations and release burn down charts.
Misconceptions and Myths: What Agile is Not
?Is a silver bullet ?No documentation/architecture is required ?Agile approaches don't control scope ?Will solve resource issues ?Is ad-hoc and has no planning ?Is undisciplined ?Will work only for small and co-located teams.
Agile Life Cycle Model
? Business kickoff meeting • Story card writing / Creation of feature list • Ensure funding ? Technical kickoff meeting • Technical feasibility study • Build prototype ? Metaphor
? Release planning
? Iteration/Sprint planning ? Daily Stand-up/ Scrum Meeting ? Short releases/ 30 days Sprints ? Sustainable pace ? Simple design ? Refactoring ? Test first code next ? Pair programming ? Coding Standard ? Collective ownership ? Continuous integration/ Daily Builds ? Retrospective
O n s i t e C u s t o m e r
Legend: ? XP Only ? Common to XP & Scrum ? Activities
? Training ? User Documentation
A well defined process with procedures, guidelines, checklists and templates
Tools we use in Agile projects
Agile Transition Approach
Agile Transition in an Organization
Discovery
Definition
Deployment
Verificat ion & Sustena nce
Effectiveness Check of agile adoption and Sustenance
Readiness Assessment and Agile Implementation Roadmap Creation
Select the right set of agile practices and agile lifecycle model development
Rollout the agile lifecycle model across projects meeting criteria
Assessment report Roadmap for Agile adoption
Agile process model Training material
Piloting and Deployment support
Effectiveness reports Process changes as required
Useful Links
• http://martinfowler.com/articles/agileOffshore.html • http://download.microsoft.com/download/4/4/a/44a 2cebd-63fb-4379-898d9cf24822c6cc/distributed_agile_development_at_mic rosoft_patterns_and_practices.pdf • http://www.agilealliance.org/show/1420 • http://www.agile-softwaredevelopment.com/2008/04/writing-good-userstories.html
doc_592349794.pptx