Applying Agile For Large Scale Development At Microsoft Romanenko

16
Microsoft Ireland Vlad Romanenko Program Manager, CSM Mobile Hotmail

description

 

Transcript of Applying Agile For Large Scale Development At Microsoft Romanenko

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]