top of page

Don't Skimp on Quality: Quality Management and Agile Methodologies

Writer's picture: Ryan BilodeauRyan Bilodeau

Introduction

So, you're a big-shot project manager. You've estimated your costs, made your designs, gathered your teams, and it's finally time for the bulk of the work to be done. It's finally time for your team to work on the product you've been setting up all this time.


In however long, your team will have a working deliverable. But it doesn't mean that just because you managed to actually deliver your product without running out of money, you've done it. You haven't won unless your shareholders have their expectations met- and hopefully exceeded.


Quality Management For Dummies

Failing to meet expectations can kill your project, or worse, your company. Thankfully, project managers everywhere have a tool in their arsenal to help ensure that never happens: Quality management.


Well, that's a very fancy and colorful way of saying something all of us knew already. But quality management is no joke, and performed well, it can be the difference between an outstanding success, and a tragic failure. In this post, we'll dive right into Quality Management, and cover how Agile methodologies can help with it.


Quality Management in Agile

Agile's core principles address one serious issue other methods have with software development: Changing requirements. Needs change in business, and your team needs to stay on top of requirements and meeting expectations constantly. So how do you make sure that your product actually meets your goals? By embracing Agile's quality built-in mindset.


Quality From the Start


Quality management with Agile is built on a handful of core characteristics.


Agile quality management is:

  • Proactive - Agile teams ensure the features they develop on a sprint-by-sprint basis are functional and meet specifications, instead of leaving bugfixing for later.

  • A team effort - Good Agile teams don't stay quiet when they notice something's wrong. The whole team works together to ensure the quality is as it should be. Agile focuses heavily on team communication, and this open communication is key to ensure high quality.

  • Vigilant - When developing a feature, it is fully and thoroughly tested before being considered complete.

These practices aren't suggestions. They're core parts of the Agile development process, and can't be skipped. This focus on quality helps ensure quality from the very start of your project.


Differences From Traditional Methods

[Fig 1] Everything You Need to Know About Quality Management in Agile. (n.d.). Everything you need to know about quality management in Agile. https://agilemania.com/quality-management-in-agile


The Agile approach to quality management can be seen in the chart above, and its benefits are immediately apparent. It cuts the red tape- responsibility for quality is on everyone at every level of the project development team. At every phase of development, team members communicate to ensure they understand requirements, relaying observations, critiques, and updates. Their work is tested thoroughly and iteratively throughout the development process. Agile recognizes that working, tested, satisfactory software is more important than folders of documentation.


Quality Management Methods and Strategies


Agile's approach to quality management is aided by several tools and practices of its own.


  1. Definition of Ready: Before a story can become a sprint and actually be developed, it must be some criteria that is clear and actionable. This criteria is known as the Definition of Ready, or DoR. A well-formed DoR ensures that feature requirements are clear and well-understood by the developers and relevant shareholders, in order to minimize errors due to confusion.

  2. Definition of Done: The Definition of Done, or DoD, is the criteria used to determine when a project feature is complete and ready to ship. This allows the team to ensure that the sprint has truly met its objectives and produced a functional deliverable that meets stakeholder needs.

  3. Peer Reviews: Peer reviews are a common technique in which team members review the work of their peers, offering advice, critique, and solutions to problems and difficulties they have faced. This helps build trust and cooperation among teams, while enhancing the quality of features.

  4. Pair Programming: Pair programming is a sort of proactive peer review. It is the process in which two team members develop software simultaneously on one machine. This allows them to bounce ideas off of each other, and notice mistakes or flaws in their code much faster.

  5. Sprint Retrospectives: In sprint retrospectives, team members take a moment to gather and reflect on the work they did during their last sprint. Insights gained from the processes they used and complications they encountered can be valuable in preventing mistakes in subsequent sprints.

  6. Refactoring: While not a tool to be abused, re-writing code can be a very wise decision. Even if code is not being written with shortcuts, and pair programmers have carefully chosen how to implement functionality, it's more likely than not that towards the end of a project, developers will have a good idea of where code can be improved. Sometimes, it can be worth taking the time and effort to implement these re-writes, as it can help minimize technical debt, and improve security and performance.

While not all of these strategies are features unique to Agile, teams have found them right at home with Agile's fundamental philosophy behind development and integrated them into their own companies, where they have found great success.


Conclusion


Agile methodologies incorporate quality management into every stage of the development process. Instead of allowing team members to leave quality control for higher managers in the manner of traditional development methods, Agile holds them accountable all the way through development in order to ensure that needs are met.


Constant and clear communication is key to quality. Agile recognizes this need by having teams constantly communicate their progress in regular meetings. Peer reviews and pair programming help ensure quality of code during and after development. And finally, ensuring a good definition of done and definition of ready can ensure miscommunication does not occur before development, and that the shipped feature meets all the client's needs.


These methodologies have been proven to significantly improve the quality of products. By implementing them, your company can bring themselves one step closer to success in their endeavors.


References


Everything You Need to Know About Quality Management in Agile. (n.d.-b). Everything you need to know about quality management in Agile. https://agilemania.com/quality-management-in-agile


Peterson, S. (2021, May 7). Quality management in agile projects – Tips for success. Agile Project Management. https://youragilepm.com/2020/08/quality-management-in-agile-projects


Project Quality Management Demystified: A Guide to excellence. (n.d.). https://www.softwareadvice.com/resources/project-quality-management/

Comments


Commenting has been turned off.

©2024 by Planet Agile. Proudly created with Wix.com

bottom of page