When Offshore Meet Agile
-
Upload
aviram-eisenberg -
Category
Technology
-
view
1.153 -
download
2
Transcript of When Offshore Meet Agile
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