scaling agile and distributed development webinar v1.0

39
© 2014 IBM Corporation Adopting Agile Agile and Distributed Development Webinar Reedy Feggins – [email protected] Certified ScrumMaster (CSM), PMP

Upload: reedy-feggins-pmp

Post on 15-Jan-2015

105 views

Category:

Software


0 download

DESCRIPTION

The webcast is on agile development is overview of agile being done distributed. In this day and age when outsourcing is the standard and no development is co-located how does a company do agile development. You have license to do what every you want as long as it loosely fits the topic. Please send me the PowerPoint before or right after the presentation.

TRANSCRIPT

Page 1: Scaling Agile and distributed development webinar v1.0

© 2014 IBM Corporation

Adopting Agile

Agile and Distributed Development Webinar

Reedy Feggins – [email protected] ScrumMaster (CSM), PMP

Page 2: Scaling Agile and distributed development webinar v1.0

2 Scaling Agile Practices

Innovation is increasingly being driven by software

Source: Mobile banking: A catalyst for improving bank performance, Deloitte, 2010;and This Car Runs on Code, Robert Charette, IEEE Spectrum, 2009.

Mobile banking will bethe most widely used bankingchannel by 2020, if not sooner

The average 2010 automobile contains more lines of software

code than a fighter jet

Page 3: Scaling Agile and distributed development webinar v1.0

3 Scaling Agile Practices

Source: Numerous sources, see speaker notes for details

2010 Spending in U.S. on governance, risk and compliance was $29.8 billion

IncreasingMandates

62% of projects fail to meet intended schedule

Unpredictability in Software Delivery

50% of outsourced projects are expected to under perform

Globally Distributed Softwareand Product Supply Chains

Complex, Multi-platformSystems and Applications

62% of companies have agile projects requiring integration with legacy systems

30% of project costs are due to rework and poor execution of requirements

Changing Requirementsand Time to Market

CostReduction

70% budget locked in maintenance and37% of projects go over budget

2010 Spending in U.S. on governance, risk and compliance was $29.8 billion

IncreasingMandates

62% of projects fail to meet intended schedule

Unpredictability in Software Delivery

50% of outsourced projects are expected to under perform

Globally Distributed Softwareand Product Supply Chains

Complex, Multi-platformSystems and Applications

62% of companies have agile projects requiring integration with legacy systems

30% of project costs are due to rework and poor execution of requirements

Changing Requirementsand Time to Market

CostReduction

70% budget locked in maintenance and37% of projects go over budget

Software-driven innovation is challenging

Page 4: Scaling Agile and distributed development webinar v1.0

4 Scaling Agile Practices

What is required to deliver high-quality Software on time and budget ?

Page 5: Scaling Agile and distributed development webinar v1.0

5 Scaling Agile Practices

Agile flips the Iron Triangle

Page 6: Scaling Agile and distributed development webinar v1.0

6 Scaling Agile Practices

Agile values Individuals InteractionsIndividuals Interactions

Respond to ChangeRespond

to Change

Source: www.agilemanifesto.org

Processes and ToolsProcesses and Tools

Following a Plan

Following a Plan

overWe value

That is, while there is value in the items on

the right, we value theitems on the left more.

CustomerCollaboration

CustomerCollaboration

ContractNegotiation

ContractNegotiation

WorkingSoftwareWorkingSoftware

ComprehensiveDocumentationComprehensiveDocumentation

Page 7: Scaling Agile and distributed development webinar v1.0

7 Scaling Agile Practices

Agile Framework

XP

• Based on simplicity, communication, feedback, courage, and respect

• Start simple and add complexity through refactoring

Scrum SCRUM

• Small teams of 6-9 people

• “Backlog” defined requirements that will be addressed in each Sprint

• Daily 15 minute Scrum meeting to discuss work for the day

Crystal

• Frequent delivery

• Reflective improvement

Lean

