{"id":22927,"date":"2017-02-17T02:11:35","date_gmt":"2017-02-17T02:11:35","guid":{"rendered":"https:\/\/www.testingdocs.com\/questions\/?p=22927"},"modified":"2024-11-16T14:38:40","modified_gmt":"2024-11-16T14:38:40","slug":"what-are-common-problems-during-software-development","status":"publish","type":"post","link":"https:\/\/www.testingdocs.com\/questions\/what-are-common-problems-during-software-development\/","title":{"rendered":"What are common problems during Software Development?"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>Some of the common problems that occur during software development<br \/>\nare as follows:<\/p>\n<ul>\n<li>Poorly written requirements<\/li>\n<li>Unrealistic schedules<\/li>\n<li>Inadequate testing<\/li>\n<li>Change in requirements \/ Adding new features after development<\/li>\n<li>Poor communication.<\/li>\n<\/ul>\n<h2>Poor requirements<\/h2>\n<p>Requirements are poorly written when requirements are unclear, incomplete, too general, or not testable; therefore, there will be problems.<\/p>\n<p>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.<\/p>\n<h2>Unrealistic schedules<\/h2>\n<p>The schedule is unrealistic if too much work is crammed in too little time.<\/p>\n<p>Solution:<\/p>\n<p>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.<\/p>\n<h2>Inadequate Testing<\/h2>\n<p>Software testing is inadequate if no one knows whether or not the software is any good until customers complain or the system crashes.<\/p>\n<p>Solution:<\/p>\n<p>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.<\/p>\n<h2>Change in requirements\/New Features<\/h2>\n<p>Another common problem is changes in requirements and new features being added after development is underway.<\/p>\n<p>Solution:<\/p>\n<p>Choose a software model that is adaptable to changes. For example, the Agile Model.<\/p>\n<p>In the Waterfall model,\u00a0 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&#8217;re adequately reflected in related schedule changes. Use prototypes early on so customers&#8217; expectations are clarified and customers can see what to expect; this will minimize changes later on.<\/p>\n<p>Miscommunication<\/p>\n<p>Miscommunication means the developers don&#8217;t know what is needed or customers have unrealistic expectations; therefore, problems are guaranteed.<\/p>\n<p>Solution:<\/p>\n<p>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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview Some of the common problems that occur during software development are as follows: Poorly written requirements Unrealistic schedules Inadequate testing Change in requirements \/ Adding new features after development Poor communication. Poor requirements Requirements are poorly written when requirements are unclear, incomplete, too general, or not testable; therefore, there will be problems. Solution: Ensure [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[50],"tags":[],"class_list":["post-22927","post","type-post","status-publish","format-standard","hentry","category-testing-questions","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"_links":{"self":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts\/22927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/comments?post=22927"}],"version-history":[{"count":3,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts\/22927\/revisions"}],"predecessor-version":[{"id":23225,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts\/22927\/revisions\/23225"}],"wp:attachment":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/media?parent=22927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/categories?post=22927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/tags?post=22927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}