SA Web Awards Visit our Facebook page    Visit our Twitter page     log in   |  sign up 
             
 
       

SA Web Awards Blog

Building a Website - Part 1

25 September 2011

In this multi-part series we explore the process of building a house and highlight the many similarities with building a website. That's nothing new, we hear you saying. True, but in this series we take you step by step through the design and implementation, drawing parallels between the physical and electronic worlds along the way. Even if you have encountered this analogy before, you may be surprised at how closely these processes approximate one another.

Design

One has to embark on the journey of designing the house before the building process can begin. The design goes through many iterations and ultimately results in a formal set of plans.

Along the way thought is given to various factors that influence the end result. The cost of the house, its size and features, and the time allocated to the project must all be considered. The time allocation is particularly important as it affects the other aspects, such as the cost and features of the house. Consideration is also given to the finishes and trimmings, although the finalisation of these aspects can be left until later in the project.

It should be no surprise that designing a website should involve the same considerations. Even in highly agile development environments these factors should be considered early in the project. No business owner would commit to a software development project without some indication of the likely cost and duration of the project, in the same way that no home owner would commit to a building project without an estimate from the builder about the cost and duration of the project.

Planning

When building a house, it would be foolish to start working on the finishes, trimmings and decorating tasks before the foundation and structure are ready. It would be ludicrous for a builder to start plastering individual bricks before the wall is ready. Why then, in the software world, do we find developers working on things in a back-to-front order? Why do we find developers vigorously pursuing the building and decorating tasks before the foundation is ready? These gung-ho approaches invariably result in a lot of work being redone.

We often find — particularly amongst the young and inexperienced members within the agile camp — that there is a belief that planning must be kept to a minimum to keep the project flexible. We must stress that even in very agile projects, a certain amount of planning and laying of foundations is essential for the project's long-term success.

IT people are notoriously averse to committing to deadlines and this has been the source of a great deal of conflict between business owners and developers. Business owners live in a world where features can be added ad infinitum, but the project must be completed within a finite amount of time. IT people live in a world where the development timeline can extend into infinity, but features are not allowed to be added or changed. Somewhere, these two groups must meet in a reality where a solution is needed while it can still be of benefit to the business - all at minimum cost, of course, and at break-neck speed.

The solution may develop iteratively, adding small chunks of functionality one bit at a time. Or it may be tackled in one big block. Or it may progress using a methodology somewhere in between. Whatever approach is used, there needs to be some planning and up-front design work, preparing the foundation on which the rest of the project will rest.

What's Next?

After the design and planning stages, our attention must move on to the foundation of the project.

 
Back to top

 

Comments

Add a Comment

Be the first to comment on this article.

Your name
Your e-mail address (Will not be published)
Your website (Optional)
 
To help us prevent spam, please enter the 4-digit code that you see above into the box below.
Your comments
 
 
 
 
 About usAwardsBlogStay in touchMembers
  About us
FAQ
Our awards
Recent winners
Judging criteria
Collect award
Verify award
Blog
Blog archive
Visit our Facebook page   Visit our Twitter page   Subscribe to our newsletter
Contact us
Privacy policy
Log in
Sign up
Forgot password
Submit website
Terms & conditions