Feeds

XP daddy: go incremental on design

Safe steps for hectic times

The Power of One Brief: Top reasons to choose HP BladeSystem

QCon 2008 Age mellows us all and the co-inventor of extreme programming (XP) and an early Smalltalk advocate, Kent Beck, is apparently no exception.

During his presentations at QCon this week Beck advocated the principle of taking "safe steps" in the evolution of a software design to ensure that technical risk is properly managed.

Beck noted wryly that traditional approaches to software development ran contrary to economic realities. Yet, despite bold attempts at change - such as experimental work on URL-driven design (UDD), literally generating HTML code in real time in response to a web request, during the early days of XP - he has settled on a measured approach.

"Received wisdom is that if you spend time up front getting the design right you avoid costs later. But the longer you spend getting the design right the more your upfront costs are and the longer it takes for the software to start earning. So a rational model of software is to design it quickly - the economic pressure to improvise presents an interesting challenge," Beck told QCon.

Referring back to his early work on XP and UDD, Beck said: "I had long been a fan of incremental design - but I'd never thought until then of how you could take it to the limit and push it to this level."

Needless to say, the approach never went beyond a theoretical possibility and Beck's approach now relies on a more measured philisophy. "Design should be easy in the sense that every step should be obviously and clearly identifiable. Simplify elements to make change simple so you can manage the technical risk," Beck said

In his keynote speech on agile development Beck emphasized the importance of teamwork and relationships alongside purely technical expertise. Beck separately told Reg Dev that the main trend in agile development is towards transparency and accountability because deployment cycles are speeding up.

"Organizations want small changes in functionality on a more regular basis. An organization like Flickr deploys a new version of its software every half hour. This is a cycle that feeds on itself. The business looks at it and says: 'Yes we want to be able to respond quickly so give us something today'. Agile development enables us to deliver incremental change - not because it is better but because it matches what is going on outside."

Beck said this mandates a cultural change in software development with an emphasis on more transparency. "You need a cultural change first - developers can still be uncomfortable revealing that they are tracking bugs, which should not have been there."®

The Register is a media sponsor of QCon London 2008.

The Essential Guide to IT Transformation

More from The Register

next story
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Application security programs and practises
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
Securing Web Applications Made Simple and Scalable
Learn how automated security testing can provide a simple and scalable way to protect your web applications.