techday: approcci moderni allo sviluppo software: la sfida dei team distribuiti - carlo beschi

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

Upload: codemotion

Post on 31-Jul-2015

187 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

APPROCCI MODERNI ALLO SVILUPPO SOFTWARE:

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

Page 2: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

/ME@carloz

Page 3: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

DOES DISTRIBUTEDPRODUCT

DEVELOPMENT WORK?

Page 4: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

DOES DISTRIBUTED MODERN PRODUCT

DEVELOPMENT WORK?

Page 6: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

LINUX KERNEL

• internet

• copyleft (incentive systems)

• transparency

• leadership

• modularity

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

Page 7: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi
Page 12: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

• “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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi
Page 14: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

WHAT MAKES IT WORK?

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

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

Page 15: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

A. HIRINGB. MANAGING

Page 17: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

A Chinese tale

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

Page 19: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

HYGIENE FACTORS

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

Page 20: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

. . . AGILE . . .

• teamwork and collaboration

• short feedback cycles

• inspect and adapt

• same principles, contextual practices (& tools)

Page 21: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

GOING DISTRIBUTED?

DO IT FOR THE RIGHT REASONS!

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

Page 22: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

TIPS FOR THE PRO

Page 23: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

Alistar Cockburn

“Software development is a cooperative game”

Page 24: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

Dan North

“Ignorance is the single greatest impediment to throughput”

Page 25: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

SUGGESTIONS FOR THE REST OF US

Page 26: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

DOES DISTRIBUTED MODERN PRODUCT

DEVELOPMENT WORK?

Page 27: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

PEOPLE AND INTERACTIONSOVER

PROCESSES AND TOOLS

Page 29: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

TIPS FOR THE BIG ONES

Page 30: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

“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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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

Page 32: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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

Page 33: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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

Page 34: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

… & 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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

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: TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribuiti - Carlo Beschi

Thanks!

Enjoy the rest of #TechDay :-)

Feedback: http://bit.do/meglio

Ping me: @carloz