1. Rushed work - This is based on my experienced as software tester with the company I worked with who has a projects chronically underfunded and completely wasting time attending users request without sufficient planning.
2. Complexity - Most programmers tend to have some kind of trademarks including me when I was still a programmer. It is obviously implicate complexity to the code and as a result, only me can understand the code.
3. Evolving requirements - This practice is happening in my organization because we don't have a concrete system boundaries standpoint. Users jeopardized the system by requesting too many features that the system can handle. For example, a system is design for monitoring and then suddenly the system is enhance to become a billing system. In other words, users realize what they want as the product develops that results into a buggy system.
4. Unknown requirements - This is the result of # 1 due to rushed project. Development team just code and fix without focusing on what it is really all about. Lacking of personnel that is dedicated to requirements.
5. Late change - Rushed decisions, demoralized staff lead to mistakes.
No comments:
Post a Comment