- Poor communication -- The developers didn't fully understand what the customer wanted, or the customer had unrealistic expectations.
- Poor requirements -- The requirements were unclear, incomplete, too general, or not testable.
- Poor change control -- Requests to add on new features after development started were never properly assessed.
- Unrealistic schedule -- The timescale to produce the software meant corners had to be cut, such as little or no testing.
- Inadequate testing -- The product was never systematically tested, and errors were never corrected before release.
These issues demonstrate the importance of proper specification, planning and management of a software project....
By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
To stand any chance of succeeding, a project needs to have adequate time allocated for planning, design, testing, bug-fixing, re-testing, making changes and documenting them. No quality-assurance tool is going to salvage a project if it doesn't have clear, complete, detailed and testable requirements that are agreed on by the key stakeholders.
Even with these elements in place, bugs will still emerge. With quality assurance, however, as an intrinsic part of the software life cycle, it's much more likely those problems will be found and eliminated, producing software that does what it was designed to do.
There are an increasing number of tools aimed at improving quality control and assurance, and they can certainly play a role in producing higher quality software. However, any new tool will take time to learn. For large, complex or ongoing projects, quality-assurance tools can certainly add value, but for a small project, the time and money may not be worth it. To judge whether a QA tool can aid your organization or project, ensure that it brings obvious improvements to the current testing process; it should enable you to run more tests, test in ways that were not previously feasible, or reduce excessively tedious manual testing.
Reports should help developers target those areas of the product that are causing problems. Other benefits can include improved test efficiency and issue-response times, along with better knowledge management, such as information collection, tracking and reporting. For project managers, a QA tool must provide insight into the status of the software so that they can better gauge product quality from the metrics produced. Managers must also be able to make informed decisions about development schedules and product delivery, as well as resource allocations.
Quality software will improve customer satisfaction and lower support costs, enabling an organization to spend more time and money on development and less on maintenance. Remember, quality is not an extra feature that can be added on at the end of a software project. The last thing you want is for your customers to find your bugs for you.
- Learn how quality assurance practices can be used to prevent application logic attacks.
- Get the latest news and expert advice on secure software development.
Dig Deeper on Software Development Methodology
Related Q&A from Michael Cobb
A malicious app called Black Jack Free was able to bypass Google Play's app store security. Expert Michael Cobb explains the threat and how ...continue reading
SandJacking, a new iOS attack technique, uses an XCode certificate flaw to load malicious apps onto devices. Expert Michael Cobb explains how the ...continue reading
Oracle has moved from using a modified version of CVSS v2.0 to CVSS v3.0. Expert Michael Cobb explains criticism of the old version, and the changes ...continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.