Many different software development models have been proposed, attempted and have fallen to the wayside since the waterfall model emerged some 30 years ago. Through working with most of them, we've come to realise that developing software for the web is a completely different ball game altogether. As an internet design and development house we find ourselves in an industry in which the need for a responsive development process has never been greater.
Often our clients aren't exactly sure of what they'd like from their website or web application or what is even possible for us to accomplish with our technological skill set. As a team we pride ourselves in our abilities to strategise, to suggest, to invent and to experiment. Functional specifications, although extremely helpful in getting an overall view of the goals of a project are not enough on their own. Preliminary specification documents often force you to make the most important decisions when you have the least information. They can also lead to illusion of agreement whereby everyone may be reading the same specification but thinking of something entirely different. Fixed functional specifications without a side-by-side prototyping design phase are a far cry from the lively organic nature of the web and don't let you evolve, change, and reassess decisions as you get a feel for what’s actually being built.
We've found that even getting a low-functionality prototype or mock-up version of the project into a clients hand's at the earliest opportunity can improve quality dramatically. By quality we mean a combination of reliability, communicative interface design, technical performance (such as speed), usefulness and breadth of functionality. We want our clients to be involved in the creation of something truly great for their company. We want to collaborate with our clients, to create something that excites and invigorates both parties, not simply provide a functional yet cold and lifeless assortment of code that does what was asked and no more.
Providing both clients and developers with a tangible design from the beginning, in addition to setting expectations of quality, provide a holistic understanding and strategy for what needs to be accomplished. Rapid feedback on design changes, whilst not always possible, can also help to shorten the project life cycle by implementing a shifting strategy before it becomes too late. This is why we see iterative design coupled with client feedback as such a critical process early during the project time-line.
"We start with the interface so we can see how the app looks and feels from the beginning. It's constantly being revised throughout the process. Does it make sense? Is it easy to use? Does it solve the problem at hand? These are questions you can only truly answer when you're dealing with real screens. Designing first keeps you flexible and gets you to those answers sooner in the process rather than later." – 37 Signals Getting Real




