Caio Amaral

Agile At Microsoft

bookmark

How things used to work

  • Long Schedule
  • Start knowing what to build
  • Coding phase
  • Testing and Stabilizing phase
  • Shipping 2 times/year
  • Product Owner got customer feedback

This used to work very well!

In a era where software delivery was very different from what it is today

What changed?

  • Culture
  • Approach to teams
  • How to plan and learn
  • How to stay healthy

Culture

💡 “Culture eats strategy for breakfast”

Daniel H. Pink Drive (A book of motivation)

We can motivate people with

  • Rewards
  • Punishment

Does work. Although you‘ll get better results if you can give people

  • Autonomy
  • Mastery
  • Purpose

Example:

Group A

  • Business Plan
  • Established in the market
  • Well funded
  • Hiring the best people

Group B

  • Working for free
  • In their spare time
  • Because they want to

Group A vs Group B ? Where would you put your money?

Group B > Group A

Wikipedia > MS Encarta

Aligned Autonomy

Alignment vs Autonomy

  • Too much alignment wil l make people hate their jobs
  • Too much autonomy will make people have different decisions for their selfs

The key is to have a balance

People

Stop thinking about individuals and start thinking about teams. Agile is a team sport

Program Management

  • What we’re building
  • Why we’re building

Engineers

  • How we’re building
  • Quality of what we’re building

Teams at Microsoft

  • Cross discipline
  • 10-12 people
  • Self managing
  • Clear charter and goals
  • Intact for 12-18 months
  • Physical team rooms
  • Own features in production
  • Own deployment of features

Old Teams

  • UI
  • API
  • Database

Tons of dependency management

Try to make everyone that owns all responsibility in the software, in order to share the kanban board. Nominate specialists from each team to review code.

Yellow Sticky Exercise

Autonomy: Allow anyone choose what they want to work on.

Alignment: Ensure we’ve got the right balance across teams.

Sprint Mails

Every team sends a email in the end of a sprint telling everyone

  • What they accomplished
  • Share a vídeo showing what they did
  • Tell everyone what’s next

How we plan and Learn

Continuous planning.

The value of planning is not the actual results, but the act of plan itself.

Planning Steps

  • Sprint (3 weeks)
  • Plan (3 sprints)
  • Season (6 months)
  • Strategy (12 months)

Strategy and features are part of the alignment

Features, tasks and etc are part of Autonomy

Always plan 3 sprints ahead

Continually Plan

Continually Learn

Stay Healthy

“Just because we’re not sick, doesn’t mean we’re healthy”

A lot of bugs

Bug Cap

Number of engineers *. 5 = X

10 * 5 = 50

If your bug count exceeds your bug cap, stop working on new features

L-Team

Deals with all live-site issues and interruptions

Shields the team for interruptions

F-Team

Work on committed features (new work)

Rotate the responsibility.