3. Session Objectives And Takeaways
Session Objectives:
Learn how p&p uses agile techniques
Learn the experience from practitioners using agile process
in over a dozen projects
Why is agile important and what is unique about
p&p’s perspective?
Understand the challenges and techniques used to scale
agile in a distributed team environment
Key Take-aways:
Walk away with an understanding about what has worked
well and consistently
Walk away with justification for using these practices in your
(customer) teams
5. Future Project Lifecycle
Understanding the Problem Building the Solution Describing the Solution
FINAL
CTP Release
Flow Vision & Scope M0
Weekly code & guidance drops
Guidance
Release
Project Code & Guidance Code
Research
Planning Development Release
Media
Release
Candidate architecture
User Stories
Effort
Planning Code Development Testing Guidance Development Media & Marketing Dev Final Production & Release
NOTE – Team stays together after code release to build media and guidance based on code. A project is considered
DONE when all of the features have been released
7. Customer Connected Engineering
Communication
Breadth: Codeplex communities
Depth: Customer Advisory Boards
Think in terms of stories not features
Software from the customer perspective
Frequent checkpoints with customers
Using frequent drops to the communities
Customer workshops
Advisory meetings
8. Planning and Estimation
Be date driven
Maintain prioritized
story backlog
Choose initial t-shirt size
Play the planning game
Monitor velocity
Plan for iteration zero
11. Team Formation
Program management
Dev lead + developers
Test lead + testers
Technical Writer(s)
Domain experts (SMEs)
Core teams with consistent members
Consultants available
But it’s about what you do, not job titles!
12. Team Tasks… The Game
What do you do on the team?
Product Portfolio
Business Customer
Arch
PdM
Dev
PgM
Design and Test
Risk Assesment
Coding
13. Distributed Teams
This is the
reality of software
development today
Maximize communication
Join project kick off iteration
More formal story management
There is only one team not local and remote
Everyone participates in daily stand-ups
Frequent on site visits
Time zones harder to manage
than distance
16. Quality – Done (Feature Level)
A story is done when:
The acceptance criteria are agreed upon
The team has a test/set of tests (preferably automated) that prove
the acceptance criteria are met
The code to make the acceptance tests pass is written
The unit tests and code are checked in
The Continue Integration (CI) server can successfully build the code
base
The acceptance tests pass on the bits the CI server creates
No other acceptance tests or unit tests are broken
Documentation is written for the feature
The customer proxy signs off on the story
17. Process Agnostic Practices
Unit testing (tests are assets not liability)
Test-Driven Development (TDD)
Continuous Integration (CI)
Acceptance testing (automate what makes
sense)
Iteration planning
Daily stand-ups
Retrospectives
Sustainable pace
You don’t have to be agile to get benefits…
18. Challenges
Too many cooks
Rewarding teams
Team continuity
Teams should feel empowered and encouraged
to address their challenges within the team
Learn from us!
21. Related Content
Microsoft patterns & practices
msdn.microsoft.com/practices
Codeplex communities
codeplex.com/Project/ProjectDirectory.aspx?
TagName=patterns%20%26%20practices
22. Summary
Agile is not a silver bullet
p&p successfully uses Distributed Agile
Find ways to connect with your customer early and often
Continuous integration gives confidence to respond to
change
Agile works because of short delivery cycles and constant
improvement
Where possible work with someone that successfully
applied agile on a previous project
Why Ivory?The colour? white – symbolizes purity and naiveté?or suggesting lack of exposure to worldly cares?or a symbol of hardness: unbreakable and incorruptible.
Tetrahedon really
Still conversation is a must!Devs are providing their own estimates.Planning poker (without the cards).
Core teams – consultants vs. team membersDon’t split people among multiple teams.
Also, DoneDone – Release Level
Failures should reinforce learnings for previous slides