Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been watching answers to many questions on this site, and have come to the conclusion that commercial pragmatism does not factor into many software development discussions. As a result, I seriously wonder at the commercial skills within the industry, specifically the ability to deliver projects on time and to a budget. I see no indication from the site that commercially successful project delivery is a serious concern, yet the industry has a reputation for poor performance in this.

Rarely, if ever, does the cost of time factor into discussions. I have never seen concepts such as opportunity cost, time to market, competitive advantage or cash flow mentioned, let alone discussed in technical answers to questions. How can you answer virtually any question without understanding the commercial background on which it is asked?

Even Open source projects have a need to operate efficiently and deploy their limited resources to providing the most value for effort. Typically small start-ups have cash flow issues that outweigh longevity concerns, yet they are typically still advised to build for a future they probably won’t have if they do.

Is it fair to say that these problems are solely the Managers and Project managers to solve, or are we, as developers, also responsible for ensuring successful on time, within budget delivery of projects, even if those budgets do not allow use to achieve engineering excellence?

share|improve this question

closed as not a real question by Caleb, ChrisF Sep 21 '11 at 7:53

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

4  
You seem to have formed an opinion on this topic already, which puts this in the 'rant' column. –  Caleb Sep 21 '11 at 5:55
1  
A parallel question might also be - how "technically savvy" should managers / project managers be, before they start managing software development projects. –  dodgy_coder Sep 22 '11 at 0:19

3 Answers 3

Joel Spolsky has a view on this here which makes a lot of sense ...

"... a programmer who understands the fundamentals of business is going to be a more valuable programmer, to a business, than a programmer who doesn't. That's all there is to it. I can't tell you how many times I've been frustrated by programmers with crazy ideas that make sense in code but don't make sense in capitalism. If you understand this stuff, you're a more valuable programmer, and you'll get rewarded for it ..."

share|improve this answer
9  
But, while this doesn't pertain to the question, the reverse is true. While there are some ideas that supposedly "make sense" in the business world, they make no sense in code. –  HelloFictionalWorld Sep 21 '11 at 6:01
2  
@HelloFictionalWorld Yes, and a programmer is much more valuable if they can explain to the business people why the ideas make no sense in code, and help them decide whether or not they make sense in business –  MarkJ Sep 6 '12 at 12:05

I see no indication from the site that commercially successful project delivery is a serious concern ...

Comment: I think you are being rather selective in your reading. People often bring the business aspects of software development into their answers. But having said that, this site is intended for discussion of the programming side of our industry, so it is not surprising that that is what is mostly talked about.

Is it fair to say that these problems are solely the Managers and Project managers to solve, or are we, as developers, also responsible for ensuring successful on time, within budget delivery of projects, even if those budgets do not allow use to achieve engineering excellence?

The latter, IMO. And experienced / seasoned developers recognize this. But that's not the whole story because a less-than-excellently engineered product is frequently pushing costs (of various kinds) off into the future. And manager types frequently either don't understand this or downplay it with higher management, clients, etc. (And guess who gets blamed for the poor quality work ...)

But "So what?!". What do you propose to do about it? Make an MBA a mandatory qualification for Java programmers?

The way that I see it, the business side of the software development is primarily the responsibility of the managers. We (programmers) can help them do their job by understanding what the users need, asking the right questions, providing the right advice, etc. And having business knowledge is going to help us do that.

But the bottom line is that the managers are typically the ones with the business experience and the qualifications, and it is primarily their responsibility. (And if not, why does the company employ them in the first place?)

And when we get that experience, we'll get to wear the "manager" hat ... unless we work hard to avoid it.

share|improve this answer

Is it fair to say that these problems are solely the Managers and Project managers to solve...

In a perfect world, yes.

I've been at few projects where managers were good enough to handle these problems themselves, distracting programmers only with minimal mostly educational side-steps into "business area". Have to admit at these projects I felt myself most productive as programmer.

The world is far from perfect though. If the manager / company aren't top-notch, developers would better learn to handle / discuss business and cost-related stuff.

  • "If your management doesn't know how to manage a successful engineering project, or your marketing department doesn't know how to access the customers, or doesn't tell you what the customer wants, or if your lawyers don't handle your intellectual property correctly, or if the chief architect doesn't have the ability to create a consistent and simple architecture, then your work can be for naught, and you can spend years building things that never see the light of day."
    (The Things I Wish I Learned in Engineering School)
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.