modern approaches to product development: the challenge of distributed teams

39
APPROCCI MODERNI ALLO SVILUPPO SOFTWARE: LA SFIDA DEI TEAM DISTRIBUITI A webinar for CodeMotion #TechDay - Jan, 21st, 2014

Upload: carlo-beschi

Post on 14-Jul-2015

481 views

Category:

Internet


3 download

TRANSCRIPT

Page 1: Modern approaches to product development: the challenge of distributed teams

APPROCCI MODERNI ALLO SVILUPPO SOFTWARE:

LA SFIDA DEI TEAM DISTRIBUITIA webinar for CodeMotion #TechDay - Jan, 21st, 2014

Page 2: Modern approaches to product development: the challenge of distributed teams

/ME@carloz

Page 3: Modern approaches to product development: the challenge of distributed teams

DOES DISTRIBUTEDPRODUCT

DEVELOPMENT WORK?

Page 4: Modern approaches to product development: the challenge of distributed teams

Hudson Bay Companydistributed work since1670

trust and control via hiring, communication and

participation practices http://upload.wikimedia.org/wikipedia/commons/3/3e/Indians_at_a_Hudson_Bay_Company_trading_pos

Page 5: Modern approaches to product development: the challenge of distributed teams

DOES DISTRIBUTED MODERN PRODUCT

DEVELOPMENT WORK?

Page 6: Modern approaches to product development: the challenge of distributed teams

LINUX KERNEL

• internet

• copyleft (incentive systems)

• transparency

• leadership

• modularity

• communities of practicehttp://pixabay.com/p-158547

Page 7: Modern approaches to product development: the challenge of distributed teams

NAMING CONVENTIONS #OFFSHORING, #NEARSHORING, #HOMESHORING, #OUTSOURCING

• REMOTE TEAM: team members are co-located. Somewhere else. (BTW, where is the BIZ seated?)

• REMOTE TEAM MEMBER: one team member works from home (or another office)

• MULTI-SITE DEVELOPMENT: team members are co-located. Different teams work together on the same product from different locations.

• DISTRIBUTED TEAM: team members are NOT co-located

• DISTRIBUTED COMPANY: whole company embraces distributed work

Page 8: Modern approaches to product development: the challenge of distributed teams

WHAT ABOUT YOU?

Are you more a requestor, a coordinator, or a developer?

How large is the organization?

Do you deal with remote and/or distributed teams?

http://bit.do/techday

Page 9: Modern approaches to product development: the challenge of distributed teams

DOES DISTRIBUTED MODERN PRODUCT DEVELOPMENT WORK?

HOW DO WE KNOW IT’S WORKING?

HOW DO WE MEASURE SUCCESS?

(LET’S TRY & USE THE WEBINAR Q&A FUNCTION!)

Page 10: Modern approaches to product development: the challenge of distributed teams

A FEW GOOD INDICATORS

• how much?

• how fast?

• how often?

• how good?

• how happy? (customers, team)

• how much money? (ROI)

• (how do we compare it to a less or non distributed approach?)

• “capability of delivering quickly & frequently high quality, valuable, software”

Page 11: Modern approaches to product development: the challenge of distributed teams
Page 12: Modern approaches to product development: the challenge of distributed teams

• “great remote workers are simply great workers”

• “most remote issues are really trust issues”

• “people play games and watch youtube in the office, as well, if they want to”

Page 13: Modern approaches to product development: the challenge of distributed teams
Page 14: Modern approaches to product development: the challenge of distributed teams

WHAT MAKES IT WORK?

• your take: http://bit.do/funziona

• which are the enablers? the key things that make a difference

Page 15: Modern approaches to product development: the challenge of distributed teams

FROM THE TRENCHES• effective communication (tools to support realtime & async comm. + storage;

frequent travels)

• talented, committed people

• respect (different times, cultures)

• optimal team size and mix

• “common ground”

• trust

• transparency

Page 16: Modern approaches to product development: the challenge of distributed teams

A. HIRINGB. MANAGING

Page 17: Modern approaches to product development: the challenge of distributed teams

case year n of ppl company size

“success rate”

#1 2008 3 8 2/10

#2 2009 8 14 1/10

#3 2011/15 70+ 550 8/10

#4 2012/14 14 170 6/10

#5 2014 4 4 7/10

#6 2014 15 950 4/10

#7 2013/14 22 950 3/10

Page 18: Modern approaches to product development: the challenge of distributed teams

A Chinese tale

image from https://c2.staticflickr.com/4/3274/2461440599_d55ff90806.jpg

Page 19: Modern approaches to product development: the challenge of distributed teams

HYGENE FACTORS

http://upload.wikimedia.org/wikipedia/commons/a/a5/Toiletpapier_(Gobran111).jpg

Page 20: Modern approaches to product development: the challenge of distributed teams

. . . AGILE . . .

• teamwork and collaboration

• short feedback cycles

• inspect and adapt

• same principles, contextual practices (& tools)

Page 21: Modern approaches to product development: the challenge of distributed teams

GOING DISTRIBUTED?

DO IT FOR THE RIGHT REASONS!

https://lh5.ggpht.com/SNdIq3FdZsul4tbC2NZkG3N8lNwoELywBlec6_quA6-NZ74YBekMGjuQEZisJ6jFXTxGnozRWiSgEj1OZDELFkfQrlE=s0

Page 22: Modern approaches to product development: the challenge of distributed teams

TIPS FOR THE PRO

Page 23: Modern approaches to product development: the challenge of distributed teams

Alistar Cockburn

