What are some common causes for software failure?

What can be done to reduce the chances of software failing?

Rony_Sklar - PeerSpot reviewer
Community Manager at a tech services company with 51-200 employees
  • 6
  • 6317
PeerSpot user
5 Answers
Don Ingerson - PeerSpot reviewer
QA Automation Engineer at Global Fortune 500 Company
Real User
ExpertTop 5
May 2, 2021

This is a good question. 

Ideally, if you can find a person that is very well experienced in the Industry/product domain and is experienced automating it yields better results. For example, a tester who has a lot of experience with SAP will be much more successful testing SAP than someone who is an excellent/experienced tester without much SAP experience.

Search for a product comparison in Functional Testing Tools
Quality Assurance Team Lead at Parkview Health
Real User
Aug 11, 2021

There are a variety of causes for software failures but the most common are: 

  • Lack of user participation

  • Changing requirements

  • Unrealistic or unarticulated project goals

  • Inaccurate estimates of needed resources

  • Badly defined system requirements

  • Poor reporting of the project’s status

  • Lack of resources

  • Unmanaged risks

  • Poor communication among customers, developers, and users

  • Use of immature technology

  • Inability to handle the project’s complexity

  • Sloppy development practices

  • Poor Project Management

  • Stakeholder politics

  • Lack of Stakeholder involvement

  • Commercial pressures

Founder and Managing Partner at Better Now
Real User
Aug 11, 2021

The other posts covered a number of very relevant topics. I would like to focus on some testing issues:

1 - Speed ​​of test evolution in relation to software delivery can be supplied with test automation.

2 - Automating tests without a clear definition of coverage often generate skewed tests based on masses of test data that do not cover 100% of the possible business flows.

3 - Competition or unavailability of computing resources and environments.

4 - Lack of an understanding of how to implement CI/CD, with QA because of the first 3 items I mentioned.

What we have been doing is investing time and money in solutions that speed up the process of understanding and connect the needs to availability in an automated way based on Service Virtualization, creation of Hitters and Data Injectors and Automated Generation of Data for Tests.

This way you can isolate internal and external dependencies, provide the data to run a pipeline in an automated way and collect results in a detailed way.

There are solutions on the market such as Curiosity Software where all the criteria and conditions to maintain the quality of the Software are integrated. 

There is a company called Better Now (from Brazil) that has a solution based on Data Life Cycle that maintains the traceability and monitoring of application behavior in the correct distribution of data in an end-to-end model, capturing problems in real-time and the virtualization of the services collaborates quickly and efficiently with concurrency issues and API's availability. 

A good suggestion is Micro Focus, ParaSoft (among other market solutions).

Technical Analyst at a tech services company with 51-200 employees
Aug 10, 2021

The software development process is usually affected by many risk factors that may cause the loss of control and failure, thus which need to be identified and mitigated by project managers. 

Software development companies are currently improving their process by adopting internationally accepted practices, with the aim of avoiding risks and demonstrating the quality of their work. 

This paper aims to develop a method to identify which risk factors are more influential in determining project outcome. This method must also propose a cost-effective investment of project resources to improve the probability of project success. To achieve these aims, we use the probability of success relative to cost to calculate the efficiency of the probable project outcome. The definition of efficiency used in this paper was proposed by researchers in the field of education. 

We then use this efficiency as the fitness function in an optimization technique based on genetic algorithms. This method maximizes the success probability output of a prediction model relative to cost. The optimization method was tested with several software risk prediction models that have been developed based on the literature and using data from a survey that collected information from inhouse and outsourced software development projects in the Chilean software industry. These models predict the probability of success of a project based on the activities undertaken by the project manager and development team. 

The results show that the proposed method is very useful to identify those activities needing greater allocation of resources, and which of these will have a higher impact on the projects success probability. Therefore using the measure of efficiency has allowed a modular approach to identify those activities in software development on which to focus the project’s limited resources to improve its probability of success.

