Distributed teams and development

Talare: Thushara Wijewardena, projektledare (www.exilesoft.com)
Hur ska man tänka om man sitter i stora utvecklingsprojekt där teamens kunskap och kompetens är utspridda över flera länder (Distributed development)? Utmaningen och scenariot Thushara berättar om är när hon som projektledare skulle arbeta med två team från Norge och ett team från Colombia i samma projekt.  Det tog flera månader av laborering innan man tillsammans hittade ett sätt att organisera teamen för att få det att fungera.
Utgångspunkten var att få teamen självorganiserade och alla utvecklare flögs in till Norge för att tillsammans prata om organisationen. Det tog flera månader och olika formationer innan man hittade fram till en fungerande lösning som alla uppskattade.
Så här provade sig teamen fram:
Plan A) Språkteam – Ingen blandning geografiskt, olika språk på backlog behövs men komfortzonen är hög
Plan B) Progressteam – Problem med beroenden av alla team. komponentteam och kunskapsteam baseras på tekniken
Plan C) Feautureteam – Fick problem med att ett team i ett land fick ensidiga och enkla uppgifter i sin backlog
Plan D) Collaboration model – Alla team arbetar enligt Scrum och har Scrum of scrums, gick inte att underhålla
Plan E) Featureteam utifrån collaboration – fördela olika features till olika team och blanda teamen, också geografiskt
Lesson learned
Den lösning som teamen kom fram till var tillslut featureteams utifrån collaboration.
   * Teamen är utspridda och arbetar från både från Norge och Colombia.
   * Alla team har teammedlemmar från olika länder och blandar språk
   * En sammanhållande teamcoach för collaboration utsågs för att hålla i offshore och koordinera arbetet
  * Utvecklarna reser ofta och besöker varandra för att dela kunskap inom teamen – fysiska scrum of scrum
Innan man startar
   * Ta fram en modell för hur man organiserar projekten och team- Distributed team zones
   * Identifiera vilka kompetenser behövs(UX, arkitekt, frontend etc) och var de befinner sig geografiskt(Inshore, nearshore, offshore).
Tänk på komplexitet: Kan vi hantera uppdraget inom bolaget eller kan kompetensen finnas geografiskt i ett annat land.
Trust with remote team
Lära känna varandra och gör en gemensam code review
Kontraketen måste vara tydliga – vad ska levereras och när
Kunskap om uppgiften – finns kompetens för levereras
Identification – Hitta roller, vem som kan göra vad utifrån kompetens och individ
Teamtrust – vad är känslan? Hur mycket litar vi en leverans av ett remote team?
Ordentlig projekt initiering
Använder man en metodik ex Scrum? Finns en backlog och produktvision?
Ta reda på praktiska spelregler för projektet. Vilken wiki använder vi, rättigheter, utvecklingsprocess, releaseprocess, sätt att arbeta på, mål, dokumentationsnivå, kvalitet etc.
Kommunicera projektvisionen med teamen.
Specificera DOD
Förväntan av sunt förnuft är olika beroende på kultur och land
Collocation + after action review
Res och besök varandra ofta och låt teamen och utvecklarna träffa varandra. Håll workshops för att utvärdera arbetet löpande och tänk på teambuildning.
Dealing with the middle layer
Identifiera och försök att undvika missförstånd i kommunikationen mellan teamen och stakeholders. Det blir extra viktigt när man sitter i olika länder att inte hamna i “viskleken”.
Utbilda alla i hela ledet om projektet och visionen och hur processen ser ut.
Välj partner med omsorg
Don’t fake Agile – Se till att alla arbetar utifrån samma utvecklingsprocess/metodik och alla partners har samma syn på bra arbetsmiljöförhållanden.
Välj partner med omsorg om man tänker offshore – Säkerställ att teamen och utvecklarna behandlas väl, besök kontoren och ha personliga möten.
Påminner mycket om samma förutsättningar som en utvecklingsavdelning men i större proportioner. Hitta ett skönt gäng (partners och utvecklare) som man tycker har en härlig blandning av personlighet och kompetens. Tillsammans skapar man en gemensam plattform för utveckling, kommunikation och kollaborerar.

A Holistic View on Developer Productivity

What does developer productivity mean, really? Is it churning out more code or less code? Is it to have less bugs in production or shipping code more often? Is it doing a lot of things or just one thing? Let’s think about this for a moment. I believe developer productivity is about getting more things […]


Improving the usability of Aftonbladet Video-clip pages

We have recently started the process of improving the usability of video-clip pages. In order to get an idea of where Aftonbladet stands compared to other world-class online video/news providers, we conducted an online test answered by 110 visitors of Aftonbladet TV. In this test we compared their perception of an Aftonbladet TV video-clip page […]


Schibsted’s 1st iOS Deployment Meet-up

Schibsted’s 1st iOS Deployment Meet-up Thursday, 28th of April 2016: getting to know each other, guests arrive Friday, 29th of April 2016: the meet-up date We here at Aftonbladet had been planning on having a meet-up with iOS developers across various Schibsted companies for many months. We had a range of topics in mind for […]


Hackday: The Future of Storytelling is social, engaging and rewarding

We gathered students, journalists, developers and designers to get together and conceptualize something new for the news industry. This was our first organized hack event – The Future of Storytelling Hack. The hack was a team-based, news-media-focused prototyping and experimentation event within storytelling over two days at Kungsbrohuset, Schibsted and Aftonbladets headquarter in Stockholm. A good story used to […]