why projects are bad for creating great ... - cs.tut.fi · why projects are bad for creating great...

19
WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 – Tampere University of Technology TIE-13106 Project Work on Pervasive Systems Olli Pietikäinen ([email protected])

Upload: others

Post on 29-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products?

24.1.2017 – Tampere University of Technology TIE-13106 Project Work on Pervasive Systems

Olli Pietikäinen ([email protected])

Page 2: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

OBLIGATORY SALES PITCH about NITOR

24.1.2017 2

LEANDESIGN

Agile transformation

Agile delivery

ConsultingTrainingKey Position fulfillment

DevelopmentTestMaintenance

Concept DesignArchitecture

User ExperiencePrototyping

Page 3: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

WHAT IS A PROJECT

24.1.2017 3

Page 4: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

Project Definitions

???- Your definition of project

24.1.2017 4

Page 5: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

Project Definitions

???- Your definition of project

“A project can be defined as a temporary endeavor undertaken to create a unique product or service. Projects are different from other ongoing operations in an organization, because unlike operations, projects have a definite beginning and an end - they have a limited duration.”- Project Management Institute, PMI

“A Project is a temporary organization that is created for the purpose of delivering one or more business products according to an agreed Business Case.”- Project management methodology PRINCE2 (PRojects IN Controlled Environments v. 2)

24.1.2017 5

Page 6: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

Project is a useful concept wHEN…

- You are really building something that you can wrap up, ship and forget - “Normal work” is not development but operations - You know with relatively high certainty what the end result should be

Sounds like software to you?

24.1.2017 6

Page 7: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

PROJECTS CAUSE DYSFUNCTION IN SOFTwaRE

PRODUCT DEVELOPMENT

24.1.2017 7

Page 8: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

Dysfunctions

- Scope, budget and dates tend to become fixed - Create illusion of certainty in a complex environment - Prevent learning as the end state is known- Create bias for optimizing locally instead of whole

- Optimize within project instead across all projects within the porfolioand organization

- Large batches make delivery unpredictable - Continuous start-stop of projects- Specialists have multiple projects -> multitasking kills productivity - Good project teams get dismantled at the end of the project to work on

different new projects in new teams - Prevents “double loop learning”

24.1.2017 8

Page 9: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

Double loop learning

24.1.2017 9

Single loop learning

Double loop learning

CC Attribution-Share alike 3.0 (Xjent03 https://commons.wikimedia.org/w/index.php?title=User:Xjent03&action=edit&redlink=1)

Page 10: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

OK, WISEGUY … WHAT’S THE ALTERNATIVE?

24.1.2017 10

Page 11: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

RESOURCES -> TEAMS

- Instead of viewing people as resources that can be allocated 20% there and 40% there, people form stable teams that work together longer with a shared an aim and shared priorities

- Stable teams build around value delivery- Learning and improving how to work together better. Taking responsibility as a team - Conways Law: “organizations which design systems ... are constrained to produce designs

which are copies of the communication of these organizations”

Really a team instead of “group of people”!

24.1.2017 11

<image removed>

Page 12: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

PLAN -> FOReCAST

- Instead of planning in detail what’s going to happen and when in great detail, do forecasting

- Short term can be forecasted with high predictability, longer term with lower predictability

- Using probability interval instead of fixed dates or euro amounts

24.1.2017 12

<image removed>

Page 13: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

PUSH -> PULL

- Instead of pushing work to development teams and asking to estimate when things will be done, teams pull work from queue to be worked on when they’ve finished the previous features

- Heart of the Lean, both in manufacturing and product development

24.1.2017 13

<image removed>

Page 14: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

REquirementS -> EXPERIMENTS

- Scientific mindset - PDCA cycle - Considering the things that we

implement as experiments with hypothesis that we want to validate

- Also closely related to A/B –testing- Faster you go, faster you learn

- Small batch sizes instead of large projects shipped in the end

24.1.2017 14

CC BY 4.0 DiagrambyKarn G.

Page 15: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

PROJECTS -> INITIATIVES

Initiative “an introductory step <took the initiative in attempting to settle the issue>”- Merriam Webster dictionary

- Taking the first steps to specific direction- Learning as we go - Constantly re-evaluating if this is something

worth spending time and money in - OK stop working on specific initiative if we learn

that it’s not as valuable as we thought it would be - Instead of fixed mindset about fixed end result

with specific requirements that need to be fulfilled

24.1.2017 15

<image removed, sailing in the fog>

Page 16: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

DATES -> COST OF DELAY

- Instead of coming up with some arbitrary date when the work should be ready, focus on Cost of Delay and prioritize work that is most valuable from CoD perspective

- “How much each day costs to our organization when this is not yet ready”

https://vimeo.com/101506552

24.1.2017 16

<image removed>

Page 17: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

ARE PROJECTS EVIL?

24.1.2017 17

Page 18: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

Are PROJECTS EVIL?

Of course not.But they might not be a suitable concept for thinking about work, especially in software product development.

Words convey meanings and implicit assumptions. Make sure they serve you instead of hindering.

“All models are wrong but some are useful”Statistician George E. P. Box

24.1.2017 18

Page 19: WHY PROJECTS ARE BAD FOR CREATING GREAT ... - cs.tut.fi · WHY PROJECTS ARE BAD FOR CREATING GREAT SOFTWARE products? 24.1.2017 –Tampere Universityof Technology TIE-13106 Project

Thank you!

Want to know more? Read.

24.1.2017 19