Director of Community at PeerSpot (formerly IT Central Station)
Community Manager
Aug 10, 2021

@Mangesh pangrekar can you please clarify what paper you're refering to? The context isn't very clear... Thanks.

PeerSpot user
Release Test Manager at a tech company with 201-500 employees
Real User
Top 20
Jun 24, 2020

Common causes for software failure are:

  • 1. Poor requirements definition

  • 2. Poor programming skills in the given environment

  • 3. No interest in or knowledge of the wider software environment causing problems in the integration

  • 4. Not enough resources or time for development resulting in poor software quality

  • 5. Tests do not cover changes in software

What can be done to reduce the chances of software failing?

  • Ad 1.: Define acceptance criteria together with the requirements

    and use these within test cases

  • Ad 1. & 5.: Write use cases with the requirements definition

    as the basis for test case creations

  • Ad 1.: Write down together with business users a risk-weighted (frequency of use x potential damage) process landscape

    and link new requirements to this process and its risk.

    Preferable recheck/rework the risk weighting for the individual requirements.

    Use this for test planning resp. prioritizing in test case creation and execution as well then in test reporting.

  • Ad 2. & 3.: Proper team management and specific training programs incl. learning from experienced colleagues in the given environment

  • Ad 4.: Proper project and/or backlog management

  • Ad 5.: Analyze what functions are used in production, what is changed with the developments, and what are covered with test runs.

    Cover identified gaps between developments and test coverage with additional test cases.

Learn what your peers think about BrowserStack. Get advice and tips from experienced pros sharing their opinions. Updated: May 2023.
706,775 professionals have used our research since 2012.
Related Questions
Quality Engineering Manager at Retail Insight
Apr 18, 2023
Hello community, I'm interested in using AI tools such as ChatGPT to assist in software testing tasks such as writing test cases and creating test data, perhaps driven by acceptance criteria. Does anyone have experience with this? Thank you.
See 1 answer
Owner at Technophia SRL
Apr 18, 2023
Hi Steve, ChatGPT can help in several ways from writing a Test Strategy to coding automated Selenium test cases. The most important thing is to provide a good context of what you need. You can ask "What do you need for..." and ChatGPT will guide you to provide the right context. The path to reach a good result is to iterate until you be satisfied with the work obtained. Good luck.
Development Specialist at a healthcare company with 1,001-5,000 employees
Jun 3, 2021
I'm working for a company with 1000+ employees and I'm exploring two products: Panaya and Tricentis.  How good is Panaya Test Dynamix in comparison with Tricentis?  Thank you!
2 out of 4 answers
Key Account Manager at a manufacturing company with 10,001+ employees
May 11, 2021
Panaya and Tricentis are both good. Could you share more info on your use case and what are your key selection criteria ?
Director of Community at PeerSpot (formerly IT Central Station)
May 22, 2021
@Jesús Antonio Santos Giraldo ​, can you please share more details about your case as suggested by @John ​so that our peers can assist you with your queston?
Related Articles
Ariel Lindenfeld - PeerSpot reviewer
Director of Community at PeerSpot
Aug 21, 2022
We’re launching an annual User’s Choice Award to showcase the most popular B2B enterprise technology products and we want your vote! If there’s a technology solution that’s really impressed you, here’s an opportunity to recognize that. It’s easy: go to the PeerSpot voting site, complete the brief voter registration form, review the list of nominees and vote. Get your colleagues to vote, too! ...
Related Categories
Related Articles
Ariel Lindenfeld - PeerSpot reviewer
Director of Community at PeerSpot
Aug 21, 2022
PeerSpot User's Choice Award 2022
We’re launching an annual User’s Choice Award to showcase the most popular B2B enterprise technol...
Download Free Report
Download our free BrowserStack Report and get advice and tips from experienced pros sharing their opinions. Updated: May 2023.
706,775 professionals have used our research since 2012.