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 beblamed for the inevitable failure.
Clean Room: A management technique that applies to horizontal interfaces what themushroom technique applies to vertical interfaces.
Compiler: A tool for adding an exciting amount of uncertainty to the size, speed andcorrectness of a program.
Computer Human Interface: The means by which the program conditions the user into never trying allthe things that don't work.
Cost Modelling: A means of convincing the customer to pay for whomever you need to keepemployed 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 andrational process of development, rather than the result of divine inspiration.
Documentation: A process for converting trees into entropy, usually applied to providebusywork for the people whose employment cannot be justified by cost modelling.
Domain: A class of applications where failure on one project gives you anadvantage 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 itwon'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 lateyou'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 bejustified 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 toproposals, 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 timesover. [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 byan entire team.
Technology Transition: Helping people replace old useless processes, methods and tools with newuseless processes, methods and tools.
Testing: A process for ensuring that the product will work in all circumstancesthat anybody other than the user can imagine.
Total Quality Management: A way of teaching your managers five words of Japanese, without any riskthat 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.