Understanding how #modern-software is developed and how #agile
methodologies are applied in Microsoft to #deliver #great-products
MICROSOFT + AGILE
Andrea Tino (Software Development Engineer)
AGILE
TEAM
SCRUM
What are we going to
learn about?
We are going to talk about how Modern
Software Development is carried out in
Software Industry.
Special focus on Microsoft’s own way of
developing great products.
Great software is
built by many
When you are in a team of people, you
can do amazing things! Many brains
with many ideas, and you also have
people you can rely on.
A single programmer
can’t do it
When building great software, you need
more than just a programmer.
Alone, you struggle with a lot of work to do.
Also, you make many mistakes, and alone,
you cannot learn much.
How to coordinate many developers?
Development
Methodology
by means of a... A disciplined process upon software
development with the aim of making
software development more
predictable and more efficient
Martin Fowler - The New Methodology (2005)
To plan or not
to plan?
There are many development
methodologies out there. One of
the most important distinguishing
factors is how they treat time and
planning of tasks.
Intensive planning
High cost, lack of flexibility, cannot
keep up with changes of modern
business
Light planning
Easy to handle, flexible, allows fast
adjustments to keep up with modern
business
Murphy’s law
Anything that can
go wrong, will go
wrong!
Capt. Edward A. Murphy (1949)
On planning
Everybody has a
plan... Until they
get punched in
the face
Mike Tyson
What is Agile
Agile is a development
methodology adopted today in the
software industry.
Agile promotes teamwork, flexible
procedures, and sle-organizing
teams.
What is SCRUM
SCRUM is a subset of
Agile, a framework for
developing software.
SCRUM takes advantage of
different techniques to
achieve goals in Agile.
SCRUM explained
Every methodology can be broken down into 3 important parts which define
critical aspects of the software development process
software
devcycle
How software
development is
organized time-wise
work
breakdown
How work-items are
defined and how
they are distributed
across team
members
roles &
responsibilities
How team members
relate to each other with
respect to work-items
Development cycle
SCRUM promotes an iterative model
where the planning is performed on a
very short term.
1 = 2 weeks
SPRINT
The basic time working unit is the sprint.
SCRUM teams always reason in sprints
and their planning is limited to sprints.
It depends on the software but, typically, 1 year is split into 23 sprints and teams will
work inside them. Planning is done per sprint!
Events in one sprint
During a sprint, teams have important events that help them work better and coordinate.
Sprint
planning
Morning
meeting
Morning
meeting
Morning
meeting
Morning
meeting
Morning
meeting
Morning
meeting
Morning
meeting
Morning
meeting
Sprint
review
SPRINTS
WEEKS
DAYS
Occurs at the
beginning of
each sprint
Sprint
planning
The team starts the sprint with a
meeting which can last from 1h to
2h at most.
The purpose is planning the work to
do in the sprint.
If some task from the previous sprint
has not been completed, it might
be necessary to continue in this
sprint and move some other task to
the next sprint.
Occurs at the
start of the
day, each day
Morning
meeting
Each day of the sprint, the team
meet and discuss about the day.
This happens before starting
working.
Each member, during his turn to
talk, tells about what he did the day
before and what he is going to do
that day.
This meeting allows all members to
stay in sync.
Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Ergo ita:
non posse honeste vivi, nisi honeste
vivatur? Utinam quidem dicerent alium
alio beatiorem! Iam ruinas videres. Esse
enim, nisi eris, non potes.
Occurs at the
end of each
sprint
Sprint
review
At the end of the sprint, it is time to
show the managers what the team
has achieved during the sprint.
The teams gives a presentation and
a demo about the latest work it has
done. The demo is necessary
because managers are not
developers.
Work breakdown
SCRUM recognizes 2 types of work-item for a team.
BUG
A bug is an anomaly in
the software. The
program is not behaving
as expected and this
needs to be fixed!
DELIVERABLE
A deliverable is
something new that must
be added to the
software like a new
feature or functionality.
The backlog
All the work a team needs to
do is in the backlog. Work items
are thrown inside it and
removed from it to be assigned
to team members.
Deliverables and bugs are the
elements that can be found in
the backlog.
BUGDLVBE
Bugs, bugs,
bugs!
Fixing bugs is one of the certain
things that team members must
focus on.
No software is bug free, and when
reported, bugs need to be fixed.
Part of the methodology is ZBB (Zero
Bug Bounce) which forces teams
not to neglet bugs.
0
5
10
15
20
ZBB threshold
ZBB
Roles & responsibilities
SCRUM recognizes, in teams, 2 groups of members.
CHICKENS
In this group you find
managers, stakeholders,
and everybody who is in
charge of organizational
and management
aspects of projects.
PIGS
In this group you find
developers, programmers,
designers, reviewers, and
everybody who is in
charge of actual
development and code
writing.
Meet all members of the family
At Microsoft we have customized roles. So here are the characters you can find in our teams.
Developer UX DesignerArchitect Writer
Manager Program ManagerLead
The PM and the Lead
The PM decides where the product should go, the lead decides which items the team should work on.
Program Manager Lead
The Lead and
his/her team
The Lead decides who is going
to work on which work item.
Lead
Developer
UX Designer
Architect
Writer
The Lead, however, does not
force work on team members,
typically team members can
pick up work items that suit them
the best, but the Lead must
approve the choice.
Chickens
at work
Managers, Leads, and PMs are
part of management and they
work together to ensure that the
product is released on time.
Manager
Program Manager
Lead
Reports to manager about
the status of the team
Work in sinergy to
make the team
productive and in a
good status
Works with
manager to
define/refine the
scope and
strategies to
market the product
What about
customers?
We get feedback from them. They
populate the backlog with bugs!
THANKS
The End
THANK YOU
Twitter: @_atino
E-Mail: andrea.tino@microsoft.com
This work is distributed under the Creative
Commons
Attribution-NonCommercial-ShareAlike 4.0
International license.
Cover: Agile city This work includes artworks
designed by Graphic River.
This work includes artworks
designed by Freepik.com.
April 2016
v1.0-b1
Keywords
#agile #scrum #microsoft
#development-process
#kanban
Presentation info
Duration: 30 mins.
Background: Non technical
Audience: All (6th grade+)
Branched from original
Andrea Tino
Software Development Engineer

