Steve McConnell

Image of Steve McConnell
Good code is its own best documentation. As you're about to add a comment, ask yourself, "How can I improve the code so that this comment isn't needed?" Improve the code and then document it to make it even clearer.
- Steve McConnell
Collection: Funny Inspirational
Image of Steve McConnell
The trouble with quick and dirty is that dirty remains long after quick has been forgotten.
- Steve McConnell
Collection: Dirty
Image of Steve McConnell
Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don't improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don't buy a new scale; change your diet. If you want to improve your software, don't test more; develop better.
- Steve McConnell
Collection: Errors
Image of Steve McConnell
It's better to wait for a productive programmer to become available than it is to wait for the first available programmer to become productive.
- Steve McConnell
Collection: Waiting
Image of Steve McConnell
The primary purpose of software estimation is not to predict a project's outcome; it is to determine whether a project's targets are realistic enough to allow the project to be controlled to meet them.
- Steve McConnell
Collection: Target
Image of Steve McConnell
Good code is its own best documentation.
- Steve McConnell
Collection: Technology
Image of Steve McConnell
Good visual layout shows the logical structure of a program.
- Steve McConnell
Collection: Code Quality
Image of Steve McConnell
In software, the chain isn't as strong as its weakest link; it's as weak as all the weak links multiplied together.
- Steve McConnell
Collection: Teamwork
Image of Steve McConnell
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.
- Steve McConnell
Collection: Teamwork
Image of Steve McConnell
The default movement on a software project should be in the direction of taking elements of the software away to make it simpler rather than adding elements to make it more complex.
- Steve McConnell
Collection: Simplicity
Image of Steve McConnell
... 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.
- Steve McConnell
Collection: Air
Image of Steve McConnell
A blanket attempt to avoid mistakes is the biggest mistake of all.
- Steve McConnell
Collection: Mistake
Image of Steve McConnell
A brute force solution that works is better than an elegant solution that doesn't work.
- Steve McConnell
Collection: Design
Image of Steve McConnell
It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.
- Steve McConnell
Collection: Murder Mysteries
Image of Steve McConnell
It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free.
- Steve McConnell
Collection: Funny Inspirational
Image of Steve McConnell
Engineering is the application of scientific principles toward practical ends. If the engineering isn't practical, it's bad engineering.
- Steve McConnell
Collection: Engineering
Image of Steve McConnell
There are no secrets on an successful software project. Both good and bad news must be able to move up and down the ptoject hierarchy without restriction.
- Steve McConnell
Collection: Moving
Image of Steve McConnell
Motivation is undoubtedly the single greatest influence on how well people perform. Most productivity studies have found that motivation has a stronger influence on productivity than any other factor.
- Steve McConnell
Collection: Motivation
Image of Steve McConnell
The job of the average manager requires a shift in focus every few minutes. The job of the average software developer requires that the developer not shift focus more often than every few hours.
- Steve McConnell
Collection: Teamwork
Image of Steve McConnell
A typical software project can present more opportunities to learn from mistakes than some people get in a lifetime.
- Steve McConnell
Collection: Mistake
Image of Steve McConnell
Software projects fail for one of two general reasons: the project team lacks the knowledge to conduct a software project successfully, or the project team lacks the resolve to conduct a project effectively.
- Steve McConnell
Collection: Teamwork
Image of Steve McConnell
Heuristic is an algorithm in a clown suit. It’s less predictable, it’s more fun, and it comes without a 30-day, money-back guarantee.
- Steve McConnell
Collection: Fun
Image of Steve McConnell
In my experience, you either have encapsulation and abstraction or you have neither. There is no middle ground.
- Steve McConnell
Collection: Middle
Image of Steve McConnell
In software, consultants sometimes tell you to buy into certain software-development methods to the exclusion of other methods. That’s unfortunate because if you buy into any single methodology 100 percent, you’ll see the whole world in terms of that methodology. In some instances, you’ll miss opportunities to use other methods better suited to your current problem.
- Steve McConnell
Collection: Opportunity
Image of Steve McConnell
Trying to apply formal methods to all software projects is just as bad as trying to apply code-and-fix development to all projects.
- Steve McConnell
Collection: Trying
Image of Steve McConnell
95% on content and the computer language remains the same.
- Steve McConnell
Collection: Language
Image of Steve McConnell
It’s better to wait for a productive programmer to become available than it is to wait for the first available programmer to become productive.
- Steve McConnell
Collection: Programming