How to deliver quality
Since our previous blog entry was about our decision as a company to focus on software quality, I thought I would try shedding some light on the various methods Askida uses internally to deliver exceptional software quality.
As Askida’s Director of Operations, I am responsible for the quality of the software solutions we deliver to our clients, but it’s hard for me to talk about software quality and why it’s so important to me without talking about my own journey. In 1996, I was put in charge of an important project in collaboration with the IT department of a bank. We tried using development methods originally pioneered by Toyota and though the end results were excellent, the development process itself ended up being quite arduous. The problem was simple: We were trying to adapt methods developed by Toyota and use them in a completely different context. Though this project was difficult, it allowed me to truly understand why a software engineer should always put the client first, and why he or she should never stop looking for new tools and methods to deliver even better results.
Today, Askida regularly benefits from an internal culture that encourages and rewards innovation and new ideas
In 2000, as our journey with Askida was just getting underway, we explored various development methodologies like RUP (Rational Unified Process), CMMI (Capability Maturity Model Integration) and many others. Then, the Agile movement was born and we immediately adopted these methods, as they reminded us of the Toyota methods we had tried adapting a few years earlier. Agile was accompanied by another important organisational change: Lean Management. Put together, these two cultures allowed us to build a solid foundation for our company, which put us on the path to tremendous software quality.
Today, Askida regularly benefits from an internal culture that encourages and rewards innovation and new ideas. Moreover, adopting the ISO 9001: 2015 standards has helped us continue to foster this internal culture of quality. In our meetings and reviews, our team is encouraged to discuss potential areas of improvements, which we document and later, do a follow-up on. There’s a clear difference between this philosophy and the way a lot of companies do things. In other companies, areas for improvements are often relegated to watercooler conversations that rarely go anywhere.
We do the opposite. Our procedures are all documented, and we revise them regularly to identify potential areas for improvement, such as where time could be saved. We always strive to give our clients more. We’ve also put in place various methods that allow us to deliver precise estimates, including a method inspired by the ISO 19761 standards, as well as processes to facilitate continuous integration, automated deployments, DevOps, code reviews and more. Lastly, our tests are now entirely automated.
All these different processes and methods are supported by what we call our “development stack,” which incorporates the best tools currently available on the market. As a rule of thumb, we try to avoid re-creating tools that already exist. Instead, we analyse the market and evaluate the different tools that are already out there. In other words, to paraphrase my partner: We’re easy to please, we just want the best technology the market has to offer.
Amongst all the different tools we use, the only one we’ve had to develop from scratch is Askida, our software solution that orchestrates automated tests. We chose that route simply because we couldn’t find any tool that offered this type of service. While there were many automated testing tools out there, it didn’t seem like they had reach technological maturity yet, as none of them were able to do what Askida does now. Thanks to Askida, we can now offer our clients a truly complete development process and deliver incredible software quality.
Of course, the tools and methods we use can only get us so far. The real key to our success is the brilliant experts that make up the Askida family. Without them and their devotion to quality, none of this would be possible, and we feel lucky to be able to work every day with such a fine group of men and women who all share our commitment to quality.
This was only a brief overview of some of the methods Askida uses to deliver outstanding software quality. It’s work that can be difficult and demanding, but our clients remind us almost every day how important quality software is for them.