39
_east.jpg GDSD AND AGILE PROCESSES GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku

Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku

Embed Size (px)

Citation preview

Page 1: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Page 28: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku

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

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

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

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

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

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

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

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

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

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

Questions?

Page 39: Http://sevencolors.org/images/photo/original/globe_east.jpg GDSD AND AGILE PROCESSES Olga Sowinska, Jhon Barreiro, Nafiz Utku

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