Microsoft + Agile (light)

  • 1.
    Understanding how #modern-softwareis developed and how #agile methodologies are applied in Microsoft to #deliver #great-products MICROSOFT + AGILE Andrea Tino (Software Development Engineer)
  • 2.
    AGILE TEAM SCRUM What are wegoing to learn about? We are going to talk about how Modern Software Development is carried out in Software Industry. Special focus on Microsoft’s own way of developing great products.
  • 3.
    Great software is builtby many When you are in a team of people, you can do amazing things! Many brains with many ideas, and you also have people you can rely on. A single programmer can’t do it When building great software, you need more than just a programmer. Alone, you struggle with a lot of work to do. Also, you make many mistakes, and alone, you cannot learn much.
  • 4.
    How to coordinatemany developers?
  • 5.
    Development Methodology by means ofa... A disciplined process upon software development with the aim of making software development more predictable and more efficient Martin Fowler - The New Methodology (2005)
  • 6.
    To plan ornot to plan? There are many development methodologies out there. One of the most important distinguishing factors is how they treat time and planning of tasks. Intensive planning High cost, lack of flexibility, cannot keep up with changes of modern business Light planning Easy to handle, flexible, allows fast adjustments to keep up with modern business
  • 7.
    Murphy’s law Anything thatcan go wrong, will go wrong! Capt. Edward A. Murphy (1949)
  • 8.
    On planning Everybody hasa plan... Until they get punched in the face Mike Tyson
  • 9.
    What is Agile Agileis a development methodology adopted today in the software industry. Agile promotes teamwork, flexible procedures, and sle-organizing teams. What is SCRUM SCRUM is a subset of Agile, a framework for developing software. SCRUM takes advantage of different techniques to achieve goals in Agile.
  • 10.
    SCRUM explained Every methodologycan be broken down into 3 important parts which define critical aspects of the software development process software devcycle How software development is organized time-wise work breakdown How work-items are defined and how they are distributed across team members roles & responsibilities How team members relate to each other with respect to work-items
  • 11.
    Development cycle SCRUM promotesan iterative model where the planning is performed on a very short term. 1 = 2 weeks SPRINT The basic time working unit is the sprint. SCRUM teams always reason in sprints and their planning is limited to sprints. It depends on the software but, typically, 1 year is split into 23 sprints and teams will work inside them. Planning is done per sprint!
  • 12.
    Events in onesprint During a sprint, teams have important events that help them work better and coordinate. Sprint planning Morning meeting Morning meeting Morning meeting Morning meeting Morning meeting Morning meeting Morning meeting Morning meeting Sprint review SPRINTS WEEKS DAYS
  • 13.
    Occurs at the beginningof each sprint Sprint planning The team starts the sprint with a meeting which can last from 1h to 2h at most. The purpose is planning the work to do in the sprint. If some task from the previous sprint has not been completed, it might be necessary to continue in this sprint and move some other task to the next sprint.
  • 14.
    Occurs at the startof the day, each day Morning meeting Each day of the sprint, the team meet and discuss about the day. This happens before starting working. Each member, during his turn to talk, tells about what he did the day before and what he is going to do that day. This meeting allows all members to stay in sync.
  • 15.
    Lorem ipsum dolorsit amet, consectetur adipiscing elit. Ergo ita: non posse honeste vivi, nisi honeste vivatur? Utinam quidem dicerent alium alio beatiorem! Iam ruinas videres. Esse enim, nisi eris, non potes. Occurs at the end of each sprint Sprint review At the end of the sprint, it is time to show the managers what the team has achieved during the sprint. The teams gives a presentation and a demo about the latest work it has done. The demo is necessary because managers are not developers.
  • 16.
    Work breakdown SCRUM recognizes2 types of work-item for a team. BUG A bug is an anomaly in the software. The program is not behaving as expected and this needs to be fixed! DELIVERABLE A deliverable is something new that must be added to the software like a new feature or functionality.
  • 17.
    The backlog All thework a team needs to do is in the backlog. Work items are thrown inside it and removed from it to be assigned to team members. Deliverables and bugs are the elements that can be found in the backlog. BUGDLVBE
  • 18.
    Bugs, bugs, bugs! Fixing bugsis one of the certain things that team members must focus on. No software is bug free, and when reported, bugs need to be fixed. Part of the methodology is ZBB (Zero Bug Bounce) which forces teams not to neglet bugs. 0 5 10 15 20 ZBB threshold ZBB
  • 19.
    Roles & responsibilities SCRUMrecognizes, in teams, 2 groups of members. CHICKENS In this group you find managers, stakeholders, and everybody who is in charge of organizational and management aspects of projects. PIGS In this group you find developers, programmers, designers, reviewers, and everybody who is in charge of actual development and code writing.
  • 20.
    Meet all membersof the family At Microsoft we have customized roles. So here are the characters you can find in our teams. Developer UX DesignerArchitect Writer Manager Program ManagerLead
  • 21.
    The PM andthe Lead The PM decides where the product should go, the lead decides which items the team should work on. Program Manager Lead
  • 22.
    The Lead and his/herteam The Lead decides who is going to work on which work item. Lead Developer UX Designer Architect Writer The Lead, however, does not force work on team members, typically team members can pick up work items that suit them the best, but the Lead must approve the choice.
  • 23.
    Chickens at work Managers, Leads,and PMs are part of management and they work together to ensure that the product is released on time. Manager Program Manager Lead Reports to manager about the status of the team Work in sinergy to make the team productive and in a good status Works with manager to define/refine the scope and strategies to market the product
  • 24.
    What about customers? We getfeedback from them. They populate the backlog with bugs!
  • 25.
  • 26.
    The End THANK YOU Twitter:@_atino E-Mail: andrea.tino@microsoft.com This work is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. Cover: Agile city This work includes artworks designed by Graphic River. This work includes artworks designed by Freepik.com. April 2016 v1.0-b1 Keywords #agile #scrum #microsoft #development-process #kanban Presentation info Duration: 30 mins. Background: Non technical Audience: All (6th grade+) Branched from original Andrea Tino Software Development Engineer