If Agile software development questioned the existence of project managers, technology advancements are fast digging the grave.
The landscape of software project management* has changed rapidly over the last few years. This is mainly due to many organizations adapting Agile software development frameworks and technology is advancing at an exponential pace.
These factors demand that software project managers change the way they have been thought & practiced for many decades.
It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change — Charles Darwin**
Agile teams do not require a project manager, theoretically!
- An Agile team is cross functional and self-organizing. It has the required skills to develop the product and also members get organized around the tasks. Thus it does not require a person to “manage” or to dictate what to do each day.
- There is no big upfront planning in an Agile project. That is because Agile teams value “responding to change over following a plan”. Further there is no need to painstakingly monitor how much % is completed each day. And it is not possible to compute scheduled or budget variances.
The basic project management activities such as planning, executing, monitoring & controlling are not required for an Agile team in its traditional form.
So what does an Agile team require?
An Agile team needs a problem solver, a leader but not a manager. Agile teams are good at solving technical problems. But they need someone to lead/guide them, when they face complex non-technical problems.
For example, they need “a person” to work with the Product Owner (PO) when the requirements are not clear. In most cases, the PO is busy and “that person” needs to find a solution which works both for the PO and the team.
In another example, a team faces frequent production bugs & user complaints. The team needs a person to help mitigate the situation and solve the problem.
The closest person to fulfill these demands is a project manager who is skillful in solving complex problems.
The must have skills for “today’s project managers” are “Understanding, & Solving complex problems”
The exponential advancements of technology
Technology today is advancing rapidly but software related technologies are advancing at an exponential pace.
It is said that if the average car had advanced as quickly as the computer over the last 35 years, cars would get 3,666,652 miles per gallon and cost less than $5,000 in 2017!
These advancements are changing how a project manager works. A software project manager must face two types of advancing technologies. One is software development technologies & second is general technology advancements such as AI, BOTs, IoT, etc.
1. Impact from software development technologies
It’s difficult for project managers to keep up with advancing software development technologies when software engineers themselves struggle to cope with it.
Many advanced tools enter the market daily creating a complex web of tools. For example you can use NuGet to share code, Docker to automate the delivery. In fact a tool can be found for every sphere of software development.
Gone are the days where the source code is compiled & manually zipped to a CD for transport. Now it is an era of continuous deployment where production warm ups happen in the production staging slot.
Not only tools, many software development concepts itself are hard to understand. Object Orientation was difficult enough but now things are extremely complex. I took this example from “WebAssembly”
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications
Although written in English, the description is incomprehensible.
Complex technologies, tools & concepts create complications for software teams. A “Project manager” should have an in-depth knowledge to comprehend technical concepts to lead & guide the team to resolve these problems.
A few examples:
- The build breaks and the team says that it is due to a missing NPM package. If you’re a non-technical project manager, you have no clue about what a NPM package is or why it is needed in the first place.
- In a bug triage, the team says the bug is caused by a wrong “dependency injection” — A non-technical project manager may wonder about the injection they are referring to.
A project manager should be knowledgeable in these technologies unlike in the past, where it was only required to monitor the project plan once it is created.
2. Impact from general technologies
General technologies refer to technologies & products available for general use such as IoT, GPS, AI, BOT, AR, VR, Nano technology, etc.
In the past, new technology was easily understood and converted to a business product. Today, business people struggle to understand these technological advancements to make products out of them.
For example, when the World Wide Web launched, it did not require much brain power to understand the potential business uses of the Web. It was the same when James Watt invented the steam engine and Johannes Gutenberg invented the printing press & somebody invented the wheel.
But today’s technological advancements are so complex that it is virtually impossible for a non Ph.D. holder to understand the business use of it.
For example, AI is now readily available. We hear amazing stories on how AI is used to enhance products, lives, etc.
If you are the PO of a system to track train schedules against the actual arrival times; how do you make use of AI to create a better product? Although it looks simple, it’s not easy unless you have a good understanding of AI concepts & technology. Same goes for “Digital Twins”, BOT, AR, VR, and the list goes on & on.
The responsibility of mapping technology to possible product/business cases has been delegated to project managers. This requires him/her to have a good understanding of general technologies.
Futher, Technologies today are creating new economies for them. For example, the concept of API economy is created based on the technical concept of Application Programming Interface.
The message is simple, if you are a software project manager today, you need to stay on top of the technology game.
Agile & technological advancements have turned the software project management profession upside down.
- Technological advancements have converted problems from business problems to technical problems (making it difficult for a non-technical project manager to solve).
- The adaptation of Agile software development methodologies has transformed project managers from managing tasks to become problem solvers.
If you are project manager, embrace the change now! Sharpen your problem solving skills & master the technology.
How the future would look like
It’s difficult to predict the outlook for project management. Project managers may have to manage well knowledgeable teams spread across the globe.
- Automation will increase and some teams may code for BOTs The software products will be much more complex than ever
- The project manager role will diminish giving rise to role of the project leader
- Project managers could be replaced by a “project management bot”
* Mainly these challenges are for project managers in the IT sector. Project managers from other sectors is less pressured by these factors.
** There are debates about whether this quote was actually made by Charles Darwin.
Refer the following link for a good discussion regarding why Agile project management exists even though there are no project managers in Agile teams.