This article is meant to explain how an Agile project can incorporate project quality management. The Agile method is known for being incremental and fast-paced, one may want to know how it compares to a traditional or waterfall approach when it comes to project quality management.
The products and services we rely on every day are expected to do their job. And for the most part that is the case, but sometimes there may be an issue or bug. Like when your phone or computer crashes, or when a fuse blows in your lights. But these issues or bugs can be far more impactful than just a slight inconvenience, for example, say a defect in a hospital's database caused two patients to have their medication swapped, and this could cause great suffering or even death for these patients. So even though these bugs might be small, they can still result in catastrophes. This is where project quality management steps in, while it is hard to define, many people agree that the purpose of project quality management is that makes sure the product/service created by a project is able to fulfill the reason it is made. For example, if a company makes a mobile playing card game, when the product is done it should be able to play and run that game well as best as possible first and foremost. Quality is just as important as something like scope, schedule, or cost management. If neglected, it could possibly cause a project to fail as it will not meet customer requirements. In fact, there are even quality assurance companies that organizations like video game studios send their projects to so that their product has been tested. If there was no guarantee that the product/service you were buying was guaranteed to work, many people would be rightfully skeptical to purchase it. Since project quality management can be an ambiguous term- below are some terms and processes to provide a better understanding of the concept.
There are a couple of terms that are important when it comes to project quality management, we use an example to better explain these terms-
Functionality- How well the intended function is satisfied.
If a company designs an app for ordering food, how well does it actually order food?
Feature- Special characteristics outside the function.
This food app has specially built-in features to see a restaurant's menu through the application.
System outputs- Results generated by the product.
A user sees they ordered a certain order at a specific place and can see when it is ready.
Performance- How well something meets a customer's intended use.
How easy is it to order food from a restaurant?
Reliability- How well something performs normally.
How well does the app run normally?
Maintainability- How easy it is to manage.
Are updates easy to implement in the application.
There are also three main parts to quality management-
Planning- This is where you decide which quality requirements are important to the project and how you will satisfy them. You need some type of plan to follow along with a type of measurement to actually measure your progress- also known as a metric. This also includes changes to the actual plan and documents concerning the project. Communication is a large part as it is important to make sure you and everyone else- including the team and customer(s) are all on the same foot.
Managing- This is where you actually put the plan into action and execute it. They also must follow the policies established in the plan created earlier. You need things like reports and tests. This part can also be called quality assurance.
Controlling- While managing and controlling sound like the same thing, functionally, they are different. Managing is about implementing your plan while controlling is about monitoring the results of managing to make sure everything is up to par. You can use many types of charts and graphs for this.
This image outlines a rough hypothetical of a project quality management plan looks like.
Source is: http://www.projectengineer.net/wp-content/uploads/2018/06/pmbok-process-plan-quality-management.png
As you know, the structure of Agile is what separates it from other methods. Because of that- project quality management operates a little differently. To list a few differences:
While most methods conduct their quality reviews near the end of the project. An Agile methodology allows for several reviews throughout the project.
This smaller and incremental approach allows defects to be found earlier in the project when compared to other methods.
A retrospective is something done at the end of each sprint, this can also be focused on project quality if it is lacking and the team has noticed.
Outside of retrospectives, the collaborative environment that Agile creates allows for better understanding and management/control of project quality. Besides retrospectives, there are meetings like standups and reviews where things can be discussed more, including but not limited to Agile.
While traditional methods prioritize things like documentation, Agile prioritizes working products.
In a traditional method, the development process falls on the project manager, meaning they are also over the quality management. In Agile though, the process is controlled by the team, meaning they are over the quality management.
In Agile, testing is an obligatory step in each sprint. But in a traditional approach, it can be left out to meet a deadline or fit something else.
In this Agile process visual, you can see that testing is an integral part of the Agile process with step number 5. Quality management is something that is a core part of the Agile process.
Source is: https://miro.medium.com/max/1200/0*fU8lG0R9HoQdFtYK.jpg
So what does this all mean? You should not go away thinking Agile is the best method ever. But it definitely should be acknowledged that its principles and structure do give it what may be called advantages when compared to a traditional method. The fact that testing is baked into the process garuntees that you have a little quality management, while it can be left at the wayside in other methods. Also an issue with many projects is that testing is done near the end, so this can be overwhelming if you just start testing near the end and you are overwhelmed with so many issues at once. The incremental approach to Agile allows for defects to be detected earlier so it is not everything at once. Overall, quality is a very important part of Agile- it is literally mentioned multiple times in the principles of Agile when it talks about delivering working products.
Agilemania. (n.d.). Quality Management in Agile. Retrieved March 10, 2023, from https://agilemania.com/quality-management-in-agile/