Tales from the Trenches – Leveraging Agile on Fixed Fee Projects

Post on 17-Feb-2017

16 views 0 download

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 Silvamadasi@microsoft.com

Ricardo Jesusrjesus@microsoft.com