deliver:Agile 2019 has ended
Back To Schedule
Monday, April 29 • 3:20pm - 4:05pm
Chaos Development: Removing software as the inhibitor of Agile (Fred George)

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.

You’re starting a new project. You’re using real Agile (finally!). Kickoffs, initial stories, tool selection… the atmosphere is electric. That first iteration is complete; yes, a few kinks, but we’re rolling now. A couple of more iterations flow by before the euphemism “technical debt” is heard. The next couple of iterations are a bit of a struggle. Finally, it looks like the goals may not be achievable. Programmers mumble about faulty designs and changing requirements. Business owners roll their eyes, thinking, “Here we go again…”.
What happened? Practical Agile practices were followed, but were mated with very traditional, inflexible programming styles.
Agile development centers around accommodating change. Stories can be played in business-friendly order. Unanticipated changes can and should be accepted with aplomb. Therefore the design and implementation of the software must also accommodate the uncertain.
Chaos engineering is the vogue term used to describe the design of systems that handle the unexpected. Similarly, software development must accommodate unexpected demands. It needs to focus on chaos development.
In this presentation, we will suggest two distinct approaches to chaos development. The first exploits existing OO languages, but employs a particular style of programming, and can be used for most business problems. The second uses an event bus and highly decoupled services, a technique called asynchronous MicroServices, and is appropriate for addressing fuzzy problems.
For the first style, we will delve into the aspects of the style, particularly its focus on small, tight classes; extensive exploitation of design patterns; and careful monitoring of complexity metrics.
For the second style, we will briefly address the principles at work, and show a brief animation of the type of problem nicely handled by asynchronous MicroServices.

Learning Outcomes:
  • The audience should re-examine their engineering practices, and in particular realize that some of their practices are inhibiting successful Agile product development. That realization is soothed by seeing some practical, real-world examples of mitigations.


avatar for Fred George

Fred George

Founder, Fred George Consulting
Fred George is an industry consultant, and has been writing code for 50 years in (by his count) over 70 languages. He has delivered projects and products across his career, and in the last decade alone, has worked in the US, India, China, and the UK. He started ThoughtWorks University... Read More →

Monday April 29, 2019 3:20pm - 4:05pm CDT
Hermitage Ballroom C