Boost PC performance: How more available memory can improve productivity
Scrum is not enough - being a successful agile engineer
1. Scrum is not enough:
being an Agile engineer
Anton Keks
anton@codeborne.com
Agile Days Moscow, 4.03.2011
2. Anton Keks
Co-founder of
Lecturer at Tallinn Technical University
Member of the board of Agile Estonia
●
Author of Angry IP Scanner
Strong believer in
Agile and Open-source
2
8. Scrum
● Nowadays, Agile is more popular than
Waterfall
● 84% of Agile organizations are doing
Scrum
●
Only 50% of them are doing iterations
● Even fewer use developers' practices
● “Flaccid Scrum”
16. in e
pr
a ct
ipl
ic
is c
es
=
=d
Developers need tools to perform in
an agile environment
17. Mejores prácticas
● Simplicidad (No se va a necesitar)
● Programación en pareja
● Propiedad del código compartida
●
Pruebas unitarias
●
Desarrollo basado en pruebas
●
Pruebas de aceptación automáticas
●
Construyes y lanzamientos repetibles
●
Integración continua
18. Mejores prácticas
Best practices
● Simplicidad (No se va a necesitar)
Simplicity (YAGNI)
● Pair programming
Programación en pareja
● Collective code ownership
Propiedad del código compartida
●
Unit tests
Pruebas unitarias
●
Test-driven development (TDD)
Desarrollo basado en pruebas
●
Automated acceptance tests
Pruebas de aceptación automáticas
●
Repeatable builds & releases
Construyes y lanzamientos repetibles
●
Continuous continua
Integración integration
19. Swedbank
● The major bank in Baltics and Scandinavia
● Agile since 2005
● Started with XP (bottom-up)
●
Voted the best Internet Bank in Europe
20. Productivity
● Decent version control
● Master your IDE
● One-click builds
●
DRY – Don't repeat yourself
●
Script any repetitive tasks
24. Vertical development
●
Every user story must be vertical
= independently add value
= potentially shippable
●
Strictly story-based development
Never add a button to the UI that
does nothing yet!
27. Software Design vs
Architecture
●
Software design is the structure of code
and relations between its elements
● Software architecture is the same as
software design, but used when people
want to make it look important
(after Martin Fowler)
– Architecture is the part of design that is
difficult to change
– Therefore it is undesired :-) 27
28. Design vs Construction
● In civil and mechanical engineering
– Cost distribution ~ 10% / 90%
– Design: intelligently skilled, creative
people
– Construction: manually skilled
● In software ~ 100% / 0% distribution!
– Code is the design, not UML, etc
– Construction: compilation, builds, etc –
almost free 28