distributed agile

22
Distributed Agile 1

Upload: aslam-hirani

Post on 17-Feb-2017

78 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Distributed agile

Distributed Agile

1

Page 2: Distributed agile
Page 3: Distributed agile

Why Distributed team

In search of talent

Buying companies globally

To cater to specific market

To take advantage of cost

Page 4: Distributed agile

Distributed teams are on rise

Version one 10th Annual Agile survey

Page 5: Distributed agile

Agile Principle

“The most efficient and effective method of conveying information to and within a development team is face to face conversation”.

Page 6: Distributed agile

▪Concerns against distributed team

Lack of effective Communication

Maintaining Code Quality/Stable System

Visibility on the project’s progress

Lack of technical/domain Knowledge

Page 7: Distributed agile

Team with remote members -1Sprint Team

1Sprint Team

2

Client

India Team

Integrated Scrums modelThe Challenges with this model are

•Hallway discussions does not flow on either side – Team feels left out and productivity could drop•Very little Communication between distributed teams – More rework or waiting period•Framework is not uniform as team is distributed.•Dependency is huge between teams as team is distributed. Loss of time due to waiting for discussions.• Less time overlap – difficult to interact and discuss• Logistics - webcams on each machine, webcams in work area , wireless audio facility to interact with any members across location, tools to assist this model.•Scrum master at one location finds challenging to solve impediments of the team on the other side

The advantages are• Initial sprints the offshore team does not have enough knowledge(domain, systems) and joint development might be good idea to share the knowledge. If the time overlap is more than half a day

Page 8: Distributed agile

Sprint Team 1 Sprint Team 2

Location 1

Location 2 Sprint Team 3 Sprint Team 4

PO

Recommended Distributed Team Model

Proxy PO (2 alternatives)•Dedicated Proxy PO•PO Knowledge spread in the team

The advantages are•Each scrum is co-located, Face 2 Face interaction within team members

•Scrum master in better position to resolve the impediments

Page 9: Distributed agile

Split work vertically across distributed scrum teams

Analysis

Design

Code

Test

Deploy

Avoid Splitting work Horizontally across scrum teams

Split work vertically across scrum teams

Page 10: Distributed agile

Collaboration Tools

● Collaboration tools - Slack,Hipchat, Basecamp, yammer,

● Video Conference - Skype, Google hangout, gotomeeting, Zoom

● Calendar - Google calendar

● Agile Project Management tools - Rally, Jira, Version One, Trello, LeanKit,....

● List of distribtued team tools - https://blog.ghost.org/distributed-team-tools/

Page 11: Distributed agile

● Experienced/Proactive team members to be part of the team.● Team members to be generalized specialist to avoid dependency● Automation across entire SDLC life cycle(Avoid approvals)● Use communication channels that all team members can subscribe to● Culture training, Make a list of Holidays/vacation in each remote location

Location 1

Recommended Distributed Team Model

PO

Location 2

Location 5 Location 4

Location 3

Page 12: Distributed agile

Practices to be used for distributed teams

• Good Practices

• All project documents, work progress, discussions to be put in a collaboration tool(wiki, agile tool,..) rathern than in email.

• Use automation tools for development and testing.

• Stretching beyond normal office hours to be balanced for team members across locations.

• Distributed team to have some informal meetings for team bonding

• Use Distributed team games as Icebreakers for increasing team bonding

• Team updating the status on the agile project management tool on daily basis

• Holidays listed in central place.

Page 13: Distributed agile

Release Planning

Release Planning

Face 2 Face meetings for vision, strategy, setting big goals

1.Product Owner travel to distributed location.

2.Proxy PO travel before release planning.

3.Use video conference

4.Team to meet at common place

Objective -Team will have clear understanding about the release.

Page 14: Distributed agile

Team

● Hire team members ready to work in agile environment

● Hire some team members with domain skills

● Train the team on culture, domain and higher level goals

● Hire team members that are ready to work as generalized specialist

Page 15: Distributed agile

Grooming and Sprint Planning well in advance

grooming for sprint 3

Pre sprint planning for sprint 2

Sprint 1 Sprint 2

Execution of sprint 1 Execution of sprint 2

Pre sprint planning for sprint 3

grooming for sprint 2

Pre sprint planning for sprint 1

Release Planning

grooming for sprint 4

Page 16: Distributed agile

Pre sprint planning and Retro

Sprint StartPre -Sprint PlanningStart

Demo/Review

Sprint 1 Sprint 2

• Task Break down done independently

• ATDD• Definition of Ready

• Local retrospective

● Digital Communication has latency so plan in advance.● Use Common collaboration tools for discussion/clarification of user stories. Avoid one to one emails.

Page 17: Distributed agile

Access to Infrastructure by all team members

All centers to have access to dev/test/production infrastructure.

Page 18: Distributed agile

Standup

Local Daily Standup

Standup

• Scrum of Scrum on collaboration tools, HipChat• Raise impediments on collaboration tools.• If the entire team members are remote then each member can put the 3 things on collaboration tool.

Standup

Page 19: Distributed agile

Developers GITReview & Check-in

CI(jenkins)

Poll - 5s

Checkout

Compile

Static Analysis

Run Unit testRun Code CoverageDeployRun Smoke Test

FailedNotify Team

Limit failed

Notify Team

Limit failed

Notify Team

Test Failed

Dev

QA

SLT

IT

Run Regression

Run Performance

Run Security

NightlyContinuously

Compile

Static AnalysisRun Unit testRun Code Coverage

Continuous Integration

Notify Team

Page 20: Distributed agile

Celebration

● Once a year

Page 21: Distributed agile

Examples of companies with distributed teams

Buffer: Doesn't care where its employees live.

Mozilla: “We have 13 global offices and people working in

more than 30 countries. If you work best from home, that’s

not a problem.

InVision: “Who says you need to move to work at a great

company? Not us. We know there’s great talent all over the

place and we are a completely distributed company. http://www.zdnet.com/article/25-companies-that-hire-virtual-workers/

Page 22: Distributed agile

Thanks