2. What did Agile give us?
Creativity Quality
Happiness
Predictability Productivity (at least x 2)
3. Why do
Waterfall
so many
software Easy to go down
projects Hard to go back up
fail?
You might not look the way you
hoped at the bottom!
4. What is Agile software
Development?
“Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan”
http://agilemanifesto.org/ 2001
10. Sustainable pace
Putting pressure on the team
means mistakes and no
continuous improvement
but
Working at a sustainable pace means not
accruing technical debt
11. Practices
And these have led to some recommended practices
Engineering Practices
• Continuous Integration - Gives rapid
feedback
• TDD/BDD - Test/Behaviour Driven
Development
• Refactoring
12. User Stories
As an innovator
I want to
communicate what I
want to do
So that I can find the
best possible solution
Card - Conversation - Confirmation
16. Kanban
Evolutionary approach - Start with what you have
• Visualise the workflow
• Limit Work-In-Progress
• Manage Flow
• Make Process Policies
Explicit
• Improve Collaboratively
My name is Tom Howlett\nI’ve been developing software for 15 years for various startups in London and New York\nI currently work for Biomni who provide service catalogue and request management products to corporate customers\nI pioneered the introduction Agile and Scrum to Biomni when they were struggling to “go faster”\nI’m going to talk about agile software development and its relevance outside the development team\nPrinciple, Practices, Processes and the future\n\n
We’ve been going through the process of becoming agile for about 8 years but really started in earnest 4 years ago when we adopted scrum\nWe’ve seen the amount of software we can develop at least double with a similar sized team\nWhats more rather than decay our productivity continuous to increase\nTeam enjoys their work and we have very low staff turnover\n\n
Waterfall projects specify requirements at the beginning and build\nProgrammers implement solutions provided by business analysts and architects\nNobody really knows what the want at the beginning and requirements change\nWe learn so much as we move through the process and its difficult to go back\nDifficult to gauge when a project will be complete unless you can complete some of it\nUsually results in projects being late and over budget\n
Difficult to define but this does a good job of summing it up and reminds us of agiles original intentions\n
When adopting Agile it is important to have a deep understanding of the principles and apply them to your situation\nMany failing attempts to implement focus on the practices and processes without understanding the principles\n\n
Plan a little bit, do a little bit, review (inspect), improve (adapt)\nYou could see this cycle is really a cycle of continuous experimentation from which we learn and innovate (lean startup)\nThis cycle happens everywhere is agile development from Sprints which last weeks to Tests in TDD which last seconds\n
Where as pre-agile developers often worked alone, it has become a very colllaborative process \nIdeal is to have the customer as part of the team (customer may be a product owner)\nFace to Face communication is preferred\nTeam become self-organising\nMeeting are focused and time-boxed \nLittle need for plans or documentation\n\n
Theres no point in iterating if you don’t learn from it\nReferred to Kaizen - at the heart - from lean, takes priority over everything else\nOnce Kaizen becomes part of the culture you have won\n\n
Pressure is the enemy of Kaizen\n\nPressure can be avoided with Kaizen\nPressure kills Kaizen\n
These practices rely on working in small steps and continuously improving\n
card, conversation, confirmation\nabout collaboration than fixing a requirement and documenting it\n
2 devs sit side by side (driver navigator)\nmake better decisions faster\nkeep each other in check\nsee the woods and the trees\n
need some sort of process to support these principles\n
\nWork is split into timeboxed sprints\nprovides artefacts and ceremanies that provide a good starting point for agile development\nbut still important to collaborate and understand the principles behind it\nrequires a big change in the way you work\n
Start with what you have - so easier to adopt in some scenarios\nalso good for working within a Scrum\nAll tasks are represented by cards on a whiteboard that move through stages in a process\nVisualising - Allows all participants to see the whole system rather than just there own silo\nLimiting WIP - encourages people to help resolve bottlenecks whether temporary or persistant\nSystem Thinking - focuses on the relationships between roles not the roles themselves\n\n
Agile Principles are moving beyond development team\nSteve Deming wrote Radical Management - argues command and control no longer useful\nLean Startup uses an iterative approach to discover startup business models\n
Despite intentions most of the progress in agile has been engineering lead “doing things right”\nThere is still much progress to be made in doing the right things\nby working more collaboratively with customers and designers\n