Teams, projects and codebases can run into the ground very quickly if nobody takes care of the longer-term view. The law of entropy means that work must be done to prevent a slide into disorganisation and ultimately chaos. 'Code-rot' can set in and for apparently no reason, the team delivers less and less over time: what used to be a simple change now takes major effort.
If no account is taken of the effect of entropy on the code, its structure or even the build process itself then it becomes harder to change. Deliberate effort is required to fight entropy - to tidy code, to pull out common code, to introduce or improve structure. What was a greenfield codebase becomes a legacy before it's even launched. This slowly strangles the team, the project and ultimately the business - everyone's employer.
To business people (project managers, product owners) this might not be visible or understandable: even worse, the perception may be that the team has become lazy - where in reality they're working harder and harder just to keep the same pace. But they're trying to swim in treacle.
This session delves in to some of the common symptoms observed, described above, and fortunately some of the ways to address them. Agile practices give us the methods to do this: inspect and adapt. Learn the code by changing it; make sure you have a pyramid of tests from unit to system and make sure they're robust. Make larger structural changes by planning an evolution to get where you need to be. If code is repeating, then make it common. Remove out of date or just plain misleading comments.
But get them done or the project can quickly take a downhill spiral.
This session aims to be accessible for all, and might explain what the developer has been talking about all this time.
David is an independent agile software consultant and committed clean coder based in Cambridge. He has worked in just about every role within software and across all manner of sectors - public, private, education - and industries from food to finance and GIS (geographic information systems).
To buy tickets to see this fantastic talk, and many others like it head over to our ticket page.
Need help planning which sessions to attend? We've provided a breakdown of our various session types below.
A presentation and discussion of real-life (not theoretical) experiences of the application (or mis-application) of Agile and Lean practices. Case studies and experience reports include some discussion of lessons learned and an indication of how novel the work is.
Participants learn a new approach, tool or technology through using it to solve one or more practical exercises. Any software/hardware requirements are disclosed in the session description.
A session focused around some specific tool, technique or issue. Primarily led by the speaker, tutorials usually include some elements of interactivity or individual / group exercise.
An in-depth working session on a specific topic. May include paper presentations.