Upload
reinhart-de-lille
View
219
Download
5
Tags:
Embed Size (px)
DESCRIPTION
A lightweigh introduction into Agile Programming
Citation preview
Agile Software Developmentaka
How to build a Death Star without being squished by Darth Vader
Reinhart De LilleR&D Manager
Content
• Something short about Adifo
• Prelude (to pain)
• Classical software development
• Going Agile with Scrum
Adifo in figures• 75 employees, 700 customers• Turnover: + 8 million EUR• Export (world-wide): 80%• Customers in more than 60 countries
Turnover Adifo 2011
Belgium
NL, D, Fr
Rest world
Rest Europe
Products
Prelude
• Software development is more than coding• And always involves a lot of people
It is a team effortTo build a software product
That effectively solves a customer’s problemAnd gives value to his business
Customers : Invent requirements Have a real world problem and make your computer deal with it
Product Managers / consultants : Get requirements from customer and marketMake requirements consistent
Analysts Analyse requirements design UI
Architects / DevelopersDesign solutionCode the requirementsWrite unit tests
Testers / System engineers / etc ...
Prelude
Prelude
The whispering paradox
A traditional development problem
A real world example
• Failure and a typical customer response
– http://www.youtube.com/watch?feature=endscreen&v=Q5BjbUiCvFQ&NR=1
How to deal with this?
• Introducing SW development methodologies– And we call it Project Management !
• 2 approaches– Classical : try to make sure we know everything in
advance !
– Agile : build the software incrementally and evolve with the customer specs.
ClassicalTry to make sure we know everything in advance!
• Method– Interview customer till you know last details– Analyse and estimate it from top to bottom– Fix the budget together with customer– And then build the bugger– Very hierarchical
• Examples– Waterfall / CODIS / Rational Unified Process
• Typically used– Large engineering projects, NASA, government projects, etc ...– Or building a death star ...
ClassicalReality check ! There is a dark side to every project!
Managing expectations What does the customer need?
Scope creep I want more whistles & bells !
... And now you do what they told ya ! no responsibilities ...
Very very expensive? Out of budget and out of time?
The world changes faster than the software !
Classical
• How to deal with such crisis ?– http://
www.youtube.com/watch?v=0Cl7cxopNjg&feature=related
– http://www.youtube.com/watch?v=Z6B92nPs8lg
Going Agile
• Take the project management challenges for reality !
• Embrace the ever-changing nature of requirements
• Take responsibility for what you can manage
• And deal with issues as they come
Going AgileAka Incremental software development
• Characteristics– Don’t do a big bang, but– Do iterations of ‘small bangs’– Be deliverable after each iteration– In a self-organising, cross functional team
• Many methodologies– Extreme programming– Scrum– Kanban– Feature driven Development
Going Agile
• Some very simple concepts– Product Backlog– Daily Scrum– Scrumboard– Sprint Burndown
• Self managing Team
• Keep it visual !
• Keep learning !
SCRUM 18
Product BacklogPrioritized product features desired by the customer
Sprint Backlog
Feature(s) assigned to sprint
Backlog items expanded by team
Scrum 15 minute daily meetingTeams member respond to
basics:1) What did you do since last
Scrum Meeting?2) Do you have any
obstacles?3) What will you do before
next meeting?
New functionality is demonstrated at end of sprint
Daily Scrum
Every 24 hours
Sprint(30 days)
SCRUM 19
The Product Backlog IcebergSprint
Release
Priority
High
Low
Future Releases
Value
Cost
Risk
Knowledge
The scrumboard
Velocity and Burndown
It’s all about Productivity
• How fast can we build ?
• How good are the estimations?
Some words on tools
• Very important : Application Lifecycle management system
• Eg Team Foundation Server
• Project management• Source Control• Nightly builds• Automated testing
Going Agile• Take reality for what it is
• Lean and mean in doing the right stuff
• Deal with changes in a ‘natural’ way
• And learn from mistakes
http://www.youtube.com/watch?v=i38h6JRxTQM
And the dark side becomes the bright side
Questions?
Some usefull links
• http://www.geekwire.com/2011/top-10-reasons-darth-vader-amazing-project-manager/
• http://www.youtube.com/watch?v=Q5k7a9YEoUI
• http://www.scrum.org/
• Www.adifo.com