Occupation: Author Birth: September 3, 1962
A typical software project can present more opportunities to learn from mistakes than some people get in a lifetime..
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..
It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it..
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. Tryin….
Software projects fail for one of two general reasons: the project team lacks the knowledge to conduct a software project successfully, or the projec….
... programming requires more concentration than other activities. It's the reason programmers get upset about 'quick interruptions' - such interrupt….
Engineering is the application of scientific principles toward practical ends. If the engineering isn't practical, it's bad engineering..
Motivation is undoubtedly the single greatest influence on how well people perform. Most productivity studies have found that motivation has a strong….
In software, consultants sometimes tell you to buy into certain software-development methods to the exclusion of other methods. That’s unfortunate be….
Building software implies various stages of planning, preparation and execution that vary in kind and degree depending on what's being built. [...] B….
A brute force solution that works is better than an elegant solution that doesn't work..
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..
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 restric….
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 neede….
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 e….
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….
Good code is its own best documentation..
Even when you have skilled, motivated, hard-working people, the wrong team structure can undercut their efforts instead of catapulting them to succes….
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….
In software, the chain isn't as strong as its weakest link; it's as weak as all the weak links multiplied together..
The trouble with quick and dirty is that dirty remains long after quick has been forgotten..