June 07, 2004
Software Engineering Terms: A Lexicon
by peterbSoftware engineering is a scientific discipline, as well as an art. Like many such fields, it has developed specific terminology and jargon, whose meaning may be subtly different or even completely opposite to what one would guess. In the interests of spreading enlightenment among budding software engineers, we have prepared this brief lexicon that covers some of the more important terms you may encounter in your career in software development:
- triage
Common usage: "I haven't made progress on that bug - it requires more triage."
Meaning: "If I hadn't spent all afternoon talking to my friends on AIM I might have some idea what is causing the problem." - corner case
Common usage: "The problem you are seeing is a corner case bug."
Meaning: "Compiling the source did not catch the bug. Please file a bug and I'll triage it later." - testing
Common usage: "This submission passed all required check-in testing."
Meaning: "This compiled OK on one platform." - debug
Common usage: "I will debug this problem."
Meaning: "I will file a bug on this problem and assign it to some component I am not responsible for." - passed
Common usage: "The test passed."
Meaning: "I ran the test five times, and four of them failed with bizarre non-reproducible errors, but one of them succeeded." - and a pony
Common usage: "I want faster compiles, more hardware, and a pony."
Meaning: "I know I'll never get any of these things so why not add a pony to the list just to make myself feel better?" - flexible
Common usage: "Our product is flexible."
Meaning: "We'll bend over backwards to add any feature you want." Opposite of 'stable'. - prototype
Common usage: "We should prototype that feature."
Meaning: "We have absolutely no idea how this feature should work, but we don't want to think about it, so you should just implement it over and over again until we think it's right." - wiki
Common usage: "We should get a wiki to provide for better collaboration on the teams."
Meaning: "Someone should waste time setting up a bizzare web server with a stupid user interface so that for two weeks people write a series of bad web pages that are hard to read and navigate which then fall into complete disrepair as they tire of the shiny new tool." - documentation
Common usage: "I'll make sure that's documented."
Meaning: "I'll create an empty wiki page for that issue and give people the URL whenever they pester me via e-mail."
If you found this lexicon useful, you might be interested in yesterday's profile of the different types of software engineers.
Posted by peterb at June 7, 2004 02:15 PM | Bookmark ThisExcerpt:
Weblog: Girish Bharadwaj
Tracked: June 18, 2004 04:07 PM
Please help support Tea Leaves by visiting our sponsors.