What Should Quality Mean To Your Developers?
By: Nikki Dent
Everyone is looking for a quality software solution or website, but what does “quality” really mean? It’s one of those terms that gets thrown around a lot, but it means different things to different people. Quality is not only about delivering a solution that works now, but it also encompasses building the technology correctly and avoiding technical debt so you can quickly make adjustments in the future. Naturally, the solution also needs to perform as expected and provide a great user experience that encourages adoption. But the reality of development is that no solution is finished at version one, so quality must be considered beyond your first deployment and include a plan for delivering an ongoing experience.
We believe that to achieve the best user experience and accuracy, development teams should focus on building a scalable infrastructure for the solution and setting a strategy for testing and continuous improvement. Let’s take a closer look at how these two pieces affect quality.
Since one of the markers of a quality software solution is adoption, you want to build an infrastructure that can handle an ever-increasing traffic load. Here at Aptera, we believe that quality software is built in a cloud infrastructure. The cloud allows you to easily increase space to accommodate more users or growing software itself without the manual work involved with setting up physical servers. This also saves you the hassle of trying to predict future demand on the system by letting you easily increase capacity as demand grows.
Testing & Continuous Improvement
A thorough process surrounding testing leads to a quality solution by both optimizing the experience and ensuring accuracy in performance. Creating a quality product isn’t about perfect testing, but rather testing that’s built into the process.
Here’s one example of how testing can be a part of your process. The project starts with unit tests built in that the developers write code to pass. Code will then be peer reviewed by other developers via pull requests. Next, you can run an automated script to impersonate users, which should be followed by manual testing from your quality assurance team. Finally, the solution is ready to be sent to the client for user acceptance testing (UAT). This is sometimes performed by the client and other times by a test group of users.
At every step in this process there should be a feedback loop to the dev team, so that if anything is broken or not functioning as expected it can be reworked and sent back into the testing flow to be checked. As the solution begins to be adopted, feedback from users can also be taken into consideration and added as fixes or new functionality, which, in turn, enters this cycle of testing and continuous improvement. A steady stream of testing and improvement helps to keep your application nimble, which avoids the accumulation of technical debt that can hold you back from innovation.
DevOps Helps the Process
Using a DevOps approach where your development and infrastructure teams work together helps facilitate this process of quality by allowing for the continuous integration of new features and fixes. A DevOps approach also helps the team find issues quickly, which both improves end user quality and keeps your team ready to expand and implement updates.
The team at Aptera utilizes a DevOps process to ensure that every piece of software and every website we create is cloud-based and well tested to deliver the best product for your business. Talk to our team about creating your next web or mobile app or website or about training your developers in DevOps.
About Nikki Dent
Nikki is a technical copywriter for Aptera. With a bachelor’s degree in writing from Saint Mary’s College, Notre Dame, Ind., she has been honing her craft of marketing copywriting for the past six years. In her role at Aptera, Nikki enjoys learning and writing about the technology and strategy at work across the company.