Developers live in a black box

One of the things I find most frustrating as a developer is that the people you do work for, be they clients or groups within your own company, have no idea what it is you really do. All they know is they want the final product and they want it to change their lives or make them money and they want it done tomorrow. 

This was highlighted to me today by a recent case of "but the kid next door can do it in 2 days for $100, why's it taking the other guy 3 months and $5000". We've all heard this a million times though fortunately has moved development beyond just html/css coding, it happens much less frequently. 

Here's the scenario as it went down. One company contracts out another to make an iPhone app for them. The contractor says it will take 2 weeks to do the development. The company hear's "it will be done in 2 weeks" and closed their ears to the part where the developer said "2 weeks to do – once all the planning is finalized". Three months later the company has finally managed to get all the approvals, decisions, wireframes and designs done and then wonders why it's taken so long. Meanwhile, a contractor has to move on to other projects and start their two weeks development in the next available block of time.

This is all fine, it's the normal state of things, the company with the idea never allows for the time it takes to develop that idea and put a focused plan on paper. Helping them do that is part of the developer's job. What really steams me is when "the kids next door" send an email saying, "hey we'll do your iPhone app for free if you give us x (whatver your company offers) in exchange and we'll do it in a week, we just want the exposure and access to x". Actually this part doesn't even cheese me as much as when the company turns around and says, if they can do it in a week, why has it taken our guy 3 months?

Reality check time. The folks doing it for free stand a good chance of not getting it done in the timeframe they say and they certainly aren't going to help you out when they give you a half-baked product full of bugs. They'll whip out the barebones requirements on their terms. They aren't working to serve your company's needs, they are working to serve their own. They want to be able to say "we've worked with brand y so you should hire us too!"  

I don't neccesarily think the idiom that "you get what you pay" for holds true for software development, but rather I think it's a lack of understanding about what developer's do and the relationship required between both parties. I also understand that often it's the developer's job to help the client understand what it is they do, but on small jobs (under $10k by my definition) there just isn't much time/money there to focus on this. You really ned to get in, get the work done and get out in order to be profitable.

For me the biggest challenge is often convincing the people I'm working with of the importance of project management, documentation and good communication strategies. Too often these things are seen as costly and time consuming. 

To you developers, I ask, how do you try and break out of your black box and explain to people what you do?

Comments

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Leave this field empty: