Managing Software Project Failures

Software Engineering is yet to find one solution where probability of success of meeting all objectives are high. Even though there are many research happening, people are still believing in process fine-tuning as one of the solution. The current trend is to adapt agile methodology with shorter sprint cycle of delivery to get customers feedback faster. Tool penetration in the Software Development Life Cycle also reduced human errors, improved productivity and reduced variance significantly.  This is one engineering field where tools are still evolving in each phase. Success in one phase is making people control schedule, quality and cost variance in projects significantly. That phase is functional testing phase. 
In this blog I would like to share some of the challenges in functional test automation and approach which worked for me while consulting organizations. 
I summarize the challenges I heard which you may hear in some of your current business situations. 

  • Number of planned releases to system testing team and actual releases have huge variance
  • There is a feeling that certain issues in software should have beeen caught earlier in the life cycle
  • Testcases are in place why are we not automating test execution? Which framework to adapt? Which tool to use?
  • Our solution is complicated we have many environments on which we need to test and there is no single framework which helps Web UI testing, API testing, Database Testing and Mobility testing
  • Why are we not using the same testing team who are testing currently, contribute for test automation effort also?
  • We did automation using some framework but changes to product was so much we could not sustain script maintenance speed resulting on scrapping many of the scripts which were working earlier
  • Metrics we collect looks too much but we are unable to answer some of the stake holders questions during project review 

So the search continues for one technical solution which will address many of them. I was also looking for such solution to recommend to my client and I found in a framework created by young engineers who had captured all challenges of test automation project failures very nicely and had addressed all of them in their framework. The people associated have used this to create young highly productive engineers who are 3 times faster in converting testcases into automated scripts, have capability of doing POC in a shortest time due to 90% of the object handling required libraries they have in their framework. The same framework supports API testing, Database testing and mobile side both Android and iOS applications.
The automation should support continuous integration and ensure high quality release to system testing team and later to production. Regression automation % also continuously should grow enabling faster cycle time to production release with reduced defect escapes. The percentage of projects  not meeting the set objectives must reduce drastically towards zero.