Posts Tagged ‘time management’

Custom Application Development at a Web Design Firm

Sunday, June 29th, 2008

I love building web applications. I take pride in my web applications and always try to find the best ways of doing things. The question is, what happens when you work at a web design firm and are tasked with building a custom application. If these firms are so used to seeing websites deployed within a day, how do you communicate that this task could take a few weeks? It’s tough. There are a few ways of tackling this question; I am going to focus on two of them. The first, Sacrifice, the second, Firm Communication.

Sacrifice - I hate this method but it’s almost always the route you will end up taking while working at a small web design firm. This is hard when you are an enthusiastic web developer who loves standing tall behind your work and utilizing the latest technology to create a great application. Well, what does Sacrifice mean exactly? It means you need to take a few steps back and realize that you can’t always do things to a tee; you need to let go. This doesn’t mean go and start getting sloppy. You still need to write good code. What this means is that at the beginning you need to think small, don’t plan out the application as you normally would where its so extensible and flexible that you can make quick changes in the future. If all goes well and you have some time left towards the end, try and utilize a few technologies you love by adding a few cool features. All and all, when sacrificing your regular methods you will help yourself in the long term. If you go into the application as you normally would you will find yourself in a crunch towards then end and get so bummed out with the project it will most likely turn into a disaster. If you go into the application with small thinking, you’ll at least have something small you can still stand proudly behind.

Firm Communication - This route requires a little research and strong communication skills. When trying to explain why an application could take a few weeks, you will probably just get weird looks. It’s hard for most to comprehend going from a full content managed website deployed in a day to a few weeks for an application that is almost similar. These employers aren’t fully educated on the technology behind either, most the time they think building an application is like drawing a box in Photoshop. You can’t blame them though, this isn’t their job. If you want to build the application you are used to, you need to do a little research into the project and write a very detailed summary on why this is going to take so long and why it is so different than what they usually see. Don’t go and waste all your time writing a complex analysis, a few paragraphs and a good charted time break down is fine.

Well if you are a web developer at a web design firm, you know that you are shuffling between projects rapidly maybe every hour, or maybe every day. How the hell do you keep track of where you were last on your application? This is also tough, probably the toughest part. It is really difficult to be working on an application and get pulled off because someone just put in an urgent request that a website you developed just had a sudden change in imagination and it is crucial there new logo goes up ASAP. You are now in the middle of an interface for your application and you need to close everything down to go update these logos and context all over another site. “Ahh, but, but I am in the middle of this code!”, unfortunately you can’t talk your way out of this when there is an upset client. So what do you do? I used to just close all my tabs in my IDE and move on. This doesn’t work. Next thing you know you are coming back to work on the application and you completely forget where you were. Usually takes a few minutes to recollect your thoughts and get back to work. You think everything is fine, but then you realize everything you just wrote since you continued is completely not what you were planning to do… How in the F*&k did this happen? It’s simple, you got distracted… No worries, don’t feel bad, get upset or frustrated it’s not your fault. What you need to do to stop this from happening is every 30 minutes or so make a few little notes on paper or digitally however you prefer, and just informally write out your thoughts on how your code is going and where you’d like to be. Starting a daily checklist is good too. Don’t sit there and think about a checklist too hard from the beginning, just stay a couple points ahead of yourself.

Following these simple steps and letting go of your regular timely methods will really help you not lose interest in the application you are building.

This was my first attempt at a blog that I probably should have started long ago. Feel free to leave me your thoughts and comments. And stay tuned! I’m going to try and be an active blogger.