With the worldwide proliferation of technology, there is no shortage of software available to consumers of every stripe to serve every niche and need imaginable. As with all products, there are different grades of software quality. We’re obviously uninterested in shovelware; it’s high-quality software that matters. What then, constitutes high-quality software?
Software is considered to be of a high quality when it meets or exceeds customer expectations and earns customer satisfaction. To break this down further, quality signifies more than just usability, robustness, efficiency, reliability, maintainability, portability, and reusability. The meaning of quality extends to include flexibility, orchestration, process automation, and integration with external software. High-quality software lowers costs and eliminates waste which ultimately delivers profit to the client at a large scale. Moreover, software should be well-maintained and improved over time to continuously deliver value to the customer.
At Cimpl, we created a company culture that focuses on quality and transparency. As a result, every employee in our company is responsible and accountable for the quality of his or her work. Controlling quality in software development creates an open atmosphere and increases productivity. Our high-quality software is the result of collaborative efforts of the entire Cimpl team. Everyone – VPs, directors, project managers, business analysts, developers, quality assurance, and support staff – cooperates to produce world-class work that is guided by the leadership of the company’s president. This is not done in a vacuum; there are principles to follow.
What are the Keys to Developing and Maintaining High-quality Software?
The keys consist of following these 7 guidelines. To create software that's high-quality, you should:
Dedicate a specific amount of time for developers to read business requirement documentations
Find errors early in the development phase
Train developers and staff responsible for Quality Assurance to improve their technical and analysis skills
Create user and technical documentations
Have continuous peer-reviews or create quality circles to code review
Follow certain standards and procedures (like adding comments in the code)
Create test cases and share them with clients
What are Quality Improvement methods?
In project management, quality is planned and the expectations for software acceptance gets defined before the project starts. Projects with effective quality management systems such as quality planning, quality control, quality assurance, and quality improvement achieve more than 95% defect removal efficiencies on software development and experience ROI of more than $15 for each $1 spent.
Here are some quality improvement methods related to product and process improvement:
1. Total Quality Management (TQM) — is a management strategy with embedded awareness of quality in all organizational processes. TQM pioneer Dr. Joseph Juran recognized a universal principle called the "vital few and trivial many" or Pareto’s Principle (80/20 Rule). The principle states that roughly 80% of the effects come from 20% of the causes.
2. Six Sigma (6σ) — is a set of statistical methods used to improve the quality of process outputs by identifying and removing the causes of defects (errors) and minimizing variability in manufacturing and business processes.
3. ISO 15504-4: 2005 — Guidance on use for process improvement and process capability determination.
4. Quality Function Deployment (QFD) — also known as the house of quality approach. It is a structured method that uses the seven management and planning tools to identify and prioritize customers’ expectations quickly and effectively.
5. Kaizen — Japanese for change for the better; the common English term is continuous improvement.
6. The Deming Cycle — Deming, father of quality management, created the Deming cycle of plan, do, check, act cycle for quality control purposes.
7. Taguchi methods — statistical oriented methods including quality robustness, quality loss function, and target specifications.
Cost of Poor Quality (COPQ)
Veracode defines a Software Development Life Cycle (SDLC) as steps that provide a framework for the development of an application or software. There are four sequential steps in an SDLC:
- Decide – What you are going to develop
- Design – Decide on how the product to be developed will interact within the software environment.
- Develop – Build the software based on what you have designed in the previous stage
- Demonstrate – Show that your software functions as planned
It’s worth noting that as software development advances further in the development cycle, the consequences of weak design, illogical decisions, and poor implementation will result in ever-worsening setbacks. Therefore, issues that are identified early in the SDLC can be easily fixed or even prevented from having serious effects on the final outcome.
Effectively, there is a cost of poor quality (COPQ). There are obvious COPQs, such as the added costs of reworking certain elements in the software or the outright full loss of a project that has to be abandoned so as to cut losses. This is only the tip of the metaphorical iceberg, however. Other, more hidden COPQ include:
- Losses in the time value of money
- Morale loss among developers
- Drop in customer loyalty
- And lost sales (among many others)
Some Final Words
The 7 keys illustrated above should be implemented early and entirely. They are, however, only the start of the entire process. After creating great software, MAINTAINING a high level of quality is essential. Good starts can be tarnished by poor follow-through. It is vital that potential issues along the way are anticipated and resolved before they become catastrophic.
At Cimpl, our company thrives on delivering quality solutions to our customers. We would never have been able to deliver this level of quality without the outstanding levels of excellence delivered by ALL of our employees. We are always on the lookout for qualified individuals looking to become members of the Cimpl team!
If you would like to see the career opportunities available to you, please take a look at our Careers page on the Cimpl website. We are Canada’s largest IT and telecom expense management provider and a great place for you to start growing your career today! If you would like to learn more about Cimpl, feel free to check out the About section of our website. From there you could take a look at our Core Values and see what Life @ Etelesolv is all about.
- 3 Selling Points To Support IT Assets Management
- Single vendor vs. multi-vendor: 8 factors to consider
- 8 Practical Advantages of Business Automation