Development Methodologies
My Coding Methodology
IT failures roundup
The 10 Biggest Tech Failures of the Last Decade
Time's 10 biggest tech failures of the decade
http://www.zdnet.com/blog/projectfailures/
SW Craftmenship
Slideshare Preventing project Failure
TESTING WHILE CODING
Reducing complexity
Static code analysis
Code review
Test-driven development (TDD)
Software life cycle
Prototype
TestDrivenDevelopment
Test-driven development (TDD)
A Classification of Tests
video: Improving Software Quality
video: Euan Garden
Using Code Review to Improve Quality
video: Brian Keller
video: Quality Assurance
David Starr Unit Testing
The Fundamental Rules of Software Engineering
Bug Life Cycle - Chromium
Good bug description
Software Testing  
Quality Testing
software quality is a team sport, and everyone needs to play.


Quality Testing
5 reasons why a developer cannot test his own application better than a tester!

All software has bugs. Application development teams do the best they can to avoid and fix them. But developing quality software is hard. Why? Virtually all application development teams are squeezed by the need to develop and change applications faster, but few have the time to implement a full-blown, guru-based quality program. What they need are shortcuts — pragmatic changes that application development teams can make to improve software quality without getting the brass and rank and file in a tizzy. Forrester has identified seven pragmatic changes that can have a big impact on improving the quality of the software you deliver to the business:
1) define quality to match your needs;
2) broadcast simple quality metrics;
3) fine-tune team and individual goals to include quality;
4) get the requirements right;
5) test smarter to test less;
6) design applications to lessen bug risk; and
7) optimize the use of testing tools.

1. Attachment with source code
- As everyone knows developers are emotionally attached to their code which makes them not to test like a tester. A developer would never degrade his own baby :P Its just like how we tester are normally emotionally attached to a bug. Don't we get angry when a developer counters us telling that the bug reported is never a bug :D

2. Concentrates only on positive cases
- Most developers would normally think only about positive and straight forward scenarios whereas testers mentality would be always in breaking the code and concentrating more on negative test cases.

3. Lack of End user experience
- Testers would normally check many applications & game and would exactly know what is required, as they would have already experienced checking similar kind of application whereas most developers wouldn't(If a developer is reading this he would surely crib about not having time to check other applications as testers. Gotcha!)

4. Not much exposure to bugs:
- A tester would have experience in testing many application and would know when a code could break whereas a developer wouldn't.

5. Tight schedule:
- Most companies wouldn't give sufficient time to developers which leads them to not test the whole application.

So what do you think can a developer test his own application better than a tester ?