When Offshore Meet Agile

23
When Offshore Meet Agile When Offshore Meet Agile Aviram Eisenberg, CEO, Ignite

Transcript of When Offshore Meet Agile

When Offshore Meet AgileWhen Offshore Meet Agile

Aviram Eisenberg, CEO, Ignite

Why Agile & Offshore?

Imagine a construction project executed in India for an American customerfor an American customerThe project was estimated and priced by Indian contractor before the blue prints where completedcontractor before the blue prints where completedThe customer never visited the siteWeekl phone call ith the Indian contractorWeekly phone call with the Indian contractor –no problem!Builders don’t know what is the building intendedBuilders don’t know what is the building intended forCeiling technology was switched from AsbestosCeiling technology was switched from Asbestos to Pal-Kal

Why Agile & Offshore?

Would you buy an apartment (or shop) in this project???project???Agile shortens the gaps inherent to distributed developmentdevelopmentAgile creates visibility A il b ild fidAgile builds confidenceAgile enhances business understandingAgile reduces overhead

Ignite - Who We Are

A Software Development Management companyDelivery ArmDelivery Arm

Onsite-Offshore modelDevelopment Centers in Eastern EuropeDevelopment Centers in Eastern EuropeTurn-key, T&M, ODC, BOT

Consulting ArmConsulting ArmExpertise in SW Development methodologies & toolsExpertise in Global Delivery modelsDistributed developmentCertifications and Trainings

T l D l t ATools Development ArmCloud-based Project Management Platform – LightSpeedWorkflow-based Test Automation framework – ATestWorkflow based Test Automation framework ATest

Globalization & Agile

Globalization & Agile together are not easyThe Agile Manifesto was written in 2001 before global development teams where sobefore global development teams where so popularGl b li ti 1 0 D i b t iGlobalization 1.0: Driven by countriesGlobalization 2.0: Driven by multi national ycompaniesGlobalization 3 0: Crowd Sourcing? CloudGlobalization 3.0: Crowd-Sourcing? Cloud Sourcing?

Face-to-Face communication

Agile promotes face-to-face communicationL i ti ll bl tiLogistically problematicNot cost-effectiveAmbassador exchange program

People that know each other well communicate better when they are apartwhen they are apartBring the team to onsite training on project launchSend the product owner to the offshore location once aSend the product owner to the offshore location once a quarterBring the scrum master on major deliveries to the g jcustomer

Locate the team in similar time zone

It’s ALL about communication 1

EmailD ’ b d hi k E ilDon’t be tempted to think E-mail communication is enoughE il d l idE-mails are good as a complementary aid to summarize meetings but Wiki is better

iInstant MessagingTempting to use - too accessibleOnly 16% of data is correctly comprehendedNo indexed-dataThe presence feature is very important to encourage team cohesiveness g

It’s ALL about communication 2

Skype vs VOIPSkype is easy accessible and freeSkype is easy, accessible and freeVOIP has QOSVOIP is scalableVOIP provide better interoperabilityUse both, but don’t think Skype is sufficient

H d f h d t d tiHands-free handsets – good practiceWeb-Conference

P t di t ib t d t th d iPuts a distributed team on the same page during planning gamesA must have tool in every design meeting or y g garchitecture discussion

It’s ALL about communication 3

WikiL l d dLoosely structured dataHighly customizableVery good match to the nature of documentation in Agile projectB t ti f ff h d l t ll t tBest practice of offshore development as well to create a common knowledge base

Vid C f iVideo ConferencingMakes it harder to disengage during meetingsC ff i l i i dCost-Effective solution exist today

Colocated Waterfall

Product Management ArchitectProduct Marketing g

Graphic Design

g

Copyright/ UsabilityGraphic DesignMarketing writing

Usability

R&D Managerg

R&D T T TR&D TeamsR&D Teams

R&D TeamsTest Teams

R&D TeamsTest Teams

Test Teams

Colocated Scrum

Product OwnerProduct Marketing

