Tales from the Trenches – Leveraging Agile on Fixed Fee Projects
-
Upload
marco-silva -
Category
Software
-
view
16 -
download
0
Transcript of Tales from the Trenches – Leveraging Agile on Fixed Fee Projects
Leveraging Agile on Fixed Fee ProjectsTales from the Trenches Marco António SilvaRicardo Jesus
• Consulting Services Team• Focused on building highly innovative custom
solutions• Usually working directly in customer installations• Complex internal processes• Strick quality assurance
• Not easy to implement change…
What is MCS?
Who are we and what do we do? • The soldiers of these tales• Tech guys (and g33ks )• Tech Leads for these tales
Disclaimers
Disclaimers
Disclaimers
Project Codename OVX• Large/Enterprise Project (>4600 hours)• Client facing product• High Risk Project:• Technology Early Adoption• Fixed fee/ “Fixed scope” • Project directly involves (at least) 9 different Customer
Teams• Dependence on 4 other external platforms• Two different project sponsors
Project Codename Arbutus• Client facing product• High Risk Project:• Extremely short timings (11 weeks from zero to production)• Large number of features (84 User Stories)• Fixes fee/ closed scope• Newly formed team• Lighthouse project for the costumer• Geographically dispersed team
Tale 1 – Recruiting the troops
Tale 1 – Recruiting the troops
Tale 1 – Recruiting the troops
0
5
Tale 1 – Recruiting the troopsFollow Your True Colors to the Work You Love
by Carolyn Kalil
ISBN-10: 1893320286ISBN-13: 978-1893320284
Tale 1 – Recruiting the troopsFollow Your Inner Heroes(Tm) to the Work You Love Match Your Personality to Your Career
by Carolyn Kalil
ISBN-10: 0985853069ISBN-13: 978-0985853068
Tale 1 – Recruiting the troops
• Basic skills
Tale 1 – Recruiting the troops
• Basic skills• Commitment
Tale 1 – Recruiting the troops
• Basic skills• Commitment• Involvement
Tale 1 – Recruiting the troops
• Basic skills• Commitment• Involvement• Proactive
Tale 1 – Recruiting the troops
• Basic skills• Commitment• Involvement• Proactive• Out of the box
thinking
Tale 1 – Recruiting the troops
“Technical Skills are important, Culture is Core, Commitment is Vital”
Tale 2 – Plan the battle
Tale 2 – Plan the battle
Tale 2 – Plan the battleEnvisioning
(t+4w)Physical
Architecture Planning(t+6w)Software Architecture (Re)Planning(t+10w)
Software Platform Development (t+16w)
Physical Architecture Deploy (t+16w)
Platform Stability
Rollout
Tale 2 – Plan the battle
• SCRUM• XP• KAMBAN• TDD• FDD• …
Tale 2 – Plan the battle
• Predictability• Fast and easy adoption, few
constraints;• Simple, flat and plain;• Incremental rules;• Easily adoptable to project
scope changes;• Fast results;
Tale 2 – Plan the battleEnvisioning
(t+4w)Physical
Architecture Planning(t+6w)Software Architecture (Re)Planning(t+10w)
Software Platform Development (t+16w)
Physical Architecture Deploy (t+16w)
Platform Stability
Rollout
• PB is based on SoW• PB Prioritization is based
on SDM Milestones• Team is committed to
Milestones• Project progress is
measured on a SoW task basis
Tale 3 – Divided but united
Tale 3 – Divided but united
Tale 3 – Divided but united
• Synchronization• Speed• Productivity• Ownership• Team Spirit
Tale 3 – Divided but united• Conference calls (DM)
Tale 3 – Divided but united• Conference calls (DM)• Synchronized Sprints
Tale 3 – Divided but united• Conference calls (DM)• Synchronized Sprints• The Spy
Tale 3 – Divided but united• Conference calls (DM)• Synchronized Sprints• The Spy• Cross-Pollination
Tale 3 – Divided but united• Conference calls (DM)• Synchronized Sprints• The Spy• Cross-Pollination• Common Principles
and Guideline
Tale 3 – Divided but united• Conference calls (DM)• Synchronized Sprints• The Spy• Cross-Pollination• Common Principles and
Guideline• Feedback loop
Tale 3 – Divided but united• Conference calls (DM)• Synchronized Sprints• The Spy• Cross-Pollination• Common Principles and
Guideline• Feedback loop• Celebrate your
achievements together
Tale 4 – Defining the rules of the Game
• Team Principles
Tale 4 – Defining the rules of the Game
• Team Principles
• Daily Standup
Tale 4 – Defining the rules of the Game
1. Fully tested; (include Unit Tests)2. Accepted by product owner and/or
customer;3. Styled;4. Documented;5. Shippable;
• Team Principles• Daily Standup• Definition of Done
Tale 4 – Defining the rules of the Game
• Team Principles• Daily Standup• Definition of Done• See it only once
Tale 4 – Defining the rules of the Game
• Team Principles• Daily Standup• Definition of Done• See it only once• Communication
Tale 4 – Defining the rules of the Game
• Team Principles• Daily Standup• Definition of Done• See it only once• Communication• No Wastes
Tale 4 – Defining the rules of the Game
• Team Principles• Daily Standup• Definition of Done• See it only once• Communication• No Wastes• Have Fun
Tale 4 – Defining the rules of the Game
Tale 5 – Team Room
“Zen Zone”
“Zen Zone”• Whiteboard: support
brainstorms, discussions, explanations, etc
“Zen Zone”• Whiteboard: support brainstorms,
discussions, explanations, etc• Phones in silence mode
(mandatory)
“Zen Zone”• Whiteboard: support brainstorms,
discussions, explanations, etc• Phones in silence mode (mandatory)• No “dummy” conversations
permited, unless requested (allowed 1m for "steam release“)
“Zen Zone”• Whiteboard: support brainstorms,
discussions, explanations, etc• Phones in silence mode (mandatory)• No “dummy” conversations
permited, unless requested (allowed 1m for "steam release“)
• Team sponsored fruit basket (keep that sugar levels in check )
Team Room - OVX
Tale 6 – Self improving team
Tale 6 – Self improving team• No Policing the Team
Tale 6 – Self improving team• No Policing the Team• But you still need to
enforce the rules…
Tale 6 – Self improving team
Tale 6 – Self improving team• Game like principle of
penalization• Every team member is
onboard• Pocket money fines for
Team Principles violations
• Code principles/standards violations are fined as well
• Edge cases are resolved by team vote
• New principles may be born from edge cases
• But most important of all…
Tale 6 – Self improving team
Talk about the Money pig
Tale 7 – Leave no bug behind
Tale 7 – Leave no bug behind• "Black sheep“: dedicated team
member responsible to address bugs, troubleshoot and support of previous release
Tale 7 – Leave no bug behind• "Black sheep“: dedicated team
member responsible to address bugs, troubleshoot and support of previous release
• Shields the team from “release noise”, helping to keep team focus and velocity
Tale 7 – Leave no bug behind• "Black sheep“: dedicated team
member responsible to address bugs, troubleshoot and support of previous release
• Shields the team from “release noise”, helping to keep team focus and velocity
• “Black sheep” has reduced/zero capacity for current sprint.
Tale 8 – Tag, You’re It
Tale 8 – Tag, You’re It• Scrum Master: The team
facilitator !
Tale 8 – Tag, You’re It• Scrum Master: The team facilitator!• All team members have
practiced to be a Scrum Master
Tale 8 – Tag, You’re It• Scrum Master: The team facilitator!• All team members have practiced
to be a Scrum Master• Lessons Learned: rotating SM
increased common knowledge and sprints quality!
Tale 8 – Tag, You’re It• Scrum Master: The team facilitator!• All team members have practiced
to be a Scrum Master• Lessons Learned: rotating SM
increased common knowledge and sprints quality
• Demands commitment!
Tale 9 – Quality is Non Negotiable
Tale 9 – Quality is Non Negotiable• Test, test, and more
tests…
Tale 9 – Quality is Non Negotiable• Test, test, and more tests…• Continuous integration
and Deployment
Tale 9 – Quality is Non Negotiable• Test, test, and more tests…• Continuous integration and
Deployment• Pair Programing
Tale 9 – Quality is Non Negotiable• Test, test, and more tests…• Continuous integration and
Deployment• Pair Programing• Code review
Tale 9 – Quality is Non Negotiable• Test, test, and more tests…• Continuous integration and
Deployment• Pair Programing• Code review• Code Analysis
Tale 9 – Quality is Non Negotiable• Test, test, and more tests…• Continuous integration and
Deployment• Pair Programing• Code review• Code Analysis
• Trust the team
Getting weapons to fight the battles• Visual Studio Online: project
backlog dashboard
Getting weapons to fight the battles• Visual Studio Online: project
backlog dashboard• Team managed tasks using
post-its on the wall
Getting weapons to fight the battles• Visual Studio Online: project
backlog dashboard• Team managed tasks using
post-its on the wall• Tasks updated on project
portal at end of day
Getting weapons to fight the battles• Visual Studio Online: project
backlog dashboard• Team managed tasks using
post-its on the wall• Tasks updated on project
portal at end of day• Every check-in gated a
build: “Silly” broken builds often lead to “penalization”
Getting weapons to fight the battles• Visual Studio Online: project
backlog dashboard• Team managed tasks using
post-its on the wall• Tasks updated on project
portal at end of day• Every check-in gated a build:
“Silly” broken builds often lead to “penalization”
• Continuous integration: makes cross team integration easier, tests the deployment process and creates trust and improves quality
• Adopting a new methodology• “Slow is smooth, Smooth is fast”! (D. Rhea)
• Team is core!! Not processes or Tools• Experiment, test, fail, and learn
• It’s possible!
Battle Debrief
© 2014 Microsoft Corporation. All rights reserved.
Thank You
Marco António [email protected]
Ricardo [email protected]