David Harvey has over twenty years experience in designing, building and managing the development of software. Now working as an agile coach and consultant in some of Europe's largest companies, from 2004 to 2008 he took on the role of CTO at Sibelius Software, developers of the world's leading music notation software. Previously he was technical Architect at UBS Investment Bank, and has worked throughout the City of London on advanced middleware libraries and architectures.
He has helped organisations make effective use of object technology, and has delivered introductory and advanced training courses in C++ and OO design. David is familiar to conference audiences at SPA/OT conference and elsewhere from his sessions on C++, patterns, distributed computing, software architecture and software practice, jointly (with Paul Dyson) presented the UK's first workshop on Extreme Programming, was conference chair for OT99, SPA2009 and SPA2010, and has led sessions at SDC in 2009 and 2010.
Track abstract - Developer Effectivness
We’re all used to dealing with code that – all too obviously – has a history. Tangled code, of the sort that many of us have to deal with every day, didn’t get that way by itself: it’s a result of a sequence of design decisions made on the basis of mixed, conflicting and sometimes unclear information, assumptions and abilities. How do we convey to our teams why design matters? It’s not about the code working or being efficient or reliable, it is about the load that bad design puts on a project.
This session introduces techniques for surfacing the issues caused by bad code and for improving the team’s ability to minimize and mange code debt. The aim is to help participants move themselves and their teams to a higher level of design ability.
• Introduction. A participative exercise will underline the message of this session: that code debt slows us down.
• What is code debt? A brief investigation into code quality, and how debt gets in the way. The 5 levels of team capability in dealing with debt. Some examples of debt in a “well-known open-source project”.
• Forensic accounting. How does code get this way? We’ll look at the sequence of decisions, none of them unreasonable, that lead to a debt-ridden codebase.
• Dealing with Debt. Some ideas on working with teams to tackle debt, and to move up the ladder of capability.
This session grew out of work undertaken with clients, and was developed and delivered by Peter Marks and David Harvey at SPA2008, and with updates at QCON 2009 and AgileCambridge 2010. It has received strongly positive feedback in all venues.