3 keys for enabling an agile software delivery
Oscar Centenowww.softwaremaintainaility.com
That change was so simple; why did it take so long?
Why do estimates fail?
Why did we introduce so many bugs? We were careful and tested…
¿Why is it so expensive to upgrade our technologies?
Who wrote this? It’s so hard to understand and has no structure!
I thought I understood that code, but I was wrong. That’s the cause of this bug…
This change was harder than we thought initially:+ It lead to other changes+ We had to deal with many bugs
efficiently responding to changesagile
businesstechnologiespeople
sprints
Incremental
agility
collaborationproject management
technical excellence
professional
Automated testingAfter each change, it’s our responsibility to make sure everything else is still working fine.
Our software should be easy to maintain, even 3 years in the future…
understand
testchange
¿How would you feel working on such software?Would you go faster?more predicable deliveriesless stressmore trusthappier people
better relationship with business
¿What do we require?
disciplinetrainingdesignautomatesponsorshipstudy
betterwill to be
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?
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?
Design for testabilityUnit TestingContinuous Integration Automate each deploymentAutomated integration testsAutomated business tests
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.
Recommended books
Oscar Centeno
3 keys for enabling an agile software delivery
www.softwaremaintainaility.com