“Software development is a cooperative game”

Page 24: Modern approaches to product development: the challenge of distributed teams

Dan North

“Ignorance is the single greatest impediment to throughput”

Page 25: Modern approaches to product development: the challenge of distributed teams

SUGGESTIONS FOR THE REST OF US

Page 26: Modern approaches to product development: the challenge of distributed teams

DOES DISTRIBUTED MODERN PRODUCT

DEVELOPMENT WORK?

Page 27: Modern approaches to product development: the challenge of distributed teams

RULE OF THUMB

“If you are working well with this team while co-located, it is reasonable to assume that you may work well with them while distributed.”

(“The best way to test your assumption is to run an experiment”)

https://gohelpyourself.files.wordpress.com/2010/06/thumb.jpg

Page 28: Modern approaches to product development: the challenge of distributed teams

PEOPLE AND INTERACTIONSOVER

PROCESSES AND TOOLS

Page 29: Modern approaches to product development: the challenge of distributed teams

TIPS FOR THE BIG ONES

Page 30: Modern approaches to product development: the challenge of distributed teams

“After working for some years in the domain of offshore

distilled our experience and advice down to the following:

Craig Larman, Scaling Lean and Agile Development, p. 1

Page 31: Modern approaches to product development: the challenge of distributed teams

remote work (http://dilbert.com/strip/2009-09-03)

Page 32: Modern approaches to product development: the challenge of distributed teams

remote team (http://dilbert.com/strip/1996-02-20)

Page 33: Modern approaches to product development: the challenge of distributed teams

teaching to remote team (http://dilbert.com/strip/1998-10-14)

Page 34: Modern approaches to product development: the challenge of distributed teams

Craig Larman, Scaling Lean and Agile Development, p. 1

“There are better ways to build large systems than with many developers in many places. Rather, build a small group of great developers and other talents that can work together in teams, pay them well, and

keep them together in one place with product management or whoever acts as the voice of the

customer.”

Page 35: Modern approaches to product development: the challenge of distributed teams

FINAL THOUGHTS

• co-located product development is easier

• inspect your position in the “agile fluency” journey. act accordingly.

• (your effectiveness in distributed product development may be a good indicator of your organization “agility”)

• run experiments

Page 36: Modern approaches to product development: the challenge of distributed teams

GET MORE …

• [article] Distributed Workforce - http://en.wikipedia.org/wiki/Distributed_workforce

• [paper] Essence of Distributed Work: The Case of the Linux Kernel, J. Yun Moon and L. Sprout, 2000 - http://firstmonday.org/ojs/index.php/fm/article/viewArticle/801/710

• [book] Distributed Work, P J Hinds and S. Kieser, 2000, http://www.amazon.com/Distributed-Work-Pamela-J-Hinds/dp/0262083051/

• [post] Geographically distributed agile teams, S. W. Ambler, https://disciplinedagiledelivery.wordpress.com/agility-at-scale/geographically-distributed-agile-teams/

• [article] Working with agile in a distributed team environment, S. Joshi - http://msdn.microsoft.com/en-us/magazine/hh771057.aspx

• [post] Our top 10 tips for distributed development teams, N. Pellow, - http://blogs.atlassian.com/2014/05/top-10-tips-distributed-development-teams/

• [book] Remote: Office Not Required, J. Fried & D. Heinemeier Hansson, 2013, http://www.amazon.com/Remote-Office-Not-Required/dp/0804137501

Page 37: Modern approaches to product development: the challenge of distributed teams

… & MORE• [video] How I fell down the rabbit's hole: life and work at the distributed wonderland, L. Sartoni - https://www.youtube.com/

watch?v=kEvuT9LTNdY

• [post] Remote working: istruzioni per l’uso, A. Salomone - http://www.ideato.it/remote-working-istruzioni-per-luso/

• [post] The Joys and Benefits of working as a distributed team, J. Gascoigne, http://joel.is/the-joys-and-benefits-of-working-as-a-distributed-team/

• [post] Four years of remote working, D. Pomfret, http://simpleasmilk.com/blog/four-years-of-remote-working/

• [book] Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum, C. Larman and B. Vodde, 2009 - http://www.amazon.it/Scaling-Lean-Agile-Development-Organizational-ebook/dp/B001PBSDIE/

• [video] Scrum doesn’t work in China?, Bass Vodde - http://www.infoq.com/cn/presentations/bas_scrum_china

• [paper] Software development as a cooperative game, A. Cockburn, http://alistair.cockburn.us/Software+development+as+a+cooperative+game

• [podcast] The Collaboration Superpowers Podcast, AAVV, curated by L. Sutherland - iTunes store

• [webinar] Jan, 27th, 2015 - 7 tips for improving your geographically distributed team, Johanna Rothman - http://bit.do/webinar27

Page 38: Modern approaches to product development: the challenge of distributed teams

SEE YOU AROUND?• [conf] Codemotion - 23 & 24 March, Rome - “Is Kanban better than Scrum?

(next question, please)”

• [camp] Agile Coach Camp, sometime in June, probably in Trentino

• [conf] Italian Agile Days, 6 & 7 November, Brescia

• [conf] Better Software - 15 & 16 November, Florence - “Managing learning debt”

• [online] xp-it mailing list

• [online] Lean Agile Italy Group on Linkedin

• [online + offline ] WebDeBS group on Facebook, #brainpirlo events IRL

Page 39: Modern approaches to product development: the challenge of distributed teams

Thanks!

Enjoy the rest of #TechDay :-)

Feedback: http://bit.do/meglio

Ping me: @carloz