- Product bug – building the wrong product from the very beginning, wrong idea
- Requirement bug – caused by lack of understanding of the business rules and outside the square thinking
- Software bug – caused by wrong implementation
- Environment bug – caused by the way the software interacts with an operating system, system configuration, database version, etc
- Deployment bug – caused by sequence of deploying (e.g.: running a script prior update of code might break a system), code merge mistake, database backward compatibility issues
- Performance bug – all the above bugs are eliminated, but we forgot to take into account that the system might break down under peak usage
- Security bug – all the above bugs are eliminated, but we forgot that there are back doors or windows opened that allow intruders in to break the system and do nasty stuff!
- Good understanding of business knowledge
- Able to think outside the square
- Good communication skill with technical and non-technical stakeholders
- Good team player
- Good technical skills