Upload
esin-karaman
View
383
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
1
Adapting Agile Principles in Distributed Software Development
Esin KaramanSWE586
Boğaziçi University
2
AgendaWhat is Distributed Software Development
(DSD)?Why DSD?Problems with DSDAgile PracticesCombining DSD with agile methodsBenefitsChallengesTools and techniques
3
What is Distributed Software Development (DSD)?Software is developed in a multi-site, multicultural, globally distributed environment.
4
Why DSD?
Lower costAccess to skilled resourcesHaving round-the clock developmentMinimize risk in case of natural catastrophes
5
Problems with DSD
Strategic issuesCultural issuesInadequate communicationKnowledge managementProject and process management issuesTechnical issuesRisk management
6
Agile PracticesAgile manifesto contains twelve principals and four core values are
Individuals and interactions OVER processes and tools
Working software OVER comprehensive documentation
Customer collaboration OVER contract negotiation
Responding to change OVER following a plan
7
Combining DSD with Agile MethodsMost of the agile methodologies (e.g. scrum)
assume that the team is located in a single room
In the 2008 State of Agile Development survey, conducted by VersionOne, 57% of respondents stated that their teams were distributed. Further 41% of respondents state that they were currently using or plan to combine agile with outsourced development.
There are studies which show that agile principles help in overcoming some challenges faced by distributed development.
8Globally distributed agile teams
9
BenefitsIncreased visibility of project status via short
continuous iterationsContinuous integration of software code also
helps to reduce configuration management issues.Development in cycles makes it easier for
participants to see the short term goals and have a positive effect on communication between teams
Sprint reviews can be an effective way to improve external communication
Create trust between different cultures involved in the process by constant communication and delivery of software
10
Benefits(2)According to a study made by Passivara,
Durasiewicz and Lassenius quality of software and communication are improved and communication and collaboration is more frequent than before because of the Scrum methodology used in the project. Also the motivation of team members was reported to have increased.
11
ChallengesAgile teams rely on intense person to person
communicationDocumentationPair programmingDifferent working hours Training 0n agile practicesDistribution of workUnavailability of Customer or Customer
Proxy
12
Tools and techniques for agile distributed developmentImprove communication
Minimize the overhead of setting up a meeting (conference phone, projector, video conferencing)
Web cams and application sharing softwareInstant messenger for synchronous
communicationE-mail for asynchronous communication
User contact visitsBring the whole team together sometimes
13
Tools and techniques for agile distributed development (2)Team distribution
Use team representatives for large time zone interval
Scrum of scrumsDistribution of work regardless of locationMaintain valuable documentation
Provide user stories with use case diagramsVarious tools like issue tracker (e.g. Jira) PM
tools (e.g. Scrum works)
14
Tools and techniques for agile distributed development (3)Focus on team coachingUse of tools
Social networking toolsCommunication tools: e-mails, instant
messengersConfiguration menagement toolsBug and issue tracker databasesKnowledge centers
15
ConclusionWith distributed agile development it is possible to
tap into new global marketsmake best use of globally talentpotentially reduce costs
with support of mentioned tools and techniques.
16
ReferencesS.V.Shrivastava, H.Date, "Distributed Agile Software
Development: A Review", JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 1, ISSUE 1, MAY 2010
K.Sureshchandra, J.Shrinivasavadhani, "Adopting Agile in Distributed Development”, IEEE International Conference on Global Software Engineering , p.217-221, 2008.
A.M.Elhassan Hamid, "Upgrading Distributed Agile Development", INTERNATIONAL CONFERENCE ON COMPUTING, ELECTRICAL AND ELECTRONIC ENGINEERING (ICCEEE), 2013
M.Kajko-Mattsson, G.Azizyan, M.K.Magarian, "Classes of Distributed Agile Development Problems", 2010 Agile Conference
17
Thank you