Project Management Model & Agile Methodology

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
 

Attachments

Back
Top