David Harvey
David has over twenty years experience in software – as a developer, manager, technical architect, CTO, coach, trainer and consultant. In the 1990s he helped numerous organizations adopt best practices in object-oriented design and implementation: in investment banks in the 2000s he was responsible for defining, designing and implementing large-scale infrastructure for complex and changing businesses. From 2004 to 2008 he was CTO of Sibelius Software, bringing two significant versions of the world's leading music notation program to market. He is now helping companies throughout Europe realize the benefits of Agile development, and as partner in CATeams is helping bring powerful ideas about social complexity and group dynamics into the way software teams work.
David has played a leading role in introducing new thinking into software practice, through sessions at conferences (including the first XP workshop in the UK, in 1999), in his work in teams and organizations and in the UK's software community, and through his chairmanship of the British Computer Society's specialist group on advancing software practice.
Track abstract - Room K2 - Software Development Teams
Code Debt
What it is, where it comes from, what it costs, and how to deal with it.
We’re all used to dealing with code that – all too obviously – as 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.
Outline
• 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.
History
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.
Track abstract - Conversation Corner
Improv!
What has theatre got to do with the work we do every day in our teams and organisations? Plenty, it turns out. We find in our work with and within teams, as coaches or as participants, the lessons of improv heighten our awareness of group and personal dynamics, enlarge our repertoires of behaviours and our capacity to influence, improve our collaborative skills and provoke us towards innovation. Not only has improv taught us many lessons about working together, fluency, behaviour, status, it’s also immense fun.
The session will be dynamic and participatory. We’ll alternate improv exercises and games with brief mini-retrospectives to unpack their meaning and relevance for our everyday work in teams.
Oh – and though we’ll run the session in English, language is immaterial: in the games we’ll let people use any mutually intelligible and agreed-upon tongue!
So please join us for 50 minutes of lively games and reflection.
Track abstract - Conversation Corner
Software Craftsmanship is too expensive for the Enterprise
The Software Craftsmanship movement has a manifesto (http://
manifesto.softwarecraftsmanship.org/) which builds on the Agile manifesto. In practice it seems to be about encouraging developers to use Test Driven Development, Pair Programming, and other agile engineering practices. Enterprises often talk about the need for software quality, but donʼt seem to be prepared to embrace these kinds of practices because they are percieved as too expensive. In this fishbowl discussion weʼll be discussing our experiences working in enterprises and following the principles of software
craftsmanship.
The discussion is open to everyone, but to get things going, some of the conference speakers have kindly agreed to sit in the fishbowl at the start and share their views on the matter.
Back