Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska,...
-
Upload
madeline-hamilton -
Category
Documents
-
view
221 -
download
0
Transcript of Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska,...
![Page 1: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/1.jpg)
http://sevencolors.org/images/photo/original/globe_east.jpg
GDSD AND AGILE PROCESSES
GDSD AND AGILE PROCESSES
Olga Sowinska, Jhon Barreiro, Nafiz Utku
![Page 2: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/2.jpg)
Contents
• Flexible and distributed software processes: Old petunias in new bowls?
• Ambidextrous coping strategies in GDS development projects.
• Agility in globally distributed system development.
• Can distributed software development be agile?
![Page 3: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/3.jpg)
http://sevencolors.org/images/photo/original/globe_east.jpg
FLEXIBLE AND DISTRIBUTED SOFTWARE
PROCESSES
FLEXIBLE AND DISTRIBUTED SOFTWARE
PROCESSESOLD PETUNIAS IN NEW BOWLS?
Jhon Barreiro
![Page 4: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/4.jpg)
Introduction
• What is GSD
• Why GSD?
• Advantages/Disadvantages of GSD
• Problems encountered in software development
• Flexible processes: Agile methods
• Advantages of Agile Methods
• Agile and GSD
• What experts have to say
![Page 5: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/5.jpg)
Problems in software development
• Software delivered late and out of budget
• Software do not meet customer needs
• Software cannot be used
• Despite many examples of good practices, there is still lack of professionalism in software engineering that could even be dangerous in safety-critical systems. http://www.PublicTechnology.net
• One of the problems with cutting-edge software is that it is hard to visualise what the system will do
![Page 6: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/6.jpg)
What is GSD?
• Defined as “software work undertaken at geographically separated locations across national boundaries in a coordinated fashion involving real time (synchronous) and asynchronous interaction”. Sahay (UiO)
• Involves communication for information exchange.
• Involves coordination of groups, activities and artifacts so they contribute to the overall objective.
• Involves control of groups (adhering to goals and policies) and artifacts (quality, visibility & management).
![Page 7: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/7.jpg)
Why GSD?
• Globalization and turbulent business environments, Two factors that create significant challenges for software organizations today.
• In the wake of the IT downturn, many organizations have turned to GSD in their quest for the silver bullet of high quality software delivered cheaply and quickly.
![Page 8: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/8.jpg)
Benefits of GSD
• Improvements in time-to-market efficiency and access to greater--and less costly--resources
• Solves local IT Shortage issues
• Most are attracted by the lower costs
![Page 9: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/9.jpg)
Cons of GSD
• Communication: time differences makes it difficult to communicate properly
• Coordination
• Control issues
• Increased geographical distance can often increase temporal distance and socio-cultural distance
![Page 10: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/10.jpg)
Flexible Processes
• Software process flexibility, concerns the current trend in software development to move from traditional plan-based approaches, as suggested by mainstream software engineering and information systems research, towards more agile approaches.
![Page 11: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/11.jpg)
What is Agile?
• Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project.
• There are many agile development methods; most minimize risk by developing software in short amounts of time.
• Software developed during one unit of time is referred to as an iteration, which may last from one to four weeks
wikipedia.org
![Page 12: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/12.jpg)
Benefits of agile methods
• Higher quality software
• Improved control of a project
• Reduced dependence on individuals and increased flexibility
• Early detection and cancellation of failing products
wikipedia.org
![Page 13: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/13.jpg)
Sample agile methods• XP (Extreme Programming)
Pitched as: Addressing “the specific needs of software development conducted by small teams in the face of vague or changing requirements”
• SCRUM (as in Rugby), first described by Takeuchi and Nonaka in 1986Pitched as: "Management and control process that cuts through complexity"
• DSDM (Dynamic Systems Development Method)Pitched as: “A framework of controls and best practice for rapid application development”
• Crystal OrangePitched as: A method to run “a cooperative game of invention and communication, with a primary goal of delivery useful working software and a secondary goal of setting up for the next game”
![Page 14: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/14.jpg)
What experts have to say?
• David Parnas: “The problem is poor documentation and poor communication”
• Barry Bohem: “The problem is not documentation, the problem lies when we try to apply a “one-fits-all solution” The best way is to use risk as a way to determine where to go agile or document-driven”
• Matthew Simons: “Parnas is right, Pure agile development with little or no documentation beyond code is impractical and inefficient”
![Page 15: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/15.jpg)
Ambidextrous coping strategies
in globally distributed software development projects
Olga Sowinska
![Page 16: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/16.jpg)
Strategies for enhancing flexibilityand rigor
• Geographic distance
• Time separation
• Cultural differences
• Language differences
• Organizational boundaries
• Functional boundaries
Barriers for global software teams
![Page 17: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/17.jpg)
Study
• 22 globally distributed software projects
• Analyzed
• Inputs
• Global boundaries and barriers
• Processes
• Task processes - communication - coordination
• software quality
• On time / within budget completion
![Page 18: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/18.jpg)
Study
• 22 globally distributed software projects analyzed
Inputs
• Global boundaries and barriers
• Processes
• Task processes - communication - coordination
• software quality
• On time / within budget completion
Outputs
![Page 19: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/19.jpg)
Coping strategies for GDSD
• Timing
• Initiation Phase
• Task - common platform
• shared domain / application knowledge
• common task process
• common task context and work environment
• people - labour organization
• minimized task dependencies
• Redundant roles / point persons
![Page 20: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/20.jpg)
Coping strategies for GDSD• Technology - technology readiness
• technology infrastructure
• integrated project management tool
• portfolio of collaboration tools
• Execution phase
• Task - doing more
• more and continuous communication
• extended work hours / shifts
• more and detailed commun ication
• tight project control
• people - labour organization
• minimized task dependencies
• Redundant roles / point persons
![Page 21: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/21.jpg)
Coping strategies for GDSD
• People - awareness / teamwork
• team awareness
• task awareness
• Technology - adaptive use of technology
• broad usage
• evolutionary usage
![Page 22: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/22.jpg)
Findings
• Successful globally distributed software development required not only flexibility / agility but also rigor / discipline in order to sope with complex challenges of global projects.
3 principles:
• Teams need to build a foundation for future flexibility in global software development
• Effective global software teams flexibly deploy coping strategies as needed during the execution phase of projects
• Successful global software teams also exhibit disciplined adherence to the agreed-upon strategies and processes.
![Page 23: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/23.jpg)
Agility in Globally Distributed Systems
Development
Nafiz Utku
![Page 24: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/24.jpg)
Two challenges in development and deployment of GSD
• Development perspective - the complexities of coordination, communication, culture and technology creates challenges due to disparate composition of teams in dispersed geographic locations.
• Deployment perspective firms need to cater for local requirements of the sites spanning the activities of the global business.
![Page 25: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/25.jpg)
Two challenges in development and deployment of GSD
• GDSD agility requires the ability of IS Development and deployment methods to swiftly adapt to the changing business requirements.
• This will allow firms to rapidly develop and tap into emerging business opportunities in geographically dispersed locations.
![Page 26: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/26.jpg)
Three independent components of agility in GSD projects
• Agile IT strategy
• Agile IT infrastructure
• Agile project management
![Page 27: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/27.jpg)
![Page 28: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/28.jpg)
Agile project management:4 skill sets in GSD context
• System localization
• 2-Task division and coordination
• 3-partnership management
• 4-decentralised knowledge management skills
![Page 29: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/29.jpg)
Generic guidelines to achieve GDSD ability
• Develop strategic coherence between global business objectives and IT Systems Development and deployment strategies.
• Update and acquire knowledge on new technologies
• Standardise IT platform through modularization
• Utilise local components and expertise, yet keep to global standards.
• Clearly define rules and responsibilities of each local site in GDSP project.
• Develop good version control systems components.
• Understand the interdependant relationship of IT Strategy, IT Structure and project management to achive optimal agility during GDSD process.
![Page 30: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/30.jpg)
Can distributed software development be agile?
Jhon Barreiro
![Page 31: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/31.jpg)
Some thoughts
• Global sourcing and distributed software development have become a common business reality
• Dynamic business environment requires organisations to develop and evolve software systems at internet speed
![Page 32: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/32.jpg)
GSD and agile are different
• Agile and distributed processes differ significantly in their key tenets
• Agile mainly relies on informal processes
• Tacit Knowledge
• Puts a large premium to face-to-face communication
• Accommodates change due to volatile requirements
• Distributed software processes relies on formal processes
• Rigorous planning
• Formal communication
![Page 33: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/33.jpg)
Challenges in GSD and Agile
• Communication need vs communication independenceDSD relies on detailed architectural design and plan (communication need)Agile relies more on informal interaction than explicit communication (communication independence)
• People vs Process oriented controlIn DSD control is achieved by formal processes. Agile environments are more people oriented.
• Formal vs informal agreementContracts in agile are loosely and informally defined. DSD relies on explicit targets, milestones and detailed specs.
• Lack of team cohesionIn DSD, participants at different sites are less likely to perceive themselves as part of a team. In agile, participants are co-located (good for processes such as XP)
![Page 34: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/34.jpg)
Challenges in GSD and Agile
• Communication is by far the most important aspect
• “Agile methods can rely heavily on frequent, regular contact and involvement with the client.” Hugh Basset-Jones,Senior Web Systems Developer,University of Winchester
• “Sometimes clients do not know what they really want, hence the need for keeping involved in the development process"Matt RenyardWeb Systems DeveloperUniversity of Winchester
![Page 35: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/35.jpg)
Three organisations studied
• Telco, Manco and Consult
• Have software development operations in India and the U.S.
• Agree that it is possible to use agile in GSD environment
![Page 36: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/36.jpg)
The balancing act
• Continuously adjust the processSkeptical of agile development that does not include adequate upfront design, Manco and Consult devoted the first three iterations to finalize critical requirements and develop a high level architecture.
• Facilitate knowledge sharingRather than rely on informal means for project tracking and monitoring, Manco and Telco developed a database to help teams report issues, assign priorities and track project status. However, in the spirit of an Agile process, only minimal documentation was created.
• Improve communicationUsing Short Message Service (SMS) and Online chats extensively
• Build trustFrequent visits by distributed partners, regular visits by customers or surrogates (product managers) with the development team
• Trust but verifySupplementing informal communication with documentation of critical artifacts.
![Page 37: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/37.jpg)
Conclusion
• Definitely old petunias in new bowls
• Software crisis is rather a ‘Chronic’ problem
• Careful incorporation of agility in DSD environments is essential in addressing several challenges to communication, control, and trust across distributed teams.
![Page 38: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/38.jpg)
Questions?
![Page 39: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku.](https://reader035.fdocuments.net/reader035/viewer/2022062404/5515d240550346cf6f8b46b6/html5/thumbnails/39.jpg)
References
• www.cs.cmu.edu/~rajesh/papers/fse07.pdf
• www.wikipedia.org
• http://agilesoftwaredevelopment.com/
• http://www.csis.ul.ie/staff/paragerfalk/CFP_FDSDP_HICSS39.htm