5 ms·
Every project has 'gotchas'. And I don't mean just every coding project, I mean every project anywhere, ever. Part of the key of navigating those 'gotchas' is
by padobson 12y ago
Every project has 'gotchas'. And I don't mean just every coding project, I mean every project anywhere, ever.
Part of the key of navigating those 'gotchas' is to immediately communicate it to your stakeholders when you run into one.
Sit down and watch HGTV for a an hour or two, and you'll see that carpenters, plumbers, electricians, and HVAC contractors all run into problems -
'Whoops, this wall is load bearing, we'll need a beam here and it's going to take us another 3 days to add it.'
'Your main drain is made out of clay, and we'll need to spend 25% of your budget to replace it, looks like you won't be getting that powder room after all'
'The main of your HVAC stack is right where you want to put that doorway, we'll have to spend another $5k on this project to re-route it.'
People that typically finance projects are used to hearing these kinds of problems. Don't assume they won't like hearing them and will fire you - that's a huge mistake. Be honest and upfront with them. Problems like these are not your fault, just be clear on what it's going to take to fix them.
- jiggy2011 12y agoThe difference between programming and construction projects is that property owners have usually already invested huge amounts of money into the property, so an extra few thousand doesn't seem like a huge deal and the extra work is often financed as part of the mortgage. Construction contractors also don't promise "magic" like programmers do.
- padobson 12y agoA few things: 80% of the projects I've worked on already had code written for them when I showed up to work on them. There's no difference between the existing investment in legacy code and the existing investment in a property. New home builds also have gotchas. Programmer's promising "magic" goes back to my original point of communicating with the stakeholders. If you're promising "magic", you're just asking for the project to fail. Be clear an upfront, and your customer will realize you're an engineer and not a miracle worker.
- jiggy2011 12y agoProperty investment is a little different because you can usually recoup at least some of the money spent at a later date by selling the property. A building without a wood rot problem will always be worth more than one with one, especially when the problem is likely to get worse over time if it's not dealt with. A software project on the other hand is typically worth close to nothing if it doesn't fulfil it's requirements , so the sunk costs are different. To the second point, the problem with programming projects is that you are often competing against more enthusiastic and less experienced devs who are naive and under estimate.
- kabouseng 12y agoNo I would rather argue that the difference is that software is not visible / tactile. When a construction project runs into a problem, you show the physical problem to the client and he gets it. When a software project runs into trouble, the client has to trust what the developer tells him and immediately the client starts to doubt the developers' competence.
- snowwrestler 12y agoOne of the biggest mistakes I see developers (and development companies) make is to define the edges of their project too narrowly. Almost any piece of contract software development is intended to fit into a much larger system that has already seen heavy investment. Yet, often developers treat the software as an independent "thing" that they are creating. For example, redesigning/rebuilding a corporate website is not (just) a web development project. The corporate site is one (often comparatively small) component of an operation that might include press relations, investor relations, social media, advertising, partner relationships, retail relationships, supplier relationships, etc. Looking holistically at what a company invests in their corporate identity and marketing does two things. First, it provides very valuable guidance on the web site project itself. The new site is going to have to fit in with all these other activities. That's a set of very useful constraints. Second, it puts the website project in its proper perspective. The company is not "replacing a building." They're replacing one component of a large multi-million-dollar marketing operation.
- gmarx 12y agoI spent (I think) about two years walking by a sign in the south loop that said something like "coming in October of 2005, Target" and I thought, well, that's a pretty bold estimate for completing a building. Damn if that isn't exactly when they finished. Maybe they were changing the sign periodically and I failed to notice.
- LordIllidan 12y agoHumans have been building stuff for millennia. Software, on the other hand is still a relatively new field.