IT-Techexperts banner
Home   About Us   Contact Us
• Communication Gap – A communication gap results in the specifications not being clear or ambiguous so the software purpose is hard to identify and define.

• Software complexity – Software may be complex enough to be unable to be understood without the existence of a detailed specifications requirement document or some report that defines what the customer needs. The technological advancements have resulted in the development of software which is highly complex in nature, involving multiple tiers, client server and distributed applications etc..



• Errors in Programming – Since programmers are also human beings, they can also make some mistakes during their work.

• Continually changing requirements – Since the end users are unaware of the resultant work a programmer has to do if a single requirement changes from the customer’s end, he/she can request a change at any time during the development process which may prove problematic to the developers and their overall software development workflow. These changes may require redesigning of the overall software architecture, rescheduling of the programmers, working in late night shifts, removing the currently done work and replacing with new work, integrating the existing and newly created code, which is certainly going to create problems. In such situations, the management should understand that the result can be risky, and the QA and testing staff should be highly prepared to identify errors and bugs in the software because of changing requirements. At the same time, the software has to be delivered on time so the planning of the processes should be in control as well. When the work is more than that can be completed in a given timeframe, errors and issues are going to occur.

E.g. people usually say things like:
'it is not a problem for me'
'very easy'
'I can finish it up in a few hours'
'it should be easy to modify the old code'
instead of:
'That would add a bit of complexity and we will have to analyze it before working on it'
'I’m not sure whether we can be able to do that in current situations, but if we can, we would'
'I cant say how much time it should take without having a look at it first'
'There is much time needed to understand the old code and then modify it'

• If people make vague statements instead of concrete sentences, bugs are sure to exist.

• Poor documentation of code – If the code is illegible, not well indented, confusing and mixed up in the page, the result is bugs. No firms provide their coders special incentives to create code that is easy to understand and maintain, even though it is a very important aspect of good coding. But many firms give their coders incentives to code faster, and the programmers write up the code the way no one else can understand to keep their jobs secure in the firm.

Sometimes, the components or tools used in the software development process e.g. class libraries, visual and scripting tools etc. introduce their own bugs or are poorly documented, which increases the chance of having more bugs in your application.

Google