How show Agile principles in the "real" software business? This question of computer science students at the Berlin School of Economics and Law (FHWR Berlin) we tried to answer with this talk. The main part focusses on the twelve principles behind the Agile manifesto and how they become visible in our daily work, told using stories and anecdotes from the companies we work(ed) at
2. 2Berlin | 13 October 2012 | zanox | Agile Development In The Real World
3. 3Berlin | 13 October 2012 | zanox | Agile Development In The Real World
HandsUpphotofromflickrbymicn2sugarsunderCreativeCommons,http://www.flickr.com/photos/mic_n_2_sugars/564570276
4. THE 70s TO 90s: HEAVY ENGINEERING
4Berlin | 13 October 2012 | zanox | Agile Development In The Real World
5. 1995
5Berlin | 13 October 2012 | zanox | Agile Development In The Real World
DoD (US) spent $35.7 billion USD for software.
Only 2% of the projects were a success.
CHAOS report (Standish Group):
84% of all software projects are not successful
BurningmoneyphotofromWikimediaCommonsbyVmenkov,http://commons.wikimedia.org/wiki/File:Burning-money-and-yuanbao-at-the-cemetery-3249.JPG
6. THE 90s: MAKE STUFF LIGHTER
6Berlin | 13 October 2012 | zanox | Agile Development In The Real World
7. FEB 2001: 17 THINKERS WRITE
THE AGILE MANIFESTO
7Berlin | 13 October 2012 | zanox | Agile Development In The Real World
PicturebyUdayanBanerjee,http://setandbma.wordpress.com/2012/03/23/agile-history/
8. 8Berlin | 13 October 2012 | zanox | Agile Development In The Real World
http://agilemanifesto.org
9. AGILE GOT COMMON SENSE
IN THE LAST DECADE
9Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Photofromprojekt-log.deviaTumblr,http://www.projekt-log.de/en/agile_softwareentwicklung/agile-rockt-10-jahre-agiles-manifest/
10. CAN AGILE DELIVER?
●2000: 3 developers, 4 major releases
●2006: 100s of developers, 1 major release
10Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Unhappy customers
Lack of visibility
Unpredictable release dates
Lack of responsiveness
Greene/Fry:LargeScaleAgileTransformation,slideshare.net/sgreene/salesforcecom-agile-transformation-agile-2007-conference
11. 11Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Happy Customers!
Happy Teams!
Greene/Fry:LargeScaleAgileTransformation,slideshare.net/sgreene/salesforcecom-agile-transformation-agile-2007-conference;
SmilingCatphotofromflickrbyDigitalnativeunderCreativeCommons,http://www.flickr.com/photos/classblog/5507018725
12. 12Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Graphic:AllrightsreservedbyLynneCazali,usedwithpermission
13. 13Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Our highest priority is to satisfy the customer
through early and continuous delivery of valuable
software.
14. 14Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Welcome changing requirements, even late in
development. Agile processes harness change
for the customer's competitive advantage.
15. 15Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Business people and developers must work
together daily throughout the project.
16. 16Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Build projects around motivated individuals.
Give them the environment and support they
need, and trust them to get the job done.
17. 17Berlin | 13 October 2012 | zanox | Agile Development In The Real World
The most efficient and effective method of
conveying information to and within a
development team is face-to-face conversation.
18. 18Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Working software is the primary measure of
progress.
19. 19Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Agile processes promote sustainable
development. The sponsors, developers, and
users should be able to maintain a constant
pace indefinitely.
20. 20Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Continuous attention to technical excellence
and good design enhances agility.
21. 21Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Simplicity - the art of maximizing the amount
of work not done - is essential.
22. 22Berlin | 13 October 2012 | zanox | Agile Development In The Real World
The best architectures, requirements, and
designs emerge from self-organizing teams.
23. 23Berlin | 13 October 2012 | zanox | Agile Development In The Real World
At regular intervals, the team reflects on how
to become more effective, then tunes and
adjusts its behavior accordingly.
24. AGILE ROCKS!
24Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Who'sReadytoRockphotofromflickrbyClintusMcGintusunderCreativeCommons,http://www.flickr.com/photos/clintus/2600620271/
25. AGILE COMMUNITY IN BERLIN ROCKS!
25Berlin | 13 October 2012 | zanox | Agile Development In The Real World
27. CONTACT
27
René-Martin Tudyka
ScrumMaster at zanox
Mail: rene.martin.tudyka@gmail.com
Twitter: @renemt
Blog: renemt.de
Berlin | 13 October 2012 | zanox | Agile Development In The Real World
Daniel Berger
ScrumMaster at zanox
Mail: daniele.berge@gmail.com
Twitter: @danieleberge
Blog: agileinberlin.com
Editor's Notes
Rene-Martin Tudyka:Dipl-Ing. (BA) Informatik 2004Background as software developer and software architectFirst exposure to Agile: 2002Focus on Agile development since 20062009: Certified Scrum MasterBrief company history: microTOOL, text & form GmbH, ZalandoNow ScrumMaster at zanoxDaniel Berger:Diplom-Wirtschaftsinformatiker (FH) 2003Background on software development, architect, project managementFirst exposure to Agile: 2001Focus on Agile development since 20082010: Certified Scrum MasterBrief company history: e.g. eBay, AbletonNow ScrumMaster at zanox
Some companies from Berlin, whose software development is based on Agile principles
Don‘t just listen, ask questions and discuss with us!
From 1970s to 1990s: software development as engineering (“Software Engineering”), like building houses or bridgesHeavy processes, trying to consider all conceivable cases
1995: insights that something goes wrongAlarming numbers of not successful projects and money burnedSome people began to think about new, “unconventional” approaches for software development
1990s: a lot of “lightweight” software development methods appeared, driven by different communities
End of 2000s: “Uncle” Bob Martin asked the thinkers behind a lot of these lightweight development methods to meet in Chicago and define a common picture.People appreciated the idea but proposed a ski resort in Utah instead of the depressing, dark, windy ChicagoFebruary 2001: Meeting at “The Lodge” at Snowbird Ski Resort, UtahResult: The Agile Manifesto
12 principles that are the base for the 4 values of the manifestoAvailable at http://agilemanifesto.org, where everybody can sign it!
Since the last 10 years Agile got kind of “common sense” in large parts of the software businessXP ruled in the beginning of the 2000s, since 2005 Scrum took leadership, today defacto “industry standard”Evolution continues, new methods like Lean and Kanban gain attention
- Case study of SalesForce (cloud-based CRM plattform)- Rapidly grown from 2000 – 2006, but extremly decreased productivity and many problems
At Ableton: many content changes to the website, all needed to be done by the developersResolution: development of a CMS to enable the editors to maintain the website by themselvesClose collaboration between development team and editorsfirst usable version after only 2 weeks, more and more new features in 2-weeks cylcesTotally happy editors!
“Normal” development projects in the company: lots of changing requirements – but no big dealDealing with reality, checking opportunities, talking to people, bringing transparencySAP implementation: classic waterfall project, due to external constraintsChanging requirements: annoying to disastrousProblems: high pressure, big risks, unrealistic plans, fear.
Some years ago: strictly dividing product management/software development from sales departmentLots of frustration, unsuccessful products/featuresIn contrast: small development team for internal tools and services, direct personal interaction with the sales colleagues (often young, blonde, and female ;) )Working software tailored to the needs within a few daysTeam felt as “hero team” from the sales department‘s perspectiveToday: back to close collaboration, communication, and transparency between all departments in the company – less frustration, more successful products
The “Cobra” development team struggled with bug fixing, maintenance, and refactorings of external projects for about a year. They even were no real team anymore because everybody had his/her own tasks. They were completely frustrated and demotivated, some people even threatened to quit.New project arose: “Cascade”, a real-time notification tool for our customers, to be informed on transactions in real-time – no competitor had that. Product Owner was Chris, a very energetic, creative, open-minded American.The team overcame their valley of tears, work on this project was great: clear vision, high business value, interesting technologies, trustful collaboration between product owner and team.Cascade launched successfully after only 8-10 weeks under the official name “zanox Shared Tracking”, all parties involved were happy.Some weeks later the project won the “PUBLIGroupe Performance Focus GrandPrix” award (Switzerland). The Cobra team got a nice trophy – and was invited to the Locarno Film Festival, where they had a great time.
We adapted a new bug fixing workflow in the company, from the reporting of a problem by a customer or sales colleague to the fix and live deployment in the technology department. Central component is Jira, an “issue tracking system” where you can enter bug tickets containing information about the problem and let them flow through workflows (like open – analysis – implementation – deployment – done).One time a very impulsive email conversation happened between a sales colleague, who was unable to edit a bug report, and my colleagues, who set up the process, including Jira. The sales guy stated we had changed something and so he was unable to do his work while my colleagues said they didn‘t touch anything and all settings are totally correct and therefore should work.In the end we found 5 minutes for a personal talk at the sales colleague‘s desk. There we saw that he was not logged in to the system and therefore was not allowed to edit any bug report. Finally everybody was satisfied and the waves where calmed in 5 minutes after 3 days full of angry mails.
A big, old, famous publishing company planned to move from print-based business to digital business, as a first step based on an interactive website containing the articles of their print magazines with a discussion functionality.The publishing company started to develop a concept for this website. For that they planned nearly one year.At the same time the software development provider who was intended for developing the website sent the responsibly product owner to the publisher company, to collect the first known requirements.Two weeks later he came back to his development team and they implemented a first version of the website. Another two weeks later they presented the results to the publishing company.It became clear that this first version of the website contained nearly 80% of the desired functionality and could go online immediately. So the publishing company was able to attract new customers and gain more attention in the web instantly.Finally they got the first version of their working site after some conversations and 4 weeks of work instead of using one year only for developing a concept (that would have been completely useless for driving revenue and customer satisfaction).
Some years ago atebay the “Skunkworks Challenge” happened regularly: for some weeks 10% work time could be spent on self-proposed, cool, new projects. Afterwards big presentation in San Jose, California, in front of the ebay executives. Winners got cool rewards and some projects made it into the ebay site itself.Daniel acted as project manager and software architect for one of the projects. He was completely sold on it, voluntary worked hard for the project‘s success, stayed long nights – but was really happy and full of energy. The project was successfully presented and attracted a great deal of attraction.But after the project was over Daniel was really burned out for nearly three month. He was tired, unmotivated, unable to do his job in a reasonable way. To prevent such situations Agile recommends to work on a consistently high – but not overburdening – level of energy and for example prevent regular overhours.
eXtreme programming in almost pure form, development team with 6 peopleFunctional tests written at beginning of each story together with product managerUnit tests for every method (cppunit), strict pair programming, refactoring after each story, continuous integrationExtremely smooth value delivery to business
Pepe, one of our product owners at zanox, had the idea that a new, simple, fully automated statistics download tool for our customers would be a great, valuable idea – and a rather unique feature regarding our competitors.But before throwing a complete development team for a longer time into the project and investing a lot of money he decided to build a small, functional prototype and to find 6 customers who will use the tool.When the prototype was done Pepe found only two interested customers. Therefore he declared the idea as failed and the project died before we invested most of the time and money for a development team, which instead was free for more valuable projects.This way we failed fast and so maximized the amount of work not done.
Some years ago many technical decisions for the zanox platform were made by the product management. The developers was told how they should implement a feature, and time for platform housekeeping and further development of our technology stack was strictly limited. This led to a more and more neglected technology stack, unnecessary complexity and decreasing development speed.Today we reached a clear separation of responsibilities between product management and developers. Product management says what to build and developers say how. They also have dedicated time for platform housekeeping, technology research, architecture planning and other tasks necessary from their perspective. For that they act completely self-organized and decide what to do why and when.This led to a significantly higher satisfaction of the developers, ground-breaking architectural decisions for higher maintability and performance of our platform, aligned technology strategies and improved development speed.
At zanox we hold retrospectives with all Scrum teams at the end of each sprint. Goal is to identify concrete action items to try out in the next sprint to improve the work of the teams. Examples are:Introducing weekly engineering practices workshops in the Discus Fish team to spread knowledge about new discoveries and practices within the team.Introducing a “Code Review” column at the Mustang team‘s task board to make need for reviewing of a “done” task by other team members explicitly visible.Taking time to set up a new team development server in the Honey Badger team to minimize dependencies to other team‘s work increments during a sprint.Pay attention to more respectful conversations even under high workload, assuming everybody does the best he can in the present circumstances.
Soft skills for Agile people: accept changes, solve conflicts, being a team player, continuous learningNot everything that has Scrum/Agile on the cover is actually Scrum/AgileAgile is hard, because continuing change is the normal state
Daniel met the Agile community in Seoul, South Korea, during a longer vacation. When he told about the Agile community in Berlin and the lots of possibilities to meet and learn the Koreans were really envious.In Berlin you can find things like the ScrumTisch, Xtreme Tuesday Club, Kanban Good Practice Circles, Scrum Exchanges, Agile User Groups, various conferences and more.Go there to meet interesting people and get new insights!
Some impressions of how our Agile workspace and collaboration looks like at zanox. What you might recognize amongst others:Many task boards and post-its (transparency)Lots of people talking, sitting and standing together (face to face communication)People relaxing and funny creatures (creative freedom, sustainable pace)
Thank you andcontact us if you have any questions!