Copyright/Marketing writing

Graphic Design R&D TeamsR&D Teams

R&D TeamsS TScrum Teams

Usability

Distributed Scrum A

Keep onsite-offshore interface simple HL Architect

Product MarketingMarketing writingOnsite

Product OwnerGraphic DesignUsability

Scrum MasterScrum Master

Scrum Master

Offshore

Scrum TeamScrum TeamScrum Team

Scrum Team

Distributed Scrum B

Keep onsite-offshore interface simple HL Architect

Product MarketingMarketing writing

Product OwnerGraphic DesignUsability

Location BScrum Master

Scrum MasterScrum Master

Scrum MasterScrum Master

Scrum Master

Scrum TeamS S

Scrum Master

Scrum TeamScrum Team

Scrum TeamScrum Team

Scrum Team

The Scrum Challenge

Scrum promotes Scrum…ff h b i h i lOffshore best practice – have as simple

onsite-offshore interfaces as possibleDistributed Agile best practices:

In planning game – everyone participatesIn planning game everyone participatesIn standup meetings – only the offshore Scrum MasterMaster Scrum Muster does assume some of the traditional team leader rolestraditional team leader rolesProduct owner “hides” the rest of the stake holders or SMEs in the day-to-dayholders or SMEs in the day to day

The Scrum Challenge

Distributed Scrum teams should be avoidedd ki iDependant Scrum teams working in more

than a single location should be avoided

Work Distribution

Agile promotes user stories as opposed to t f tcomponent features

Offshore best practice – give the team ownership of component(s)Alternative 1 :

Invest in a distributed configuration managementInvest in a distributed integration systemg yInvest in knowledge transfer and training

Alternative 2:Alternative 2:Give offshore teams component responsibility Do Agile in the micro levelDo Agile in the micro level

Work Distribution

Alternative 3M / d lMost teams own components/modulesSome teams can work on cross-component storiesSome product owners have system-wide view

Sprint Length

Agile promotes the use of 2-4 weeks sprintsDistributed Agile best practice: use 2 weeks sprintssprintsIf possible – even single week iterations!Fail fast strategy – detecting an offshore mistake cost more…Offshore Agile team feels more convenient this way as it gets better understanding andthis way as it gets better understanding and sense of the customer and its needs

Agile Testing

Agile promotes testing as part of the development lcycle

Offshore creates poor visibility and control of testing processes Alternative 1 – place additional testers onsiteAlternative 2 – invest in test control

Distributed build systemDistributed build systemEmphasis on acceptance testsFitNesse: a Wiki enhanced for testing purposesFitNesse: a Wiki enhanced for testing purposesTwist: Similar to FitnNesse. Designed for web apps

Documentation

Agile promotes just enough documentationOffshore best practice – formalized and detailed documentationdetailed documentationDid I mention Wiki???

User storiesPlanning gamesStandup meetings

Load user stories to Wiki prior to planningLoad user stories to Wiki prior to planning game

Knowledge Transfer

Two-folds challengeTrain offshore teams on existing code baseTrain offshore teams on existing code baseTrain onsite staff on deliverables

Offshore traininggDo the first sprints co-locatedNext sprints should be for bug fixing

Onsite trainingProduct demonstrations during deliveriesO it t i i b S t b f lOnsite training by Scrum master before release

Two-way WikiUser stories are loaded by the onsite product ownerUser stories are loaded by the onsite product ownerTests, design decisions, planning is loaded by offshore team

Distributed Agile Articles

http://martinfowler.com/articles/agileOffshh lore.html

http://download.microsoft.com/download/4http://download.microsoft.com/download/4/4/a/44a2cebd-63fb-4379-898d-9cf24822c6cc/distributed agile developme9cf24822c6cc/distributed_agile_development_at_microsoft_patterns_and_practices.pdfhttp://www.agilealliance.org/show/1420

Q&AQ&AAviram Eisenberg

I itIgnitewww.IgniteSO.comg

[email protected]