Total quality management has a lot of influence on how quality management is made in an agile program. The Agile method is now widely used in software development, and spreading to other sectors. Total quality management is primarily intended for manufacturing industry, however it has an impact on an agile development process. Agile methods were developed by software development experts. It dates back to the 1930s. This method is particularly suited to the computer world, however it can be applied to many other sectors. The best knows are the Scrum and XP (Extreme programming) methods.
Agile methods are used to designate a set of management and/or project management practices and techniques. It aims to support collective reflection and action instead of the unilateral hierarchical decision, permanent adaptability and reactivity rather than the systematic implementation of pre-existing process models. Creativity and inventiveness are considered superior to the application of fixed procedures. The objective of this type of methodology is divided into two key words: speed and efficiency.
- The contribution of individuals,
- The practical and operational elements prevail over set processes,
- Collaboration prevails over contractual relationships,
- The dynamics of change and adaptability are better than the proper application of an initial plan.
- Customer satisfaction is a top priority,
- Any change and improvement is treated seriously,
- Respect of deadlines and quality standards,
- A team executes projects independently and together with the client. The relation between project team, managers and client are built on trust,
- Team members are motivated enough to execute projects,
- Direct, face-to-face meetings can’t be replaced by new technologies or remote work,
- Product evaluation is based on respect of deadlines and quality,
- Project execution and schedule should be respected,
- Schedules should not be respected if that will affect quality. Revise schedule is case the quality of product will be affected,
- Process should be simple and easy to execute,
- Organisation and project plans are the responsibility of the team itself.
Agile quality management and Total quality management share the same values
- Employee training: Total quality management is aligned with agile quality management. Both total quality management and agile methods focus on employees training. Training plays a key role in a software development process.
- Eliminating defects: developing reliable products and doing it right the first time rather than quick fixes are also shared values of total quality management and agile quality management.
- Continuous improvement: Agile projects focus on constant improvement of delivered products. It adapts to customer changing demand, working software is more important than documentation, progress is monitored through daily meetings and results, simplicity is essential. It gives power to team members, Dolveac et al. (2017).
Agile project life cycle and integration of Total quality management in agile system development life cycle:
- Concept phase: business opportunity is identified and feasibility and viability studies are conducted.
- Inception / warm up: it is a preparation phase for funding, team members, general support, and projects estimates are determined.
- Construction phase: during this stage, the team works closely with management and prepares deliverables, subject to testing and for collecting feedback.
- Transition phase: also known as the end game, the system is ready, final tests are conducted, documentation is written and the final product is deployed. This phase includes reworks in case of defects, and training for end users and team members.
- Production phase: in this phase, all the focus is to keep the system running and to help users adapt to it.
- Retirement: consists of removing the existing system and replacing it with a new system.
Project management – Agile and Scrum method
Agile and Scrum method is widely used in IT projects, where engineering teams interact together. In fact, Scrum is a project management method generally used by technical teams; it is also called “planning poker”, “stand-ups”, “agile sprint” and are also used by IT teams to qualify this method. Thus, Agile and Scrum methods are used by software development teams in order to deal with complex problems, dividing them into individual tasks. Practically, each task is assigned to the most competent person
Deming cycle, agile methods, and IT projects
Managers and IT teams work together to achieve complex IT projects. IT software development teams have two methodologies: waterfall methodology and agile methodology. In the waterfall methodology the business team asks the IT team to develop specific software. The IT team develops the required software in a week, a month or even a year. At this stage there is no feedback from the business team. But once they see the software and they do not find what they are looking for, they ask the IT team to do changes. The IT team will spend another period to make changes in order to answer the business team needs. This method causes a lot of wasted efforts and is very rigid.
In fact, the IT team came up with another method called agile methodology, which is a very interactive method. This method is based on PDCA. The agile approach uses three sprints, which is two to three weeks depending on the size of the organisation where the IT team delivers the project and based on the feedback of the business team they make changes. However, this method is not an effort based approach. The goal of the business team is to get high quality software in less time. So the IT team provides an estimate of their expenses based on that.
The members of an agile team normally include
- Product owner: responsible of all the business,
- Business analyst: who understands all the processes and communicates with the IT
- Scrum master: who is responsible for removing all the constraints and blockers and making sure that things go well.
- Development team: they develop software and test it.
How to generate twice the work in half time
Projects are always subject to delay and irrespective of allocated budgets, Jeff Sutherland (2014). He presents a powerful project system called scrum. Scrums target the major problem in projects that are always subject to delay and irrespective of allocated budgets. The project managers try to estimate time and budget without the implication of people who will execute the project. This plan takes a lot of time for preparation, and management would think that it is a perfect plan and all you need to do for the project to be successful is to stick to the plan. There is a fundamental problem with this method of estimating a project and it stems from what psychologists call cognitive biases. A cognitive bias is a tendency to think irrationally, to use bad judgements.
First reason is planning fallacy. It is the tendency to underestimate the time to complete a project. We underestimate all the influential factors. We tend to be overly optimistic. Jeff Sutherland (2014) finds that estimates of work can range from 400% beyond the time actually taken to 25% of the time taken. The second cognitive biases that we fall prey to are the sunk cost and quo bias: when we spend a lot of time or invest a lot of money creating something, we become attached to it, we resist any change or all new information that might contradict our work, this leads to delayed response to new information and eventually project over-runs. Scrum method solves these issues.
In fact, the scrum method is characterized by doing small chunks, to plan throughout the project and actively seek to improve upon the plan. Major companies are adopting the scrum method, Google, Amazon, salesforce, and the FBI all use scrum method to complete projects. Jeff Also, Sutherland (2014) states “scrum has its origin in the world of software development. Now it’s sweeping through a myriad of other places, where work gets done, everything from building a rocket ship to managing payroll.” In scrum projects you only see people that are between three or nine people, a team beyond nine people can’t communicate effectively. The people that do the work estimate the work. The team completes the work, in short work sprints. At the end of the sprint, they have a final product to validate and get feedback.
The seven steps of a scrum sprint
- 1) Populate a backlog you need to do on a project, don’t be very detailed, just list all the items you need to complete the project, put them in a story format, each task should read like a narrative, who needs it, what specifically do they need and why do they need it, and what they are going to use it. This makes the task easier to read, anyone can start the task, without a lot of explanation, during this step you also prioritize the backlog and you do it in terms of a customer value, and the immediate impact each task will have, upon completion. It’s going to generate revenue right away, then that item should be at the top, this first step is done by the product owner who is visionary for the project outcome.
- 2) Second step is to estimate each of these steps relatively by using a Fibonacci sequence, because it’s easier to use. You have not to estimate in absolute terms like hours, it’s been proved that humans are terrible at that. You can use for example (S, M, L, XL) or more commonly a Fibonacci sequence. Fibonacci sequence is very common in nature, so humans are very used to it for thousands of years. Apply the highest number of the sequence to the hardest item and attribute the other numbers of the sequence to the other items.
- 3) Plan your work sprints: work sprints are typically one to two weeks long and less than one month. The goal is to get to a demo date at the end of the sprint. Hence, you have to determine how many of these points that you have assigned to a task you can complete before the end of the sprint. Let’s say for this sprint we can do a 108 points, after the sprint you realized that you have completed 96 points.
- 4) Make you work visible: you do this by creating a scrum storyboard. A scrum storyboard includes what you do, what you’re going to do, what is done. Each day you update a burndown chart. A burndown chart has initial sprint point value. You deduct from this initial point each day in order to reach zero point by the end of the sprint.
- 5) Do daily 15 minutes stand-up meetings: during this meeting you ask what we did yesterday, what we will do today, what obstacles are slowing us down, how can we make improvements. This discussion is led by a scrum leader also called a facilitator.
- 6) At the end of the scrum you present your product or your minimum viable product to your clients. After you get feedback from customers, they will tell you whether to improve the feature or they approve it.
- 7) The final step is to gather your team and go through what went well and what didn’t go well, and what improvements can we make to the next sprint.
In scrum projects you improve exponentially because at the end of the sprint you need to get feedback. Second, in each sprint you can get 80% of the value. In scrum method, you have fewer hours spent on rework and this is due to the quality of decisions made.
Integration of Total quality management in agile system development life cycle
An agile system development life cycle is based on the famous Plan Do Check Act method (PDCA). Instead of six phases, the model has 4 phases only, which are as follows, Dolveac et al. (2017):
- The Initiation phase: consists of developing the business model, doing the market research, planning sprints and releases, finding team members and preparing a minimum of documentation.
- The Production Phase: focus on development and task completion through sprints; testing and adjustments together with different stakeholders.
- The Delivery Phase: the final version of the product is delivered to the market, feedbacks are collected and decisions regarding the future of the product are made.
- The future of the product: it could be refactoring, maintenance, or closure. In this phase the future of the product is decided. For Agile development refactoring is the most common phase because it links to continuous improvement. According to the feedback collected from customers, the team decides which improvements will be done to the product. Once this stage is finished the development begins again from the first stage, the initiation phase.
Integrating Total Quality Management in agile development projects Dolveac et al. (2017).