Reaping the benefits of modern software practice
by Jon Collins and Dale Vile
The software community has always been a communicative one, and new development approaches have been a regular fixture. Today’s landscape sees agile methodologies very much in vogue – but are these affecting the mainstream, or are they just the preference of a vocal minority? More importantly perhaps, how do they fit into your development activities?
Agile development is becoming a recognised alternative to traditional approaches
The principles behind software development success are similar whatever the adopted approach. Agile or structured methods both have pre-requisites in good collaboration and communication, appropriate tools and facilities in place, and the existence of some kind of rule book which can be followed. Truth be told, there are advantages to be had from all kinds of more formalised approach, over ad-hoc approaches to development.
However there are certain characteristics which differentiate Agile projects
Where Agile shines is in projects with fast-changing requirements, for instance user-facing applications, and projects for which timeliness is a key characteristic. Such projects favour the higher level of collaboration which is also a facet of Agile approaches. However this collaboration is no easy thing to achieve in itself – indeed – it implies a certain level of organisational maturity which some development shops may find hard to come by.
Fundamentally, Agile is as much about structure and process as traditional approaches
However, the principles involved in each will apply differently depending on what is adopted, not least that a major success factor of Agile is its continuous approach to delivery. This implies not only that the ‘Agile experience’ can become quite intense for developers, managers and business representatives, but also that it can succeed or fail based on availability of tooling that can support the continuous nature of integration and delivery.
Implementation factors include sourcing, geography and organisation
There are a number of contextual factors that will dictate how best to apply Agile methods. Notably the way that subcontract resources are involved in a project, the geographic distribution of staff, and the organisational structures involved.
The goal is, and should remain effective software delivery to the business
Ultimately, the key to the success of any development methodology is how to ensure the resulting software delivers on its intended purpose, namely helping business users do their jobs effectively.
The research upon which this report is based was designed and interpreted on an independent basis by Freeform Dynamics. The research was sponsored by Perforce Software and conducted in partnership with The Register, as a series of polls across a 4-week period in September and October 2008, which resulted in a total of 1729 responses.