Many software projects fail, superficially for a host of reasons. Perplexingly, even those projects that are well-funded, working on a well-conceived project with the right tools often fail to deliver on time and on budget - sometimes spectacularly. Those software projects that do finally deliver often produce a delivery that, whilst it satisfies written requirements, is painful and complex to use.
The traditional model for software development is fundamentally flawed. It emphasises areas where software is poor, and fails to exploit the opportunities software presents. Software is hugely complex, and attempts to write detail specifications before delivery will fail always to capture essentials that later cause problems. Software is also tremendously flexible - but traditional techniques fail to capitalise on the way software can be adapted and changed, often easily, to meet real user needs.
Isotoma use a radically new approach to software development, with outstanding results. This approach is called Agile Software Development (http://agilemanifesto.org/):
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Software can also be a joy to use, when people's needs and experiences are truly taken into account. This is not the typical experience of a "user" however. While there are many aspects to the "Web 2.0" movement, this is one with which we agree wholeheartedly - that with an imaginative approach and a real attention to our users we can produce software that is beautiful.
