There are always going to be problems in agile projects. Some will be major and some will be incredibly minor. Being able to detect, forecast, and address the problems especially any small problems before they become big is key to successful agile project management and practice. We are going to concentrate on the needs and methods around the detection of problems, errors, issues, and other things deemed outside our acceptable realm of control.
Letting problems in our agile project go unnoticed or unaddressed does little good. Small problems can become large and unruly in no time. The success or failure of an agile project will often hinge on the abilities and behaviors of the agile team. Detecting problems earlier rather than later is better for everyone. This shouldn’t be a surprise since the overriding philosophy of agile project management is to fail early, adopt early, and make changes early. The same principles apply here. The costs associated with addressing and resolving problems later become exponentially larger.
Problem Detection Comes Down to the Team
The reliance of any agile project problem detection comes down to one important thing: the team. The agile project team is the most critical part of agile projects. The agile team the product owner, the project manager, the ScrumMaster, and any other role or person involved in the project are what detects and manages the project’s expectations and errors. These are the people involved with the design, development, performance, and delivery of the product. Beyond any tool, the team is the primary controller of any errors and problems reaching the hands of any customer or user.
As such, the agile project team must identify any threats and issues. There will be numerous potential issues also known as the threats that every project can expect. Obviously, there is no specific number of threats you can expect; that depends heavily on the product, the project, the team, the complexity, and many other factors. Nonetheless, there will be errors, bugs, issues, problems whatever you want to call them that will happen. The issues must be discovered, approached, and resolved. The people most knowledgeable about the product and plans, and those able to know when things are not going as planned or meeting expectations, are the people on the agile project team. In order to have a successful agile project, the agile team must be dedicated and willing to take the effort to find any issues and address them.
The success of the agile team detecting and addressing problems also depends on properly educating and engaging the team at various points during the project. Using the tools and the knowledge to best recognize and know how to go about addressing the problems is better performed by those who are intimately involved. You don’t want your customers to bear the brunt of the testing and quality control. The team should be handling most, if not all, of the problem detection and quality assurance. This doesn’t mean that some defects and bugs won’t make their way to the end-users, at least not in the field of software development. But the limitation of the number of defects that make it to the customers is a metric that agile project teams must monitor.
Using the whole team means there are more people looking for problems; more people seeking improvements and resolutions. There isn’t one problem sleuth assigned to the task of looking for issues. Likewise, there is no quality assurance team or a person whose only role is to test and do QA. The agile teams are kept purposely small and are ideally made up of generalists that can be interchangeable based on the immediate needs of the product and the project. We have a team mentality, a “we are all in this together” mindset. That definitely carries over to problem detection and resolution. By incorporating the entire team in the efforts of problem detection and resolution, the pace to resolution is faster. Problems are recognized at the appropriate time, which should typically be closer to the initiation of problems being problems, as such can be resolved in more appropriate timings.
Additionally, the team must work to continuously improve the methods and processes used to detect problems and resolve them. Problem detection is not a one-time activity, nor is it an “end of the iteration” activity. Problems can arise at any time, so there is no need to delay. Constant examination of potential issues improves the detection and the ability to resolve the issue.
Part of the structure and the effectiveness of problem detection and control is to ensure that issues are resolved by appropriate team members or reset expectations in light of issues that cannot be resolved. Knowing each other’s strengths helps the team balance the resolution of discovered problems or threats. If I don’t know how to solve an issue or am struggling with a resolution, I know that there are others on the agile development team that are more proficient than me and can resolve it faster. Knowing our weaknesses and strengths and knowing where and how to get support and support each other.
Environment for Successful Problem Detection
In order for the problems to be detected without fear of reprimand or criticism, the agile project manager and the agile team need to create an open and safe environment. The team needs to support each other in everything they do, and that definitely does not leave out problem detection and problem resolution. It is easy for agile project environments to become toxic and unsupportive. You don’t want anyone on the team to be too scared to speak up or point something out. This is most common when people don’t feel confident about their own skills, voice, or something else; or it could be a fear of others or other external factors.
To really make a team work, it must encourage conversation and dialogue. There should be a willingness to talk things out. This encourages experimentation. Experimentation is a verbal exercise. With all that playing around, discovery, and testing we do, the ideas and theories will start bouncing off one person and so forth with the ideas coming quicker and more varied and enlightened. Remember, two or more heads are better than one.
We are not just looking at problems associated with the product itself, but also the way we work, the ways we engage, and the ways we are productive. Bringing the problems and impediments that are slowing the team down to the surface is just as important as bringing to light the problems and impediments to the product itself.
Better Earlier than Later
You know that nagging issue that you know you should get to but you really don’t want to? Do you know the one that just isn’t a big deal right now? Well, watch out! That minor problem may turn into a major problem if you aren’t careful.
In agile projects, there are a lot of unknowns. There are efforts that the team works on or objectives the team strives for without fully knowing or expecting everything involved.
But problems are problems and detecting and resolving them is important. What is even more important is to handle them before they fall into the hands of the customers. Waiting for the customer to detect and report a problem is not a sound business practice nor is it a good agile project management practice. Problems are better discovered and resolved in the house.
Likewise, the earlier the problems or issues are recognized and resolved, the easier it is to deal with them. Imagine a small fire burning. A small flame is easy to extinguish. However, if you let the fire spread, the task of putting out the fire becomes exponentially more difficult. Soon, without proper attention, a seemingly mundane and harmless problem becomes unwieldy and uncontrollable. The costs and efforts associated with correcting or dealing with a problem whether it be a fire or exchange of information in a software system only go up because it is more entrenched with the rest of the system and the other work being done. Plus, the time and resources spent on undoing what has incorrectly been done must be completely revamped. Sometimes, the issue will grow purely because there is no recognition that there is a problem, to begin with.
In conclusion, it is better to raise concerns and consider threats or other aspects that may not allow the project to succeed based on its prospective goals and timelines, then investigate and deal with those problems or potential problems prior to them becoming too large and costly to manage and contain.