On the Bangalore OCC mailing list which has a fantastic mix of entrepreneurs, consultants, VCs and like, somebody while advising to be careful while hiring web developers commented: “Web development is not… one time development…”. That got me thinking: Web development is still tricky. Yes, we do have our productive frameworks and tried agile methodologies, but there is still something which makes developing a web application inherently hard.
Never, never, never believe any war will be smooth and easy, or that anyone who embarks on the strange voyage can measure the tides and hurricanes he will encounter. — Winston Churchill
Alright, not as difficult as a war may be. But, here are some reasons why I think it is difficult:
- Developing a web application needs multiple skills: Your web developer would
need to know HTML/CSS, a server side language and relational databases; Javascript and some
good library to add AJAX and some zing. Additionally may be,
Flash/Silverlight. Depending on your application, you may need to do image
manipulation or some video processing. If you are going to scale, you also
better build your architecture well add later add caching, tune performance of your
stack, shard your database or add a nifty nosql database. Aah! It like being
a multi-handed Hindu goddess.
- It is like gardening: You cannot develop a web application and just leave it
like that. It needs continuous care to change and adapt to usage patterns,
server loads and optimize work flows.
- Security is top priority: In a web application you are effectively putting
your database online with only the application layer protecting it
from the big bad internet. Good security is not an add-on, its a
requirement.
- You will change it: Like the war quote above says, it is very hard to
predict what directions you would take once you put an application
online. Because of the very short feedback loop of what you put, how your
users react and then how you would adapt, web applications need to be
nimble. It would be only prudent to develop it in a way so you can change it
fast enough.




This post reminds me of an interesting article , http://times.usefulinc.com/2008/06/16-ops-now One should never miss it :-)
We Web Developers are all “Ops people”...
I have seen clients not understanding the nature of the web-development projects properly and get into traps again and again.
Great post, Amit.