• Based on 7 core principles (e.g.,,• Eliminating waste, • amplifying learning • Building Integrity in

from start• Uses Kanban and

Value stream mapping to improve team performance

Feature Driven

• Develop feature list

• Plan, Design, Build by Feature

Test-driven development

Planning game

Pair Programming

Refactoring

Agile Practices - The above methods involve a range of techniques including:

Continuous integration

Design improvement

Small releases

Simple design

Static Analysis

Coding standard

Sustainable pace

Whole team

“Agile” is generally a overloaded term in the industry…

DisciplinedAgile

• People-first, learning-oriented hybrid agile approach to IT solution delivery.

• It has a risk-value lifecycle, is goal-driven, is scalable, and is enterprise aware.

Unified Process

Page 8: Scaling Agile and distributed development webinar v1.0

8 Scaling Agile Practices

Comparing Agile vs. Waterfall Approach

% 100Working

Code

TimeMONTHS

Architecture DesignReqts Coding Test Deployment

1 2 3 4 5 6 7 8

S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15

Page 9: Scaling Agile and distributed development webinar v1.0

9 Scaling Agile Practices

Common Agile Inhibitors

Page 10: Scaling Agile and distributed development webinar v1.0

10 Scaling Agile Practices

* Greater opportunity for languageand cultural differences.

Types of Geographical Distribution

Increasing Challenge

Page 11: Scaling Agile and distributed development webinar v1.0

11 Scaling Agile Practices

Get to know each other

Culture, customs, personality, family, likes,

dislikes…

Page 12: Scaling Agile and distributed development webinar v1.0

12 Scaling Agile Practices

Why are we distributed?

� Speed to Market with “Follow the Sun”

� Acquisitions

� Access to Needed Skills

� Improved Distance Collaboration Tools

� Many people work from home even when they are less than 10 miles from office

“We conclude that there was an approximate10% reduction in development duration -- rather thanthe theoretical 50% of FTS.”

Erran Carmel, et al. Follow The Sun Software Development: New Perspectives, Conceptual Foundation, and Exploratory Field Study

Page 13: Scaling Agile and distributed development webinar v1.0

13 Scaling Agile Practices

Distribution is a major challenge for Agile teams

338But many teams still do it.

China40

Westford22

Dublin

10

India, 20

Sydney

44

Raleigh 79

Boeblingen, 123

Core TeamUS 101Germany 123China 40Sydney 44Dublin 10India 20Total 338

Here is an example from an IBM software team

Page 14: Scaling Agile and distributed development webinar v1.0

14 Scaling Agile Practices

Dealing with Distribution

� Strive for the RichestCommunication Channel Possible

� Critical Tools for Distributed Team Communication

Page 15: Scaling Agile and distributed development webinar v1.0

15 Scaling Agile Practices

Strive for the Richest Communication Channel Possible

Page 16: Scaling Agile and distributed development webinar v1.0

16 Scaling Agile Practices

Edward T. Hall (1959), a renowned social anthropologist, argued that in a normal conversation:

“More than 65 percent of social meaning occurs through the nonverbal channel .”

Nonverbal Communication

Page 17: Scaling Agile and distributed development webinar v1.0

17 Scaling Agile Practices

Trust and Connection

http://flickr.com/photo/19364701@N00/2982998577

Joe Mabel

Page 18: Scaling Agile and distributed development webinar v1.0

18 Scaling Agile Practices

Adopt new practices to handling time zone issues

Use a LiaisonUse a Liaison

Whole teamConsistent Date/time

Whole teamConsistent Date/time

Whole teamAlternating

Meeting Times

Whole teamAlternating

Meeting Times

Documentation(and chat)

Documentation(and chat)

Page 19: Scaling Agile and distributed development webinar v1.0

19 Scaling Agile Practices

Using documentation

• Anyone who cannot attend documents their answers in an e-mail or wiki

• The Scrum Master reads their answersin the meeting

BUT…� Lack of opportunity for Q&A� Less rich communication vehicle� People don’t always read about what

team mates are doing� Reduces the whole team experience� Reduces peer pressure

DocumentationDocumentation

19

Page 20: Scaling Agile and distributed development webinar v1.0

20 Scaling Agile Practices

Meeting via instant messaging (form of documentation)

� Transcript of session produce notes for the meeting

� Makes the meeting easier for non-native speakers

BUT…

� Complete loss of non-verbal communication

� Difficult to gauge if everyone is paying attention

� Depends on the Scrum Master to start on time

� Hard to follow if the meeting is not structured

Instant MessagingInstant Messaging

Page 21: Scaling Agile and distributed development webinar v1.0

21 Scaling Agile Practices

Taking a Liaison Approach

� Team schedules the meeting at two different times

� Team members attend at the meeting time most convenient to them

� One team member serves as a liaison and attends both meetings

� Liaison communicates information from the other meeting

21

Page 22: Scaling Agile and distributed development webinar v1.0

22 Scaling Agile Practices

Taking a Liaison Approach

Pros

Better for sustainable pace

Allows for a degree of visibility on everyone’s work

Can be better than docs because people can ask questions.

Richer communication medium.

Cons

The liaison is basically “playing telephone”

The liaison may not present all the details

Risk of fracturing of the team

Negative impact on “whole team” view

Negative affect on the work-life balance of the liaison

Page 23: Scaling Agile and distributed development webinar v1.0

23 Scaling Agile Practices

Whole Team

� Primary roles:

– Stakeholder

– Team Lead

– Product Owner

– Agile Team Member

– Architecture Owner

� Secondary/optional roles:

– Domain Expert

– Technical Expert

– Independent Tester

– Integrator

– Specialist

Page 24: Scaling Agile and distributed development webinar v1.0

24 Scaling Agile Practices

“Whole Team” ApproachA True Story

Austin, TXUSA Austin at Night by eschipul

St John, NBCanada

BangaloreIndia

http://www.flickr.com/photos/eschipul/5731604153/lightbox/

4:00 a.m.

6:00 a.m.

2:30 p.m.

Page 25: Scaling Agile and distributed development webinar v1.0

25 Scaling Agile Practices

Or, you can alternate meeting times for whole team

• Team identifies two different times for the meeting• Team alternates the time used for the daily scrum at a set

frequency (every day, every week)• Everyone is encouraged to attend• Anyone who cannot attend documents their answers in an e-mail

or wiki• The Scrum Master reads their answers in the meeting

25

Page 26: Scaling Agile and distributed development webinar v1.0

26 Scaling Agile Practices

3 Important Questions

1

2

3

Page 27: Scaling Agile and distributed development webinar v1.0

27 Scaling Agile Practices

Alternating Meeting Times

ProsEveryone shares equally in the compromiseAligns best with interactive spirit of Scrum and AgileVerbal communicationOpportunity for Q&AGreater pressure to deliver on commitments

ConsChallenging for sustainable paceSome may not be willing to share the painLoss of information from members if team members don’t show up during the hours that are bad for them

Page 28: Scaling Agile and distributed development webinar v1.0

28 Scaling Agile Practices

That Was Basic Communication…What About Collaboration?

� Silo’d teams; disconnected data

� Important discussions are lost to email -project records are missing the “real reason” for decisions

� Unified team shares linked data

� ALM environment tracks what is important for delivering

� “Am I blocking others”

� “Are others waiting for my approval”

www

Page 29: Scaling Agile and distributed development webinar v1.0

29 Scaling Agile Practices

Critical Tools for Distributed Team Communication

Page 30: Scaling Agile and distributed development webinar v1.0

30 Scaling Agile Practices

Collaborating in Real-time and in Context of Project Work

Team Awareness

� Shows team members and their online status

� Discussions kept with work for all time

Team Awareness

� Shows team members and their online status

� Discussions kept with work for all time

Change Awareness

� Automatically links to changes if mentioned in chat

� Drag and drop any work item or query into chat

Change Awareness

� Automatically links to changes if mentioned in chat

� Drag and drop any work item or query into chat

Avoid Duplication

� Find potential duplicates

� Subscribe team members

� Move / Copy work between projects

Avoid Duplication

� Find potential duplicates

� Subscribe team members

� Move / Copy work between projects

Rational Team Concert

Page 31: Scaling Agile and distributed development webinar v1.0

31 Scaling Agile Practices

Distributed Planning

� May have to do planning in two chunks of time rather than one solid (4-hour) block

� Will need/want an electronic agile planning tool to pull stories into the Sprint plan

� Typically use electronic modeling, drawing tools and screen sharing. May do some diagrams offline and share electronically.

� Easy Planning Poker (Chat, everyone enters the number of story points)

� Teams will share files and links to facilitate discussions31

Page 32: Scaling Agile and distributed development webinar v1.0

32 Scaling Agile Practices

Cultural Differences

The meaning of “Yes ”

Page 33: Scaling Agile and distributed development webinar v1.0

33 Scaling Agile Practices

Cultural Differences

Page 34: Scaling Agile and distributed development webinar v1.0

34 Scaling Agile Practices

Handling Distributed Sprint Activities

Page 35: Scaling Agile and distributed development webinar v1.0

35 Scaling Agile Practices

Distributed Daily Scrums

Page 36: Scaling Agile and distributed development webinar v1.0

36 Scaling Agile Practices

Distributed Retrospectives

“At regular intervals,

the team reflects on

how to become more

effective, then tunes

and adjusts its

behavior

accordingly.”** http://agilemanifesto.org/principles.html

Page 37: Scaling Agile and distributed development webinar v1.0

37 Scaling Agile Practices

Distributed Demos

Page 38: Scaling Agile and distributed development webinar v1.0

38 Scaling Agile Practices

Summary

� There may be good reasons for having distributed teams

� Aim for lowest level of distribution possible in a given situation

� Choose richest form of communication possible

� Foster understanding and collaboration between team members

� Actively address language and cultural barriers

Page 39: Scaling Agile and distributed development webinar v1.0

39 Scaling Agile Practices

© Copyright IBM Corporation 2013. All rights reserv ed. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of theInternational Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

www.ibm.com /software/rational