It is the Process, not the people or the tool that is often at fault
Everyone can point to a project that has not gone well. It may be over budget and late. It may not deliver the expected functionality. Or it may fail in production after a lot of cost and effort. Failure in production costs the organisation funds and reputation at the very least. It may even cause the business to shut down after losses.
In this blog, we concentrate on three interrelated factors in Quality Assurance that have an impact on project success. Two of these factors are often blamed for project failures. The third is often not considered.
“If only we had the correct testing resources with the correct skill sets this project would be successful”.
We hear this a lot in projects.
Education is available to all people involved in software testing or quality assurance either through provided courses or self-study. People graduating from Information Systems programs in Colleges and Universities have at least exposure and sometimes substantial training in the methods of software testing. They are much better equipped than people in the past when software testing was an afterthought and just a small piece of the programming course.
If you have a specific question you can query it online; check through a knowledge base; or ask a community for an answer.
The information to make people into experts is easily available. This should not be an issue in a project success.
“If only we had the correct testing tool(s) this project would be successful”.
We hear this a lot as well.
We have more software testing tools than we have ever had and everyone agrees that Software Testing on a project of any size requires tools. No one would waste the time on manual defect tracking; manual testcase creation and retention; or manual requirements tracing when good tools that will more than repay their investment are available. The tools are available, they provide the functionality we need and they are easily found and installed.
The tools are available. This should not be an issue in a project.
What goes wrong?
So why do we still have concerns?
Why are so many projects late; over-budget; and deliver reduced functionality?
Why, with all the help we have, does it so frequently go wrong?
As a caveat, not all projects go wrong but the percentages are still too high and with software becoming more pervasive, we cannot afford to be wrong too often. Software now controls a lot of our lives and can have big impacts when it goes wrong.
The answer is that we have thrown a set of disparate tools and solutions at the various problems without a coherent look at the process. We have not reviewed the entire process to see the best places to do certain tasks and where it would pay and provide value. It is the process or more accurately the lack of process that has caused the problems. We complete the individual tasks quite well and a lot of information is recorded and retained but it is not available when it is needed or people may be unaware of its existence. Siloed information is all over projects for one reason or another.
These are process issues not tool issues and not people issues. Fix the process and the others will fall into line.
Quality Assurance needs to focus on Process Improvement.
Neil Price-Jones has experience in software testing and implementation of automation. His work supports various industries including financial, telecommunications, and pension administration to name a few.
He also assists many clients with their quality assurance training needs in the financial, provincial government, health and insurance sectors.
Founded by Neil in 1993, NVP provides testing expertise to numerous organizations across Ontario, Canada.
The electric car battle is on – market data proves it
Every major automobile manufacturer is heavily investing into autonomous technology and competition is fierce to launch not only the first but best and safest EVs and eVTOLs.
Research by Morgan Stanley shows that one billion electric cars will be on the roads by 2050. In November 2017, electric car market growth reached a serious milestone – 3 million electric and plug-in hybrid cars on the roads worldwide. Astonishing, isn’t it? In 2017, sales of plug-in vehicles reached 1,223,600 units, with battery electric cars accounting for 66%.
Some food for thought…...
AI - This year Artificial Intelligence will start to permeate into the auto industry probably starting with advanced voice commands for your infotainment system, however this will quickly expand into analysis from the copious amounts of data that is captured with ever increasing sensor usage.
V2V Technology - In an ever connected world, vehicle to vehicle connectivity, it is expected that all new cars on the road will have V2V technology installed by 2023 and that V2X technology will follow along shortly thereafter.
As we can see software continues to become increasingly important for the car of the future.
But with the changing role of software in automotive manufacturing comes challenges for developers. So let’s take a look at 5 of the most-pressing ones…
- Proper tools - To manage multiple projects (suppliers, functional safety requirements, hardware, software, components) combined with increased complexity of automotive development, which calls for advanced tools such as Helix ALM.
- Integration - Pulling together the diversity of innovation into fully integrated, flexible, scalable ecosystems that meet the wide-ranging needs of consumers and automakers to amplify the connected lifestyle.
- Increasingly tough standards - Regulatory requirements are getting stricter in terms of fuel efficiency, software, product safety, and reliability. Safety features that were once expensive optional add-ons—like backup cameras—are now included as standard equipment on new models. Reliable software plays an important part in many of these new standards, but implementing them requires additional research and development. This adds to manufacturing costs and reduces potential profit margins. Therefore, the cost and efficiency of automotive software safety is becoming a key concern for developers.
- Focus on electronics - Because software is being used to expand automotive capabilities in everything from infotainment systems to autonomous parking/driving, it makes sense that an increasing percentage of the cost to manufacture a car is being attributed to software content. A decade ago, electronics and software content represented less than 20% of the total cost to manufacture a car; today, it’s as much as 40%. Likewise, electronics systems are linked to more than 90% of innovations and new features. Pressure is now coming from the organization to maximize the cost of software development.
- Greater demand for customization - Variations allow companies to reach multiple customer groups within a fragmented market with different versions of the same base product. But managing the development of such variations can be a logistical challenge. Some versions may have components and features in common, so to avoid redundant work, those commonalities need to be defined and documented. Therefore, it’s important that automotive manufacturing software be able to keep track of multiple product variants and manage the development of each product variant efficiently.
That’s why software is becoming more and more important to the automotive industry—to keep track of the various product variables required to meet the demands of the market. A Tesla car now has more lines of code than macOS or the Windows Vista operating system.
Sales in 2019
I’ve been in Sales for many years and I have been thinking about how things have changed during that time. You used to be able to pick up the phone and call someone, show up at their place of business for an impromptu coffee or leave a card or brochure with reception. Now we have voicemail, there’s no one in reception to talk to, and you can’t directly email someone without their permission due to recent laws. It’s more than just show up and followup... Read More....
I must admit that my default tool is still MS Word and Google Docs…. Like most pm’s I do not like heavy process or anything that will hamper my creativity. Requirement gathering and percolation is certainly an art form. Just like writing a book or song it takes creativity and a complete understanding of what we are trying to accomplish. This process can be sometimes very easy or frustratingly difficult, that is why we like using simplistic tools for creating and perfecting our requirements.
The Pitfalls of Software training
It’s been said it takes 10,000 hours to master any new skill. There are other studies that say it takes only 20 hours to learn something new. Companies are looking for ways to make new employees productive faster, and they only become productive with experience.
There are many options available for training, classrooms, elearning, video tutorials etc that vary in their effectiveness on our ability to retain knowledge. People still stumble because they can’t remember all those menu’s and steps, it takes time and practice to learn from experience. How can you reduce the time it takes to train & gain experience?
A.I. and the Future of Testing (post webinar)
We had a great turn out for last Thursday's webinar "3 Ways AI Will Change Software Testing" and I would like to share with you some of the great questions that came up during the session.
Question: What about Software Testing Jobs? What skillset should one look at developing for a good job?
That is a great question. Here are some suggested skills:
- an understanding of AI and machine learning
- data strategy
- understanding of busines logic
- knolwedge of security testing
- automation testing
Testing A.I. systems requires a high degree of involvement. “You need to be aware of over-fitting, outliers and other inconvenient properties of your data set, and be able to detect and avoid these issues,” .
Here is an interesting related article.
Question: How does this pertain to the way A.I. will change software testing?
There are a few ways according to what I have researched.
1. Test Managers spend significant time on admin tasks, AI can free them up to actually do what they are suppose to be doing.
2. AI can assist testers in making more informed decisions. For example - AI is being used to analyze big data in various ways and can provide outcomes that we as humans cannot (or at least as quickly and as efficiently) such as user trends, defect trends etc.
3. Sames as #1, free up your time to focus on more important testing activities.
I am always looking to see what the next big trend is in tech. A couple of years ago it was Agile, Automation, 3D printing, followed by Dev Ops, Internet of Things and now it appears the new theme is AI (artificial intelligence). Google spent billions on AI in 2016 with 90% on R&D and deployment. By providing better search results, Netflix estimates that it is avoiding canceled subscriptions that would reduce its revenue by $1B annually. So if you follow the actual money, one would assume that AI isn’t going away anytime soon. So it begs the questions as to how it affects anyone involved in software development? Companies such as Facebook and Amazon are investing heavily in AI supported processes and software to accommodate yet another disruptive technology. Read More.........