I recently had a conversation with a coworker that set off a train of thought for me. Web development is not an assembly line. By development, I mean the entire process of bringing something from idea to real, shippable product. That includes concepting, design, coding, and launch.
I work as a PHP programmer. The way things are done where I work is that there is a kickoff meeting for each project. I meet with the site’s designer or designers, the account manager, and possibly my department head. We run through the wireframes and I am given a PSD to go off of. I go off to my little cave for a couple of weeks, only occasionally interacting with the designers.
What we have is essentially an assembly line. From client to designer to programmer. There is some back-and-forth, but not much, in my opinion. The assembly line can be a great tool, so long as you are creating nearly identical copies of the same product, which we certainly are not doing. We are creating custom-design, custom-coded websites. A greater degree of communication and flexibility is required to do our jobs more effectively.
I see this as a problem. While there is an open line of communication, the programmers and the designers do not interact with one another often enough. Then I saw a video from Apple showcasing AOL’s return to the Mac and its initial ventures on the iPhone. I saw a relatively large team meeting in a big room and collaborating in real life. There were not any physical barriers keeping them apart. They were all looking at the same screen and giving input.
I would like to see more collaboration at work. I think it would improve the company’s culture. I would like to get kicked off on a project, go off for a week and code. Then I could come back and meet with all the people I saw at the kickoff meeting and we could all chip in.
Maybe I am being a little naïve and unrealistic. I just feel that there is some room for improvement as far as communication between departments goes.