3 keys for enabling an agile software delivery

28
3 keys for enabling agile software deliver Oscar Centeno www.softwaremaintainaility.com

Upload: oscar-centeno

Post on 20-Mar-2017

19 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 3 keys for enabling an agile software delivery

3 keys for enabling an agile software delivery

Oscar Centenowww.softwaremaintainaility.com

Page 2: 3 keys for enabling an agile software delivery

That change was so simple; why did it take so long?

Page 3: 3 keys for enabling an agile software delivery

Why do estimates fail?

Page 4: 3 keys for enabling an agile software delivery

Why did we introduce so many bugs? We were careful and tested…

Page 5: 3 keys for enabling an agile software delivery

¿Why is it so expensive to upgrade our technologies?

Page 6: 3 keys for enabling an agile software delivery

Who wrote this? It’s so hard to understand and has no structure!

Page 7: 3 keys for enabling an agile software delivery

I thought I understood that code, but I was wrong. That’s the cause of this bug…

Page 8: 3 keys for enabling an agile software delivery

This change was harder than we thought initially:+ It lead to other changes+ We had to deal with many bugs

Page 9: 3 keys for enabling an agile software delivery

efficiently responding to changesagile

Page 10: 3 keys for enabling an agile software delivery

businesstechnologiespeople

Page 11: 3 keys for enabling an agile software delivery
Page 12: 3 keys for enabling an agile software delivery
Page 13: 3 keys for enabling an agile software delivery

sprints

Incremental

Page 14: 3 keys for enabling an agile software delivery
Page 15: 3 keys for enabling an agile software delivery

agility

collaborationproject management

technical excellence

professional

Page 16: 3 keys for enabling an agile software delivery
Page 17: 3 keys for enabling an agile software delivery

Automated testingAfter each change, it’s our responsibility to make sure everything else is still working fine.

Page 18: 3 keys for enabling an agile software delivery

Our software should be easy to maintain, even 3 years in the future…

understand

testchange

Page 19: 3 keys for enabling an agile software delivery

¿How would you feel working on such software?Would you go faster?more predicable deliveriesless stressmore trusthappier people

better relationship with business

Page 20: 3 keys for enabling an agile software delivery

¿What do we require?

disciplinetrainingdesignautomatesponsorshipstudy

betterwill to be

Page 21: 3 keys for enabling an agile software delivery

3 keys for enabling an agile software delivery

Page 22: 3 keys for enabling an agile software delivery

Lack of useful documentationLack of good organizationLong text filesRight scrolling on filesManual configurationsManual testsLack of logging

¿What does it

do?¿How to

you integrate

it?¿How do you test

it?¿How do

you install it?

Page 23: 3 keys for enabling an agile software delivery
Page 24: 3 keys for enabling an agile software delivery

Do we have clear and useful guidelines on:- how to specify business

rules?- How to write readable and

well-organized code?- How do we slice services?- How do we design

components?- How do we automate

integration?- How do we design a

modular database?- How do we design a

usable/robust user interface?

Page 25: 3 keys for enabling an agile software delivery

Design for testabilityUnit TestingContinuous Integration Automate each deploymentAutomated integration testsAutomated business tests

Page 26: 3 keys for enabling an agile software delivery

That’s too much work,

¿isn’t it? Maybe that would slow us down!

Complex code slows us down.

Everything that reduces road blocks, errors and manual tasks would help us go

faster.

Page 27: 3 keys for enabling an agile software delivery

Recommended books

Page 28: 3 keys for enabling an agile software delivery

Oscar Centeno

3 keys for enabling an agile software delivery

www.softwaremaintainaility.com