Even Small Projects Need a Little Design
I constantly hear about projects where people haphazardly toss wishes at developers and tell them to get to work. Sometimes this is done in an email, but all too often it's in people's heads and not clearly thought out.
This approach is quick and takes little effort. It also leads to random results. Most of the time the resulting software, whether it's a web application, desktop application or mobile application for the Droid or iOS, grossly misses the mark.
To put this into perspective, it helps to look at a mature industry and see how they approach their business. I like to consider the construction industry, which in many respects it is similar to software construction.
You can see what I mean on HGTV shows that get professionals engaged to create solutions for homeowners. A design is provided so the client can SEE what they will be getting. With this visual design (what we at Aranya consider a crucial part of the documentation) the client gets to tell the designer what they like--and don't--so the final product is something they love.
Designers and builders want to ensure a successful project every time. None of us like unhappy clients. Without a good design written out for our clients to easily SEE what they will be getting, we are relying on the spoken word. It's playing roulette with your project.
Another reason to get everything down on paper is it speeds up the build. Everyone working on the project can see what needs to be done. They can quickly move forward to give you what you want.
When we do software application development, both for software maintenance and for custom software applications built from the ground up, we insist on thorough design. Sometimes that design takes 15 minutes (for small projects) and sometimes it takes several weeks (for projects over 3 months in length). The length of the design phase will roughly correlate with the length of the work to complete the project.
Sometimes on those HGTV shows, the designer allows the client to make changes--or worse, the changes are forced upon them by the homeowner--and has to go back to the drawing board. Changes to the design after build starts almost always lead to elevated costs, compromises on the final product, and a great deal of stress for both sides.
The better the up-front analysis and design, the less likely there will be changes going forward. However, sometimes change is unavoidable. Luckily, this is one place where physical construction and software development differ.
In the software world, it is much easier to phase the development so you build the application in steps. First you build one piece, then the next and the next. This allows you to get short development cycles. The short cycles reduce the chance a change will need to be worked in--most often the changes can be put into the next cycle, avoiding disruption in the current development.
The smaller the project (or cycle) the easier it is to keep changes during build from occurring. But you still need a good design for the current work being done, or even these projects can get out of control. The great thing is that since each cycle in the development process is small, the design is also small. This leads to lower risk, more easily made changes and a more flexible direction for your application to go.
Don't make the mistake of saying "we don't have time for design." The time and money you save from doing a design, whether it be a 15 minute sketch or a series of 2 - 3 hour design sessions with an architect, will make it worth the investment.
Published by Anand Kumar on December 12th 2011 | Software
Published by Virtueinfo Web Technologies on January 6th 2012 | Software
Published by Williemcintosh on June 29th 2012 | Software
Published by Angel on August 24th 2012 | Software
Published by Terry Littrell on May 18th 2012 | Software
Published by Angel on May 30th 2012 | Software
Published by Sigma Solve LLC on July 13th 2012 | Software
Published by Calsoft Inc on April 4th 2012 | Software
Published by Jon on February 15th 2012 | Software
Published by Amit Kumar on July 19th 2012 | Software
Published by Terry Littrell on June 11th 2012 | Software
Published by Angel on January 20th 2012 | Software
Published by Roger Lopez on January 17th 2012 | Software
Published by Sumitdass on August 23rd 2012 | Software
Published by Philip Fransis on March 20th 2012 | Software
Published by Jay Donaldson on March 29th 2012 | Computer
Published by Josejames on June 12th 2012 | Software
Published by Martin Tuner on January 4th 2012 | Software
Published by Terry Littrell on June 22nd 2012 | Software
Published by Elan Technologies on December 26th 2011 | Software