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 would like the answer to explain what impact, if any, does the type of company/industry have on the rigor, depth and breadth with which software engineering is practiced. The best would be some links to support the answer with references.

As a control point, let's declare an assumption that a company which follows the SWEBOK or CMMI (any level) is doing 100% (the best) whereas one which does not follow anything at all is 0% (worst).

Would it be possible to find out what companies or what industries score highest, average, and lowest?

EDIT: CMMI (any level) refers to any organization which is CMMI certified.

EDIT 2: The middle paragraph specifies that a company which follows some rigorous software engineering standard should score higher than a company which doesn't.

EDIT 3: The SWEBOK is not only organizing content. It does much more, i.e. the SWEBOK characterizes the contents of software engineering body of knowledge.

The SWEBOK promotes a consistent view of software engineering worldwide which is the main point. It is aimed at both practitioners and academics, individuals and organizations. For example, see the CSDP and consider companies who hire them. These are the companies that follow the SWEBOK.

EDIT 4: Note that the answer should tell us about industries or companies that follow some rigorous software engineering standard in the prescribed depth and breath, and those who don't. What is the correlation between the type of company/industry and their software engineering rigor?

Throwing in a bunch of links for reference would be great.

share|improve this question
In summary, your entire middle paragraph is based on a false assumption. You also need to consider industry-specific standards and regulations that define how projects are implemented. For example, AS9100 quality guidelines in the aerospace industry or various defense and military regulations in the defense sector (which could be stacked in defense contractors in the aerospace industry). –  Thomas Owens Jan 5 '13 at 20:12
@MarekCruz CMMI isn't a development process, but only a set of requirements that can be applied to whatever process you use. Those requirements are more rigorous with increasing levels of CMMI compliance. It certainly doesn't make sense to declare that processes that achieve CMMI level 1 and those that achieve CMMI level 5 are somehow equally rigorous. –  Caleb Jan 5 '13 at 20:15
As a software engineer who works extensively in CMMI, that's not true for the staged deployment of the CMMI framework. However, the certification process is also different. You do get audited and assessed, but the organization is able to choose different sections and achieve a maturity level in each particular area instead of across the board. –  Thomas Owens Jan 5 '13 at 20:16
The SWEBOK is a method of organizing knowledge and making it accessible. From the About SWEBOK page: The Guide to the Software Engineering Body of Knowledge (SWEBOK) describes generally accepted knowledge about software engineering. Its 10 knowledge areas summarize basic concepts and include a reference list pointing to the detailed information. It's a directory of topics. The only time that I've seen the phrase "follow the SWEBOK" is with regards to academic programs and curricula development to ensure coverage of the breadth of the field.. –  Thomas Owens Jan 5 '13 at 20:23
I disagree with the closure of this question. Simply because it may be difficult to answer does not mean it should be closed. It is certainly on topic. I reopened it. –  maple_shaft Jan 5 '13 at 20:49
show 14 more comments

1 Answer

It is obvious that an industry that can't afford failure is more rigorous than another one that can.

The most illustrative example of this is aerospace vs. web design.

The software of a spacecraft can't fail or it falls and hundred million dollars are thrown away. If it doesn't fall, nobody will go up there and fix it (patching is possible to some extend, as long as the bug is not in the patch handler and the antennas and solar panels are correctly oriented).

The software of an aircraft can't fail or hundreds of passengers die. But if an error is found and handled before a failure, software can be fixed and the patch can be sent to all companies operating that plane.

If the software of a web site fails, nobody is hurt, few money is lost and a fix occurs within a day, if not within an hour.

In aerospace, every task from the system requirements to the final product is verified over and over, software validation of a few thousand lines needs several years. Despite all of that, systems are duplicated or triplicated from basic hardware components to whole satellites (e.g., see Iridium satellite constellation, in-orbit spares). In that process, CMMi, ISO9000, DO-178 and other quality stuff are just a by-product; the rigor is in the process itself, not in how it is controlled.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.