Plan to throw one (implementation) away; you will, anyhow.
A brute force solution that works is better than an elegant solution that doesn't work.
We try to solve the problem by rushing through the design process so that enough time is left at the end of the project to uncover the errors that were made because we rushed through the design process
... programming requires more concentration than other activities. It's the reason programmers get upset about 'quick interruptions' - such interruptions are tantamount to asking a juggler to keep three balls in the air and hold your groceries at the same time.
Agile methods derive much of their agility by relying on the tacit knowledge embodied in the team, rather than writing the knowleadge down in plans.
Every big computing disaster has come from taking too many ideas and putting them in one place.
Poor management can increase software costs more rapidly than any other factor.
Adding last-minute features, whether in response to competitive pressure, as a developer's pet feature, or on the whim of management, causes more bugs in software than almost anything else.
The best way to get a project done faster is to start sooner
One principle problem of educating software engineers is that they will not use a new method until they believe it works and, more importantly, that they will not believe the method will work until they see it for themselves.
It has been discovered that C++ provides a remarkable facility for concealing the trival details of a program - such as where its bugs are.
Never in the annals of software engineering was so much owed by so many to so few lines of code
Even when you have skilled, motivated, hard-working people, the wrong team structure can undercut their efforts instead of catapulting them to success. A poor team structure can increase development time, reduce quality, damage morale, increase turnover, and ultimately lead to project cancellation.
If we play genie and grant client wishes, we are apt to construct castles of code in the air.
In software, the chain isn't as strong as its weakest link; it's as weak as all the weak links multiplied together.
Even the best planning is not so omniscient as to get it right the first time.
Hiring people to write code to sell is not the same as hiring people to design and build durable, usable, dependable software.
A good threat is worth a thousand tests.
Computers are good at following instructions, but not at reading your mind.
A Perl program is correct if it gets the job done before your boss fires you.
The camel has evolved to be relatively self-sufficient. On the other hand, the camel has not evolved to smell good. Neither has Perl.
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want.
We have to stop optimizing for programmers and start optimizing for users.
I have a pretty major problem with a language where one of the most common variables has the name $_
The best meetings get real work done. When your people learn that your meetings actually accomplish something, they will stop making excuses to be elsewhere.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: