Development process

15 January 2013

Sharing code between geographically distributed development teams

Large-scale development increasingly involves distributed teams as organizations seek to manage costs and leverage resources on a global scale. However, sharing code between distant development teams gives rise to problems that can only be addressed in part by processes and tools. You also need teams to communicate directly and build trust.

3 September 2012

How to manage down the payments on your technical debt

Technical debt may be a great metaphor to describe the corrosive effect of quick and dirty design decisions, but it can be difficult to identify, measure and manage.

30 April 2012

Why refactoring code is almost always better than rewriting it

Developers and architects like to build things, so their initial impulse is often to flatten the place, lay some stronger foundations and build something impressive. It can be difficult to get them excited about incremental innovation, even when this is generally the most sensible approach from both a technical and commercial perspective.

11 April 2012

The code reuse myth: why internal software reuse initiatives tend to fail

Despite all the best intentions, software reuse tends to be confined to third party frameworks and tools rather than being an integral part of the development process. Are we expecting too much from software reuse and should we learn to set our sights a little lower?

29 December 2011

Ten myths about Quality Assurance in software development

Everybody would agree that quality is an important part of the software development process. However, the complexity involved in delivering quality is often poorly understood and the amount of effort it requires tends to be underestimated.

3 July 2011

Why you should never use a proof of concept in development projects

A proof of concept is often proposed as a way to quickly demonstrate viability. In most cases it does nothing of the sort and merely delivers a quick hack that can undermine good system design.

23 February 2011

Automating Adobe Air builds using Ant and Flex

The Flex SDK does contain some support for build scripting with Apache Ant. However, as with all automated build management, some script hacking is required to get a smooth automated build working for an AIR application.

3 February 2011

Estimation pitfalls: Why software development estimates are so difficult

Estimates are, in essence, a kind of crystal ball gazing. You are making a series of educated guesses about how long something will take whilst often being hampered by imperfect understanding and squeezed by commercial pressures.