How Bugs does arises in the software?

This is a common question in everyone’s mind. Even if you try to manage, plannings or hire highly skilled developer still you will get bugs in your application. but how and why they comes in software.so bugs start coming from the first phase of Software Development Life Cycle.

Requirements:
This is very important phase where Business analyst try to get the depth requirement from the client. Client sometime actually don’t know what they really wants. Or they are also unclear about the requirements and this partially cleared requirement can arises the bug in software.

When Developer start the building software, they come across this unclear or partially cleared requirement and they would develop the software as per their understanding. And at the end we get the result as bug in the software. Even if the functionality developed by the developer is working fine but that functionality if not the functionality which clients want so this is also treated as a bug.

When clients has the partial requirement or unclear requirement then there is a possibility that client can call frequent requirement changes which is sometime become difficult for developer and as a result we get unwanted bugs in software.

Designing:
Second phase of development is designing, this is actually skilled dependent phase. Here we choice the technology, architecture and even make the whole and component level designing. Sometime we have some very complex requirements or some very hard to implement type requirements that are put developer in trouble will Designing the application.So complexity of software application can arise the number of bugs in software.

Unskilled employee, less knowledge about the technology, design complexity these are the few points which can become the causes to have a bugs in software.

Developments:
After requirement gathering and designing, we start our actual development. As a foundation we use the requirement document to build the application and we start development using the technology that we have decided to use in designing phase.

When requirements changed as this is very obvious case then to implement that requirement change we need to change the logic in code, as most of the coding are linked to each other. So there are chances arising of bug in software.Problem in a code can directly lead to an Incorrect working of the program which cause the bugs in software.Even non-availability of skilled employees or unavailability of resources or tool can cause the bugs in software.

Testing:
This is the main phase which is responsible to detect and find all the bugs present in the software. But if we miss the bugs in this phase then it will directly deliver to client.so this phase is very crucial and should be performed well.

In testing phase, if tester does not have a depth knowledge about the software then he might misunderstood the bug as the functionality or functionality as a bug. And now a days we get very less time for testing, in this pressure and lots of work can make or increase the error chances from humans. By getting the less time to test and prioritizing the things can Miss Major Bugs. Insufficient data can also make some bugs undetected.

Deployment:
When software is developed and fully tested and all major bugs are removed from the software then it’s time to deliver and deploy that software at client’s environments. While developing the software, desktop application a particular hardware and software combination are considered. But if that configuration is not available at the client’s site then it can arise bugs or issues. Sometime application is very hard to use, the end user would not understanding the software. This is an also issue.

So these are the phases and causes which can arise the bugs in software. If we get bugs in early phase. Then it is very good but if we doesn’t get then bugs get multiplied in each phases. So to prevent multiplication of the bugs, we should try to capture bugs early in the life cycle.

1 comment:

  1. If we have good colloboration then we can minimise bugs. If client is constantly involved like we do follow in Agile, then many of these bugs can be avoided
    so there will be less misunderstanding and chances of bugs are less.

    But yes they cannot be completely avoided.

    ReplyDelete