Site icon TestingDocs.com

What are common problems during Software Development?

Overview

Some of the common problems that occur during software development
are as follows:

Poor requirements

Requirements are poorly written when requirements are unclear, incomplete, too general, or not testable; therefore, there will be problems.

Solution: Ensure the requirements are solid, clear, complete, detailed, cohesive, attainable, and testable. All players should agree to the requirements. Use prototypes to help nail down requirements.

Unrealistic schedules

The schedule is unrealistic if too much work is crammed in too little time.

Solution:

Have schedules that are realistic. Allow adequate time for planning, design, testing, bug fixing, re-testing, changes and documentation. The team should be able to complete the project without burning out.

Inadequate Testing

Software testing is inadequate if no one knows whether or not the software is any good until customers complain or the system crashes.

Solution:

Do testing that is adequate. Start testing early on, re-test after fixes or changes, and plan for sufficient time for both testing, regression, and bug fixing.

Change in requirements/New Features

Another common problem is changes in requirements and new features being added after development is underway.

Solution:

Choose a software model that is adaptable to changes. For example, the Agile Model.

In the Waterfall model,  avoid new features. Stick to initial requirements as much as possible. Be prepared to defend design against changes and additions once development has begun, and be prepared to explain the consequences. If changes are necessary, ensure they’re adequately reflected in related schedule changes. Use prototypes early on so customers’ expectations are clarified and customers can see what to expect; this will minimize changes later on.

Miscommunication

Miscommunication means the developers don’t know what is needed or customers have unrealistic expectations; therefore, problems are guaranteed.

Solution:

Communicate. Require walk-throughs and inspections when appropriate; extensively use e-mail, networked bug-tracking tools, and change management tools. Ensure documentation is available and up-to-date. Use electronic documentation, not paper. Promote teamwork and cooperation.

Exit mobile version