The DevOps route fosters greater collaboration between those who develop software and those who deploy it. But how does project management fit into this dynamic? DevOps brings the creation of value at various stages into focus, which makes it more appealing to project management. Let’s take a closer look at the role of project management, the challenges they face, and how the shift to DevOps is a change for the better.
The Relevance of Project Management
Put simply, project management involves leading a team (or teams) and overseeing the work they do to achieve a set of specific goals in a given time. Project managers often have to be aware of every team member’s needs and coordinate with the right people to make them available.
They also have to ensure that the team delivers the entire scope of product components within their specified budget. Through project management, a client’s instructions can also be reworked for a more feasible path to the client’s objectives.
Challenges in Managing Software Development Projects
Differing Policies: Project managers have to liaise with different groups of people including developers, quality assurance personnel, business and marketing people, etc. So it goes without saying that these people will most likely have to follow their own rules and policies.
For example, the security procedures involved in making a product feature available for testing may be stringent. On the other hand, writers or graphics designers creating documents and other materials for marketing and external communications may be a little lax.
Handling intellectual property, trade secrets, and other sensitive information may require elaborate and tedious procedures. In all, project managers may struggle to keep up with all of the unique rules and procedures for different teams.
Disintegrated Tools: From the coders to the people in finance, every team has specific tools they use to manage their work. As a project progresses, managers and other team members might need to have different kinds of information side-by-side for better insight and decision-making.
Let’s say there’s a product feature that needs enhancement, you may have to compare the time and money spent on it so far. You might also need to see any relevant customer feedback. Perhaps there’s feedback regarding the direction of desired changes. Then, all this information will have to be packaged to give an estimated ROI so you can get other stakeholders to buy in.
With an assortment of tools such as spreadsheet software, time management tools, messaging apps, etc., information may be scattered. This can lead to project managers wasting time trying to get all of this information together. Then, there’s always the chance that managers could find themselves using out-of-date information, which can skew any projections and future decisions.
Why Adopting DevOps Makes a Difference
Project management challenges commonly culminate in one major issue—a disjointed value stream. During a software product lifecycle, there are always different team members creating value. One may be debugging a piece of code, another one might be building a new feature from scratch, while someone else is designing visual elements for a user interface.
Each of these people sees their work as important and want to wrap up the task quickly. However, it’s vital to deliver as much value as possible with each round of changes that make it to the customer. Without the development and operation teams synchronized, there won’t be a cohesive and flowing value stream. DevOps can only really work when competencies are within the team and not in silos across the organizations.
But even when you make a lot of positive changes, from a customer standpoint, they might not see any overall improvements. It feels like the product always has something good, and then there’s another thing that’s not quite right. There’s no real momentum or feeling of progress.
But with DevOps, the development and operations teams are connected on various fronts. This encourages a better understanding of which tools contribute to the same piece of value. For example, you may be trying to enable an ecommerce system to automatically update the remaining inventory with each order made. It’s important to know every tool needed to make that possible, all the way to displaying an “out-of-stock” or “only 2 units left” message on the product page.
DevOps facilitates smooth integration of all the tools relevant to each party involved for better communication. From the coder laying down the logic to the tester and the UX designer creating the stock-count messages and pop-ups/prompts to sign up for an email update on availability, the entire function will be realized in an orderly and efficient manner.
From an even broader perspective, all the information generated along the way can be centralized. This way, business analysts can adjust requirements according to changes in deadlines. The developers can then act on these requirements while informing QA about any changes that will affect testing. Operations will also have a better idea of what’s ready, what’s not, and how soon it will be ready.
Through DevOps, an organization can achieve a smoother flow of information to each tool as desired. Consequently, there’s no need to talk to different personnel multiple times to find out whether they have what they need. You’ll also eliminate the need to constantly query a system through one interface and enter the results into another. That’s also less time wasted on access and resubmission requests when you get them wrong.
How Project Managers can Adapt to DevOps
While DevOps eliminates the project manager, they can redefine their relevance within the organization. For instance, the team can deliver together with this person as a Scrum Master or a Product Owner or Line Manager.
Depending on what role they transition into, here are some day-to-day efforts they can make within the organization.
Humanize Team Goals
In a DevOps environment with more integrated tools, team members can find themselves drowning in things like analytics. Work becomes very technical, with all the figures, extrapolations, data correlations, etc. There’s a need to keep tabs on the nature of the immediate goals that team members are trying to achieve.
For example, developers may be talking about technical issues like balancing latency with CPU load. Or maybe they’re trying to work around the memory demands of a specific software process. An ex-project manager serving as a product owner can help other team members visualize a simple intersection of each side’s desires.
The product owner can set product goals, putting a strong emphasis on how the product performs from a customer viewpoint, rather than deadlines and project metrics like Earned Value Management.
This helps team members work toward a goal without over-fixating on underlying metrics like frame rate and buffer size. Instead, they can execute tweaks while putting themselves in the shoes of a customer and feel their experience.
For the average software development project, there’s a conventional planning phase that precedes it. However, agile methods often come with smaller iterations of planning where a line manager and other team members can come together to review team goals relative to available resources and other constraints to revise plans regarding the near future.
They can zero in on sub-tasks and minor goals that could pose unique challenges such as extending a product feature based on variations in the way customers use it, or getting rid of features that make the overall product clunky. Through enhanced planning, line managers can also dissect and assign roles in a better way, especially where they are related or overlap.
With customers demanding faster delivery of quality software products, teams need to adopt an Agile mindset. DevOps creates a wide range of opportunities for organizations to be nimbler and more responsive through various practices and tools.
Occasionally, a Scrum Master can work with team members to pinpoint processes that can be automated. The DevOps route will even enable teams to integrate repository tools and other technologies for effective automation of software delivery where necessary.
But keep in mind that a refined software portfolio doesn’t magically appear and do all this from scratch. Scrum masters can engage team members’ imaginative side. By doing so, they can discover team members’ views on delivery optimization. This includes new digital transformation tools on the market and practices trending among excelling companies.
By keeping the experimenting and learning spirit alive, teams can get on a path to increased agility. Team members will always be thinking about how to deliver better.
On the surface, DevOps might seem like a radical approach that interferes with traditional approaches that involve project managers. However, DevOps presents new opportunities for the would-be managers to apply themselves in different ways.
More importantly, DevOps creates more room to involve everyone who is relevant to a project. Therefore, project managers can reimagine their roles within DevOps-driven organizations and work as Scrum masters, line managers, and product owners. In doing so, they can make an impact equivalent to what they’d have in typical project management.
Co-founder of Buildingbettersoftware and Agile Leadership Coach
Søren Pedersen is a strategic leadership consultant and international speaker. With more than fifteen years of software development experience at LEGO, Bang & Olufsen, and Systematic, Pedersen knows how to help clients meet their digital transformation goals by obtaining organizational efficiency, alignment, and quality assurance across organizational hierarchies and value chains. Using Agile methodologies, he specializes in value stream conversion, leadership coaching, and transformation project analysis and execution. He’s spoken at DevOps London, is a contributor for The DevOps Institute, and is a Certified Scrum Master and Product Owner.
You can find more of his writing at https://agilerasmus.com/wordpress/
Value Stream Optimization?
We specialize in analysing and optimizing value streams.