applying agile for large scale development at microsoft romanenko

16
Microsoft Ireland Vlad Romanenko Program Manager, CSM Mobile Hotmail

Upload: alexey-krivitsky

Post on 17-Jan-2015

1.791 views

Category:

Business


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Applying Agile For Large Scale Development At Microsoft Romanenko

Microsoft Ireland

Vlad RomanenkoProgram Manager, CSM

Mobile Hotmail

Page 2: Applying Agile For Large Scale Development At Microsoft Romanenko

Microsoft: Move to AgileBefore

Marketing driven releasesBig feature promises up-frontCommitted release date that always slipped

NowNo committed release dateTechnical Community Previews (TPC)Incorporating customer feedback

Microsoft Ireland

Page 3: Applying Agile For Large Scale Development At Microsoft Romanenko

Agile in Microsoft?No single methodology across companyHuge product suites – lots of dependenciesLegacy architecture – hard to adopt new tools

Microsoft Ireland

Page 4: Applying Agile For Large Scale Development At Microsoft Romanenko

Windows Live HotmailSuite: Hotmail, Messenger, Calendar, Spaces, …270 million users10 000 servers

Microsoft Ireland

Page 5: Applying Agile For Large Scale Development At Microsoft Romanenko

Hotmail MobileDeveloped in 1 yearTeam: 6 people

1 program manager3 devs2 devs in test

Microsoft Ireland

Page 6: Applying Agile For Large Scale Development At Microsoft Romanenko

Team rolesScrum

Product OwnerScrum MasterTeam

MicrosoftProgram ManagerSoftware Development EngineerSDE in Test

Is there a match?

Microsoft Ireland

Page 7: Applying Agile For Large Scale Development At Microsoft Romanenko

Managing requirementsScrum

Product backlogUser stories

Microsoft‘1 page specs’PM SpecsSpeclets – the most agile wayDesign docsTest plan

Microsoft Ireland

Page 8: Applying Agile For Large Scale Development At Microsoft Romanenko

PlanningRelease cycle is ~1 year (Windows Live)Milestone is 3 month long (4 per release)Mini release at the end of each milestoneBig release at the end for the whole suite

How do you run the milestone?We tried 2 week sprintsNo clear sprint boundaries

Microsoft Ireland

Page 9: Applying Agile For Large Scale Development At Microsoft Romanenko

Daily ScrumEffective communication toolEach team member has individual office – no open spaceFlexible working hours – need enough overlap time11:40-12:00 – just before lunchWhoever is late pays 1 euro for team building (= beer)

Weekly sync with remote teams (30 minutes)Scrum of scrum?

Microsoft Ireland

Page 10: Applying Agile For Large Scale Development At Microsoft Romanenko

Coding PracticesCode review – mandatory for every check-in

Over email + In-house tool (bbpack)Collective code ownershipContinuous integration

In-house solutionCoding standards

StyleCop / FxCopMicrosoft Ireland

Page 11: Applying Agile For Large Scale Development At Microsoft Romanenko

Unit TestsNot yet introducedLegacy architectureWeb application

‘Critical mass’ is required for TDD adoptionInternal knowledge sharing – TDD seminars

Our team plans adopting TDD in coming releaseOther teams already have full TDD

Microsoft Ireland

Page 12: Applying Agile For Large Scale Development At Microsoft Romanenko

Testing methodologiesIt’s mobile web!Testing is done by EngineersAutomated functional testing (black-box)Visual Studio Test SystemCode coverage above 75%

Manual testing is required with mobile devicesTest plans are used to outsource manual testing

Microsoft Ireland

Page 13: Applying Agile For Large Scale Development At Microsoft Romanenko

ToolsIn-house web based

Poor support, deprecatedExcel – simpleRallyDev – costly for big teams

Future is…Team Foundation Server + MS Project

Integrated solution

Microsoft Ireland

Page 14: Applying Agile For Large Scale Development At Microsoft Romanenko

Usage for Agile Practices

Microsoft Ireland

Page 15: Applying Agile For Large Scale Development At Microsoft Romanenko

Team Attitudes

Microsoft Ireland

Page 16: Applying Agile For Large Scale Development At Microsoft Romanenko

Microsoft Ireland

[email protected]