Glossary Of Software Engineering Terms
All New
: The software is not compatible with previous versions.Advanced Design: Upper management doesn't understand it.
Breakthrough: It nearly booted on the first try.
Capability Maturity Model: A method of determining to what extent the developer can reasonably be
blamed for the inevitable failure.Clean Room: A management technique that applies to horizontal interfaces what the
mushroom technique applies to vertical interfaces.Compiler: A tool for adding an exciting amount of uncertainty to the size, speed and
correctness of a program.Computer Human Interface: The means by which the program conditions the user into never trying all
the things that don't work.Cost Modelling: A means of convincing the customer to pay for whomever you need to keep
employed this year.Customer: A primitive life form at the bottom of the food chain.
Debugger: A tool that substitutes afterthought for forethought.
Design: The activity of preparing for a design review.
Design Review: A process for ensuring you know exactly what it is you won't build.
Design Simplicity: It was developed on a shoe-string budget.
Documentary Hypothesis: The discredited notion that software is the outcome of a systematic and
rational process of development, rather than the result of divine inspiration.Documentation: A process for converting trees into entropy, usually applied to provide
busywork for the people whose employment cannot be justified by cost modelling.Domain: A class of applications where failure on one project gives you an
advantage in bidding on the next.Enhancement: Breaking what you did right and getting paid for it. [see also:
maintenance]Exclusive: We're the only ones who have the documentation.
Field Tested: Manufacturing doesn't have a test system.
Foolproof Operation: All parameters are hard coded.
Formal Verification: The construction of an incorrect proof isomorphic to an incorrect program.
Function Point Analysis: Cost modelling a program by what it won't do, rather than by how big it
won't be.Futuristic: It only runs on the next-generation supercomputer.
Incremental Implementation: Delivering several partial products each for the price of a complete one.
It's Here At Last: We've released a 26-week project in 48 weeks.
Maintenance: Fixing what you did wrong and getting paid for it. [see also: enhancement]
Maintenance Free: It's impossible to fix.
Meets Quality Standards: It compiles without errors.
New: It comes in different colours from the previous version.
Performance Proven: It works through beta test.
Programs: What software used to be, back when we knew how to write it.
Programmer: One who is too lacking in people skills to be a software engineer.
Project Management: The art of always knowing how badly you're doing your work and how late
you're doing it.Quality Assurance: A way to ensure you never deliver shoddy goods accidentally.
Real Time: An attribute applied to software that's even more expensive than can be
justified by cost modelling.Requirements Analysis: Determining what it is you can't do before failing to do it.
Requirements Engineering: Convincing the customer to want what you think you can build.
Requirements Review: Explaining what the customer won't get in language they don't understand.
Reuse: Using an existing product in a new context; especially as applied to
proposals, resumes, disclaimers and excuses.Revolutionary: The disk drives go round and round.
Satisfaction Guaranteed: We'll send you another copy if it fails.
Software Engineer: One who engineers others into writing the code for him/her.
Spiral Model: A development model that allows you to fail in a small way several times
over. [see also: waterfall model]State-Of-The-Art: What we could do with enough money.
State-Of-The-Practice: What we can do with the money you have.
Stock Item: We shipped it once before, and we can do it again, probably.
Structured walkthrough: The process whereby the false assumptions of one member become shared by
an entire team.Technology Transition: Helping people replace old useless processes, methods and tools with new
useless processes, methods and tools.Testing: A process for ensuring that the product will work in all circumstances
that anybody other than the user can imagine.Total Quality Management: A way of teaching your managers five words of Japanese, without any risk
that they will acquire an equivalent amount of competence.Unprecedented Performance: Nothing ever ran this slow before.
User: A harmless drudge.
Waterfall Model: A development model that allows you to fail in a big way just once.
Years Of Development: We finally got one to work.