microsoft + agile (light)
TRANSCRIPT
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)
AG
ILE
TEAM
SCRU
M
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 manyWhen 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 itWhen 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.
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 planningHigh cost, lack of flexibility, cannot keep up with changes of modern business
Light planningEasy to handle, flexible, allows fast adjustments to keep up with modern business
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 SCRUMSCRUM is a subset of Agile, a framework for developing software.
SCRUM takes advantage of different techniques to achieve goals in Agile.
SCRUM explainedEvery methodology can be broken down into 3 important parts which define critical aspects of the software development process
software devcycleHow software development is organized time-wise
work breakdownHow work-items are defined and how they are distributed across team members
roles & responsibilitiesHow team members relate to each other with respect to work-items
Development cycleSCRUM 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 sprintDuring 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 planningThe 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 meetingEach 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 reviewAt 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 breakdownSCRUM 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 backlogAll 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 & responsibilitiesSCRUM 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 familyAt 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 LeadThe 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 teamThe 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 workManagers, 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
The EndTHANK YOUTwitter: @_atinoE-Mail: [email protected]
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 2016v1.0-b1
Keywords#agile #scrum #microsoft #development-process #kanban
Presentation infoDuration: 30 mins.Background: Non technicalAudience: All (6th grade+)Branched from original
Andrea TinoSoftware Development Engineer