I presented this workshop at CukenFest 2019 in London (http://cukenfest.cucumber.io/).
This talk is for developers, development managers, product owners, and for everyone who has ever had to
deal with a deadline. The participants will learn 10 reasons why deadlines can be missed and will go home
equipped with some techniques to fix that problem.
The workshop is based on my article:
http://smartpuffin.com/whats-common-between-opera-houses-and-software-projects-or-10-reasons-software-developers-go-overtime/
12. The original design was
so boldly conceived that it proved
structurally impossible to build.
After four years of research the architect
altered his design.
Sydney Opera house
10 years late
14. Government changed the requirements
after construction had started.
The original design called for two theatres.
Government required that four theatres
now be incorporated into the design.
Sydney Opera house
10 years late
16. Following the failure to open it in 2012,
many of those involved, from engineers to
architects, were summarily dismissed,
leaving the project in yet more disarray,
because much of the knowledge that had
been accumulated disappeared.
Berlin airport
Twice the time and still not done
24. The roof – which is meant to withstand
pressures of up to 400 kg per square
meter – is failing to stand up to the
cormorant’s beak.
Zenit Arena stadium in Saint-Petersburg
7 times over budget
6 years late
Sydney Opera House (10 years late, 15 times over budget)
Elbphilharmonie concert hall in Hamburg - 7 years late and 10 times over-budget.
Wembley Stadium – the biggest stadium in the UK – was 8 years late, 3 times over budget
This is Berlin. The new airport construction began in 2006, was planned to be finished in 2012, but still isn’t done. “No one, unless he is addicted to drugs, will give you any fixed guarantees for this airport,” the spokesman told the press. That’s quite an estimation.
Align business plans; plan team’s work
Contract specific date budget
Now, when you build unique projects, like opera houses, bridges, arenas, - these are large, complex, and unique projects, and these go overtime rather often.
Software requirements are often very complex, and almost always - unique. Every time you write a new piece of code, you solve a new problem, and chances are, no one has ever solved it before.
Let’s look at sydney opera house
Customers often want to add one more feature or change something
Sydney opera house again
Berlin airport
New ppl have to: get familiar with requirements, get familiar with codebase; different skills; ppl who worked together longer, work together better
Everyone in the team is on their first or second year. The senior has just graduated out of college. The manager has been working for three years and just got promoted.
They all are trying very-very hard, but they just don’t have enough experience yet to start (and finish) a big and complex project.
You’re not done the moment you type ‘git push’. Most developers forget about...
QA. On a BDD conference, it might sound surprising, but it is true
Even if they took QA into account, devs tend to think optimistically. I’ll finish it by tomorrow. No, hold my coffee, I’m already done.
There was one time when for 2 weeks I was saying on standups: “it’ll take 3 more days”.
Come on, chop-chop! It’s day 2, and nothing is working yet! No time for architecture design, start coding!
People react to pressure differently: some pull themselves together and produce more and faster; some - hesitate and work slower.
If devs make trade-offs under pressure, technical debt is growing.
Which javascript framework to choose? React or Vue? Sql or non-sql? Kafka or rabbitmq? AWS or Google Cloud?
They’ll prototype, discuss, compare, and seem to never go out of this loop.
Saddest reason of all. People who are not qualified. People who don’t test; people who don’t think about architecture before coding, people who lie to their managers and customer.