Agile in Distribution

Embed Size (px)

Citation preview

Energisers

Agile in Distribution

Deliver projects no matter where you are

Agenda

Introduction

What is distributed project?

Issues coming up when distributed

Values of XP

Practice Introduced

Communication

Client

Scrum

XP

Q&A

Self introduction.

Reason to give this presentation

3. Question:

How many of us here familiar with agile practices ?

Standup, story wall, iteration, iteration planning meeting,

TDD, continuous integration,

4. Assumption :

Distributed Project

Distributed Customer

Distributed Development Team

When Distributed

Communication & Feedback

Communication & Feedback

time zone difference

knowledge and information not shared enough

language barrier, personality, culture background

misunderstanding of requirements

response to risks and issues.

delayed response time on feedback

duplication of work

Client relationship (if working with offsite customer )

hard to build trust

meet customer expectation

frustration on both side not getting what they want

Frustration on not getting what they want most

Thats not going to work? When Distributed

Client relationship

I am not happy !! Let me help !!

What are they doing now ?

Dont do it !!

Thats TOO easy !

Do what I want !! I am the client

Can they really do it ?

Client relationship (if working with offsite customer )

hard to build trust

meet customer expectation

frustration on both side not getting what they want

Frustration on not getting what they want most

When Distributed

Collaboration

Collaboration

Achieve the agreement

Problem solving

Estimation of work

Schedule meetings

Planning on stuffing and holidays

Values of XP

CommunicationSimplicityFeedbackCourageCommunication Customers must communicate needs and desires; developers must communicate the ramifications of various options; and both must communicate with management to paint an accurate picture of the state of the project. Only with excellent communication can every faction in the development process know the intent of the product and thereby work together effectively for its successful delivery. Simplicity A product must only be as complex as the need it is intended to fill. Why use a freight truck to carry groceries home from the store? Development beyond what is necessary is a waste of time, resources, and hence money. Overly complex systems hide many subtle yet unnecessary problems.Feedback Feedback guides the process along the way. Proper feedback stops problems at the earliest possible point during the development process. To highlight this, an incorrect or inadequate component stops being an issue at the moment when its shortcomings are identified.Courage Developers, managers, and customers should not be afraid to try new ideas and approaches. Sometimes a chance must be taken to achieve the desired results. Communication and/or feedback will raise a flag if something isn't going to work.

Practice introduced - communication

build a communication plan and make sure the explicit availability

activities

tools

specified time & frequency

Practice introduced - communication

seeding visits

maintenance visits

Practice introduced - communication

Batch communication

+

Practice introduced - communication

tools and utilities

distributed project management tool.

Such as mingle , jira

wiki

Common code repository.

Such as SVN, GIT

IM tool

Such as yahoo chat/conference ; skype

Good phone system and network connection

polycom conference phone

Practice introduced - communication

Distributed Story Wall

Practice introduced - communication

Distributed Visual Project Status

Agile Practice Client as part of the team

Part of team deliver product they really need

Client making business decisions and dev team collaborate on technical decisions.

Clear expectations on important activities during delivery of the project

priorites

signoff stories narratives in time

showcase

UAT

Build trust as a team member

Onsite Customer or traveling onsite for important activities

UI presentations

Small releases.

Open : transparency on problems but with control , Simple Design,

.

Agile Practice Client Balance

Balance (no )

setting expectations that there will be communication issues and misunderstandings.

learn to say no.

Help them to improve their business process

Client: (yes)

Thinking in the client shoes and understand priorities/ issues

Frequent BA standup meetings

change control team

onsite ba or representative to work with client schedule

Agile Practice Happy customer

Agile Practice introduced

Planning for Small Releases

$

Release 1

Inception

$

Release 2

$

Release 3

Release 4

$

Agile evolves continuous planning

set up a baseline work pattern/flow during the iteration

consider speed to build trust

Build knowledge transfer time

team member rolling on/off , visting schedule

Travel budget

solve complex business logic

Be aware of holidays

Prepare release plan and iteration plan

Use mingle ; Planning board virtually through email or wiki ;Onsite customer or onsite BA working with with customer

Agile Practice introduced

Iteration Planning Meeting

Distributediteration planning meeting

find a

Using web sharing tool - Adobe Acrobat Connect Pro Meeting

Kickoff

Setting up goals

Repeat planned stories

Tasking together with the customer

Pre-tasking if possible

Close

Analyze iteration results and check if goals are met

Risk and issues

Major activities and events

Showcase

Retrospectives

During Iteration

adapt to change & inspect often

Manage requirement changes

Agile Practice introduced

Retrospective

Agile Practice introduced

Standup across locations

Team in USTeam in China

Agile Practice introduced - development

Knowledge transfer Build relationship QA and BA pairing

Agile Practice introduced - development

Pairing between roles

BAQADevPMClient

Agile Practice introduced - development

Dev Sessions code diff

Agile Practice introduced Continuous Integration

Bosco build succeeded. Good Job, Guys!!

Agile Practice introduced TDD & Refactoring

Agile Practice introduced

Open work environment

& everything we need to surviveA big table lots of wall space

Agile Practice introduced - Team

Dev Sessions lunch sessions

Agile Practice introduced - Team

conclusion

Distributed project is difficult ..but agile and XP practice can help!

Q & A

Reference

Article :

11

Blogs

http://dreamhead.blogbus.com/

http://gigix.thoughtworkers.org

Others:

http://www.martinfowler.com/articles/agileOffshore.html#LessonsLearned

http://www.slideshare.net/nashjain/distributed-agile

ThoughtWorks, 2006

ThoughtWorks, 2006