If you can't read please download the document
Upload
cleverpig
View
1.894
Download
0
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