Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
Daniel C. wrote: > What I am curious about is what a standard in software engineering > would look like... > > On a more general level, what would the goals of such a standard be? > > Obviously "writing programs that don't kill people" is one of them, > but what else? Actually, it wouldn't, but more on that below. markw at mohawksoft.com wrote: > Then there is a lack of consensus about what such a certification would > look like. Would it be based on Unix, Windows? C,C++, Java, Perl, Python? > Would it be very abstract, favoring no existing technology? Yes, abstract in the sense of going up a layer from the language. Concentrating on design, architecture, and good "coding hygiene." One could envision a "fundamentals of software engineering" certification that covered general concepts such as code reuse, readability, - heck, even something as basic as avoiding convoluted logic would be a good baseline. That's not to say this wouldn't still be controversial and take decades to reach an industry consensus. Do you include design patterns? Which ones? Test Driven Development? Agile practices? And then there will be a ton of areas where some fundamentals are either impossible to implement or in conflict with (the philosophy) of some languages. (For example, there are lots of design patterns that become irrelevant once you move from lower-layer languages like C++ and Java to higher order languages like Perl.) > If it were too abstract, how could it be anything but valueless? Think how much easier our lives would be if every time we ran across some piece of legacy code, the developer had *at least* the above fundamentals. There would still be plenty of room for someone with a Professional Software Engineer (PSE) cert to write back code. Daniel C. wrote: > ...avionics systems in aircraft... > We might eventually want to take a look at the process used to develop > these systems and think about whether those practices could be > generalized to other areas of software development. I'm just regurgitating an argument I've ran across several times, and agree with, which is that the vast majority of software doesn't need this rigor, and applying it will impose unnecessary costs with little benefit. The Agile principles of implementing only what provides value to the customer is effective and efficient. It does not, however, provide an excuse for not using a good architecture. That's not to say there wouldn't be value to a separate certification for "life-critical software engineering" for those working in fields where that is applicable. -Tom -- Tom Metro Venture Logic, Newton, MA, USA "Enterprise solutions through open source." Professional Profile: http://tmetro.venturelogic.com/
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |