In my experience, you either have encapsulation and abstraction or you have neither. There is no middle ground.
Steve McConnellTesting 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 McConnellIt'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 McConnellIt's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.
Steve McConnellEven 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