Effective agile project management must include a focus on the people involved in a project, and the organization’s culture
A common theme in society is the rapid rate of change in nearly every aspect of our lives. Many new words and ideas claim to “Change the world as we know it” including Artificial Intelligence, Digital Services, The Internet of Things. With the amount of change that is occurring, it’s critical to remember that people are at the core of each concept. Without people, there is no need to make these changes. Without people coming together and working together, many of these changes can’t occur.
Brief history of Project Management, Software Development and Agile
Project Management has its origins in large civil construction efforts. As buildings became larger and more complicated, the need grew to coordinate teams, materials, and activities. Planning became a necessity as the cost of making changes become more expensive. For example, moving a building or changing the layout was costly, time consuming and in many cases cost prohibitive. Project Management helped to coordinate all these activities to keep costs down, reduce the number of changes, and ensure customers will accept the final product when completed. Planning is critical for buildings that take years, decades, and in some cases centuries to complete.
As computers and software emerged, programming was a complicated and time-consuming activity. Each individual bit was programmed using a physical switch. Imagine if computers did not evolve and responding to emails required physical switches on mobile devices. Software evolved as higher-level languages were created to allow developers to use higher level concepts. To manage this complexity, software development projects borrowed planning techniques from construction. In the early days of software development, these techniques were good enough and allowed software teams to keep track of people, resources and activities.
As software became increasingly sophisticated, programming complex ideas became easier. As programming complex ideas became easier, the rate of change began to increase. New ideas and major functionality were added much faster than in the past. As the rate of change continued to increase, it became more economical to simply make the changes to an existing product, and the need for extended planning was reduced. A new planning technique was needed to allow for this rapid change, and the agile approach was adopted.
Agile incorporates change directly into the process instead of managing the change process separately. Teams focus on short blocks of time, called sprints, that last typically 2-4 weeks. By prioritizing the most important items first, and only focusing on short time horizons, teams are able to quickly develop code and rapidly release solutions to their customers.
Since Agile was formed in the software development community, Agile became synonymous with software development. Unfortunately, the association hide a more fundamental reason why Agile helps software teams produce faster. Agile is a technique that helps teams communicate easier, quicker and with better clarity. Other techniques, such as waterfall, encourage people to focus on process and think with a checklist mentality. Agile requires people to fully engage and actively participate in the entire process. People enjoy this new way of working when it is done in a creative and fun atmosphere, they are more engaged, and can produce more results.
However, there are several areas of misunderstanding that people struggle with when attempting to use Agile, starting with the view of Agile as a software technique.
As mentioned above, Agile’ s roots are in Software Development. In reality, Agile focuses on team dynamics and helps form high performing teams, regardless of the product (software, manufacturing, logistics, etc.). Agile connects developers with business analysts, sponsors, testers, and customers to develop a complete view of the objectives from the start. As teams began to use Agile, communications were smoother and dramatically faster. As communication increased, new bottlenecks and challenges typically arose. First, code needed to move between the testing environments faster and more reliably. This need led to the development of a new discipline, Development Operations (DevOps). DevOps creates and implements automatic tools to simplify environment operations. Using automation, code was able to move simply and reliably between environments. As developers further accelerated their work, automated testing became a new need. Tools were developed to accelerate testing, further allowing the teams to increase their production.
These new disciplines are often seen, erroneously, as Agile itself. Instead, they are the reactions to and byproducts of teams using Agile. As teams worked faster, DevOps and automated testing supported this new way of working.
Agile is often confused with Project Management. Agile seems to be a natural evolution of Waterfall techniques. Project Managers become Scrum Masters; Business Analysts become Product Owners. But there is a fundamental difference between the techniques. Project Managers focus on process and coordinating activities. In Agile, there is no one person responsible for coordinating all the activities. Instead, the team works individually and has ways to signal to each other about needs and priority. They can also signal when help is needed. The team works in a matrixed way and self-optimizes the best way they can work with each other.
Many Project Managers try to run Agile teams using waterfall techniques and end up hindering the team from further optimizing themselves. Agile is not a Project Management replacement.
Processes and Checklist Mentality
With techniques like waterfall project management, process is emphasized. A premium is placed on knowing the rules with an emphasis on following the rules. Team members become too focused on being right or wrong and worry about punishment for non-compliance. They can lose the focus on delivering value to their customers. Team members can follow the correct process, but not be effective. People begin following a checklist mentality and wanting someone to tell them what to do.
As conditions change, processes can become less efficient, or in some cases, hinder progress. Covid-19 provided a world-wide example. Many companies moved to work-from-home within a matter of days. Imagine if organizations had waited until senior leadership met, formed a new process, and developed policies on what to do and how to work from home. Instead, companies adopted examples of Agile thinking on a global scale, thinking independently and discovering creative solutions to situations.
The working from home situation shows how an agile approach can be effective and offer so many ways to solve a problem or complete an activity. People have different styles and working methods, and these can be accommodated with an agile approach to any situation or project.
By allowing everyone to optimize their own way of working at home, many companies saw increased productivities. Agile is not about following the process and checklist, it is about discovering how to adapt and respond to challenges and the need for effective solutions.
Many companies hire people and expect them to adopt the existing ways of working and follow the rules. Ironically, they ask their people to be more creative and innovative, yet they still may have structures and cultures that hinder creativity and experimentation.
Agile, at its core, is about people and teams coming together. By focusing on team dynamics, teams can overcome problems in software development, project management and many other processes. They move away from a checklist mentality and become fully engaged with their work, increasing their own satisfaction. By making the team highly productive and motivated, they typically outperform other lesser motivated teams.
Many, varied benefits occur when people work together. While implementing more digital solutions and automation, let’s not forget the people.