There is a longstanding joke in the Agile community that the real purpose of a Software Development Manager is to stay out of everyone’s way.
With self-governing teams interacting with competent Product Owners, an Agile Team can competently produce value in short increments, consistently moving the business further down the road to where it wants to be next. This team collaboration requires focus, discipline, communication, skill, competency, teamwork, and emotional intelligence by everyone involved.
Although humorous, this legitimately does raise the question—While the teams are busy generating value, what is the REAL purpose of the Development Manager?
The software development value stream has often been described as an assembly line of decisions, building a massive mathematical product. The better that humans can harmonize and organize, the better the product’s final utility value and fit will be for the organization’s customers.
Good Software Development is NOT Intuitive
All of this complexity must be managed correctly along the software value steam, and surprisingly it’s not intuitive. What you think you should do next is sometimes NOT what you should do next. In other words, on-the-job training will produce pretty good managers, but not excellent ones.
The Standish Group’s CHAOS Surveys tell us what a typical organization look like. Only 31% of projects are delivered successfully. 50% are late. And 19% are complete loses. (Standish 2020). With an combined industry budget of around 250 $Billion, this is a lot of unnecessary waste, dealt out by a lot of mediocre development leaders. How do we fix this?
Ten Critical Software Development Bottlenecks:
There are ten critical bottlenecks (read: wastes of money) in the software development process and they are not intuitive. I propose the real job of a Software Development Manager is to attend to these things:
- Employee Turnover – While this happens in our industry, every time a programmer leaves it takes about 6 months of work for the next one to come up to speed firing on all cylinders. Even highly skilled developers need time to acclimate to the products, the code base, the tools used in that environment, the customers, the customers attitudes, and how they use the product. Figuring a typical developer salary corporate burden today is around $150,000/annually, every time a programmer leaves a company, it costs them about $75,000 and six months of one person’s schedule. Great Development Managers minimize turnover, saving the company lots of money and unnecessarily lost time.
A good Development Manager keeps the teams productive and content. Being near them, praising them for work well-done, and keeping the environment healthy and productive are important factors for healthy teams. The best environments report high-trust, good communication, happy employees, and a good sense of satisfaction. Some people call this Psychology Safety.
It’s important to develop a culture of accomplishment and teamwork. Team branding with a team identity, vision, mission, goals, and values which are supported by a feeling of appreciation and accomplishment is the magic formula here.
- The Hidden Factory: I like to say “If it takes your team eight weeks to get six weeks’ worth of production completed, your team has 2 weeks of hidden factory.” This term describes everything that has to happen over again because it wasn’t done correctly or completely the first time around. Meeting with customers again for the same reasons, re-structuring screens or reports, changing workflows, re-pushing builds, hot-fixes, testing churn, and many smaller and larger things including multi-million-dollar entire solution rejections which we see occasionally in large companies. These become multi-million-dollar mistakes.
It’s not easy to address a Hidden Factory problem. Most groups naively think they just need more time to get some things done and if management would relax a bit they could catch up and stop making these consistent mistakes and omissions. The truth is, they will never address the problem until they start doing work differently. What they need is a quality system such as CMMI, ISO, or The Stable Framework to solve their reactivity issues. This is an unintuitive reality of software development.
Most groups I talk to report about a 33% effort loss to the Hidden Factory over time. Just do some simple math on the total payroll burden of your Software Department x 33% and that’s only PART of what you are losing unnecessarily. Add to that the opportunity cost for revenue delays on your products until 33% past the optimum endpoint and the wasted costs magnify.
It is the Software Development Managers job to bring in a quality system to solve this problem. Quality pioneer W. Edwards Deming was extremely unpopular for putting the blame for low-quality work on management—not employees. Although he was uncomfortable and non-intuitive, he was right.
- Not Using AI to Vibe Code: There is a tremendous advantage available now to software development teams who use AI to generate units of code and debug challenging problems. Many groups are reporting about a 30% increase in productivity using these tools. CoPilot, Clive, Grok.com, Gemeni, Claude.ai, and even local LLM’s using Ollama or LM-Studio will provide immediate lift. To keep up with who’s currently leading the AI wars check out ARCPrize.org.
- Using Awkward Tools: The first time I met Ken Schwaber, co-inventor of Scrum, he told me the best Scrum tools were a white board, sticky-notes, and a spreadsheet. I met him again nine years later on the other side of the planet and he told me the same thing.
Of course, today, many of us work remotely making those tools awkward. There are many digital tools to chose from. I can tell you from personal conversational experience with many professionals the most popular tools used tool today are Jira (80%), and SmartSheet (20%), with many companies using both. Probably 10% of the remaining companies use Asana, Shrike, Monday.com, or ADO (Azure DevOps).
Some companies are even reverting back to a virtual whiteboard and virtual sticky-notes using a group collaboration space such as Miro.com, LucidSpark, or just the new whiteboards inside of Zoom. This works, and is a fun solution.
Whatever tools your groups choose, make sure it helps keep you organized for speed, and doesn’t slow down your work. Incorrect tools, or misconfigured tools will slow the team down.
- Bad Approaches to Coding: The first part of Robert C. Martin’s book Clean Architecture explains how important correct coding architectural techniques are to minimizing the cost of maintaining a developed system once deployed. Not all coders are the same, and if you hire sloppy coders you will soon have a production product that requires an exponential number of additional programmers just to maintain it. Data with compelling examples are in his book. Basically, spaghetti code kills productivity.
This costs a company millions of dollars of unnecessary payroll over time. As an owner, or investor, and because this is non-intuitive, you won’t know what you don’t know until it’s too late—and you will be paying a large team, instead of paying yourself.
- Continuing to invest in Monoliths: Software development has evolved. In the past we all invested in Microsoft, Oracle, and other monoliths because they were the mainstream providers of proven technology. “Nobody ever got fired for buying IBM.” or so the expression went.
While this once was an expensive but safe position, today Microsoft IIS webservers only make up about 4% of the internet. Open-source solutions like PostgreSQL, Python, JavaScript, are proven, and all you need to construct a complete enterprise, or SAAS solution. Forgive me for stating the obvious, but the days of these big players are waning. Don’t spend unnecessarily big money on new investments here. There is no need anymore.
- Hiring Wrong: An accountant and a seasoned software development manager would have two very different approaches to hiring for tech talent. While accountants want reasonable value for the best price, Steve Jobs said he witnessed a 25:1 difference in productivity between good and bad developers.
You want your development staff to match the workload. Staffing for new development should look like an upside-down birthday cake. You want it top heavy with senior coders, and just a few junior coders on the bottom to do the busy-work. This configuration will yield much more productivity over time of much and more stable products.
It takes developers years to understand and permanently distill the larger compliment of common logical structures available within most programming languages. Senior developers look at a challenge and select and organize which “tools” to use to construct the solution. This is much like making a product from Legos. Once you have a few years working with them, you’ll command a solid knowledge of all the common shapes. Developers with this level of competency can be given an objective and can quietly create a solution correctly, the first time. In contrast, junior developers must search and forage for solutions to what are all-new challenges for them. This is the process that takes the x25 times longer Steve Jobs was talking about.
- Not pulling weeds: Nobody likes a bad apple. Sometimes, despite all initial attempts for reaching across the aisle, you end up with a team member that causes problems for others on the team. This can quickly become a problem that never goes away without intervention. If someone presents with unwanted behavior over time, a good development manager should take the team member aside and find if the problem is temporary. If so, work with the team member privately to help them regain a successful gait. If not, they are likely in the wrong role. Work with them to get them where they would rather by. A good manager wants their team members to be successful not just on the job, but also in life. Good managers understand their team members are also their customers.
- Outsourcing Incorrectly: Outsourcing is rarely effective. It’s never really been a good idea. Sure, you can find senior level management who defend outsourcing, but talk to any team and they will tell you it’s awkward, comparatively slow, and frustrating. Most companies outsource because other companies outsource. The argument used to be it was cheaper labor, but those days are past. Now the argument is the resources are instantly available. This is a pretty weak argument. In my experience most senior executives support outsourcing so they can confirm to their senior board of directors, who are even more removed from the real software development value stream, that they are in-fact outsourcing, too.
Companies who outsource successfully do it a certain way. They budget for one member of their team to go stay with the outsourcing group for the duration of the project, or at least, go back and forth frequently. Sometimes the model is reversed and the outsourcing agency has a team member stateside. That team member spends 9 hours working with the American team, and then the other 9 hours working with the offshore team—each day. It is brutal, and frankly unfairr
Studies have shown outsourcing adds 20-40% on to a projects effort in cost and schedule—and that’s if you have a useful product. Many a local team overcompensates for the outsourced contribution. However popular, it is difficult to outsource efficiently.
- Not Investing in Training: Niccolo Machiavelli stated “…training--not budgets--wins wars!” That’s an important principle to digest. More recently, Deming taught his customers, when evaluating vendors, to ask them how much money they had spent on training their people during the past 12 months. This will give you some insight into the level of performance you’ll get out of them.
Deming would draw the effect of training as a tight squiggly line representing effort, which abruptly straightens into a longer mildly jagged line at the point of training. In this manner he demonstrated how training narrows the amplitude of ineffective effort, transforming the trainees’ efforts into work that move the company down the road towards their objectives faster.
Training helps both new employees and seasoned employees get better at their jobs. While new employees benefit from structured guidance on how to perform their tasks, seasoned employees benefit from having real-world experience they can conceptualize into immediate practical application.

Training also gives trainees a correct vocabulary use throughout the industry, and gives them confidence their efforts and skills are industry-standard.
In summary, statistics show software development is not performed efficently, and these ten factors are keys to leading your teams to perform much better than the Standish CHAOS Report data--or industry average of on 31% of project's being delivered on-time.
The ADKAR model is a popular change management framework that helps individuals and organizations understand the stages of change, and how to manage change effectively. The ADKAR model was developed by Jeff Hiatt, the founder of Prosci, a leading change management firm.
ADKAR is an acronym that stands for:
-
Awareness: This stage involves creating awareness about the need for change among the people who will be affected by it. This includes understanding the reasons for the change, the benefits of the change, and the potential impact of the change.
-
Desire: In this stage, individuals need to have a desire to support the change. This involves understanding why the change is necessary and how it will benefit them and the organization.
-
Knowledge: Once individuals have a desire to support the change, they need to acquire the knowledge necessary to make the change successfully. This includes training, education, and communication about the change.
-
Ability: In this stage, individuals must have the skills and ability to make the change happen. This may involve providing additional resources, tools, or support to help people adapt to the change.
-
Reinforcement: Finally, in this stage, individuals need to be reinforced and rewarded for making the change. This includes recognizing and celebrating successes, and providing ongoing support and encouragement to ensure that the change becomes a part of the organizational culture.
The ADKAR model is a useful framework for managing change because it focuses on the individual level, and helps to ensure that people have the necessary knowledge, skills, and motivation to make the change happen. By following the ADKAR model, organizations can increase their chances of success and achieve their desired outcomes.
PMI (the Project Management Institute) has recently introduced new content into it's curriculum....the Process Owner and Process Manager. The distinction between these two roles seems to originate from ServiceNow's influence.
In small organizations the same person wears both hats, but in larger organizations these two roles may be split between two people. Basically the Process Owner is a senior person responsible for "working on" the process, to improve it, while the Process Manager "works in" the process to execute it with efficiency. A description of each role follows:
Job Description for Process Owner:
Process Owner's are responsible for the end-to-end oversight of a particular business process within an organization. Their main responsibilities include designing, implementing, monitoring, and continuously improving the process to ensure it meets the organization's goals and objectives. Process owners also ensure that the process is compliant with regulatory requirements and industry standards. They work closely with cross-functional teams to identify areas for improvement and implement changes that increase efficiency, reduce costs, and enhance quality. Other key responsibilities of a process owner include:
- Developing and maintaining process documentation, including standard operating procedures (SOPs), process flowcharts, and process metrics.
- Monitoring process performance using key performance indicators (KPIs) and other metrics, and identifying areas for improvement. (Note, both roles include this bullet point as it is an ongoing common point of review and discussion.)
- Leading process improvement initiatives, including process re-engineering and process automation.
- Collaborating with other process owners to ensure that processes are integrated and aligned across the organization.
- Communicating process changes to stakeholders, including senior management, process users, and customers.
- Providing training and support to process users to ensure that they understand and follow the process.
Job Description for Process Manager:
Process managers are responsible for the day-to-day management of a particular business process within an organization. They ensure that the process is executed efficiently and effectively, and that process users comply with the process requirements. Process managers work closely with process owners and cross-functional teams to identify areas for improvement and implement changes that increase efficiency, reduce costs, and enhance quality. Other key responsibilities of a process manager include:
- Ensuring that the process is executed in compliance with regulatory requirements and industry standards.
- Monitoring process performance using KPIs and other metrics, and identifying areas for improvement. (Note, both roles include this bullet point as it is an ongoing common point of review and discussion.)
- Providing training and support to process users to ensure that they understand and follow the process.
- Identifying and addressing process issues and bottlenecks that impact process performance.
- Collaborating with other process managers and process owners to ensure that processes are integrated and aligned across the organization.
- Communicating process changes to stakeholders, including senior management, process users, and customers.
- Developing and maintaining process documentation, including SOPs, process flowcharts, and process metrics.
Overall, while both roles are involved in managing and improving business processes, the process owner has a more strategic and high-level focus, while the process manager has a more operational and hands-on focus. The process owner is responsible for setting the direction of the process, while the process manager is responsible for executing the process according to the owner's direction. The process owner is more involved in initiating and leading process improvement initiatives, while the process manager is more involved in implementing and monitoring process changes on a day-to-day basis.
The Hidden Factory is everything your group does over again because it didn't go right the first time around.
This ranges from re-doing a failed multi-year project, to re-pushing a production release which had some minor issues the first time around. Sometimes these activities are called "Fire Fighting."
Most groups I talk to tell me that about 35% of their teams efforts are lost to this problem.
Someone must pay for this, and it's very expensive. Higher prices, lower wages, and lower shareholder dividends are one way to quantify the hidden factory. In addition, the opportunity cost of not being able to reach your project monetization goals 33% faster means you left money and customers on the table.
The Stable Framework™ is a performance management framework for IT designed to give IT departments the tools needed to tame this wild Hidden Factory beast and bring the fire-fighting down to nearly zero, where it should be.
Read more about it here

Mike Berry
Managing project risks and issues is an important aspect of project management. Here are some best practices to help you manage project risks and issues effectively:
-
Identify and assess risks: Identify potential risks that could impact the project and assess their likelihood and potential impact. This can help you prioritize and focus on the risks that are most important. List these risks in a document called a Risk Register, so that you can keep track of them. Updated it regularly.
-
Develop a risk management plan: Develop a plan for managing identified risks, including how they will be monitored, mitigated, and communicated to the project team and stakeholders.
-
Proactively manage risks: Proactively manage risks by taking steps to mitigate them before they become bigger problems. This could involve developing contingency plans, adjusting project schedules, or reallocating resources.
-
Monitor and control risks: Regularly monitor and control risks throughout the project by tracking their status and taking corrective action as needed. This can help you minimize the impact of risks on the project.
-
Establish a process for managing issues: Establish a process for managing issues that arise during the project, including how they will be reported, evaluated, and resolved. This can help you quickly identify and address issues before they become larger problems.
-
Document and track issues as they occur: Document all issues that arise during the project, including the impact on the project, the action taken to address the issue, and the resolution status. This can help ensure that issues are properly tracked and managed.
-
Communicate effectively: Communicate risks and issues to the project team and stakeholders in a timely and transparent manner. This can help ensure that everyone is aware of the risks and issues and can work together to address them.
By following these best practices, you can help ensure that project risks and issues are managed effectively and that the project is delivered successfully.
There are many project management tools and software available to help you plan, manage, and execute projects effectively. Here are some of the key project management tools and software:
-
Project management software: Project management software provides a centralized platform for managing project tasks, timelines, budgets, resources, and communications. Some popular project management software includes Asana, Trello, Basecamp, Jira, and Microsoft Project.
-
Gantt chart software: Gantt chart software allows you to create visual timelines that show the progress of tasks and the overall project. This can help you track dependencies, identify critical path tasks, and manage timelines effectively. Some popular Gantt chart software includes TeamGantt, GanttPRO, and Wrike.
-
Collaboration software: Collaboration software provides a platform for team members to communicate and collaborate on project tasks, documents, and files. Some popular collaboration software includes Microsoft Teams, Slack, Discord, and Google Workspace.
-
Time tracking software: Time tracking software allows you to track how much time team members spend on project tasks, which can help with resource planning, billing, and project management. Some popular time tracking software includes Harvest, Toggl, and RescueTime.
-
Risk management software: Risk management software allows you to identify, assess, and manage project risks. This can help you proactively mitigate risks and minimize their impact on the project. Some popular risk management software includes Riskalyze, RiskyProject, and any tool that will provide a Risk Matrix.
-
Agile software: Agile software provides a platform for managing agile projects and workflows, including Scrum, Kanban, and Lean methodologies. Some popular agile software includes Atlassian's Jira Software, and Targetprocess.
These are just a few examples of the project management tools and software available to help you manage projects effectively. The best tools and software for your project will depend on your specific needs, budget, and team structure.
Managing project scope and change is a critical aspect of project management. Here are some best practices to help you manage project scope and change effectively:
-
Define the project scope: Clearly define the project scope, including what is included and what is excluded. This will help you and your team understand what needs to be delivered and what is out of scope.
-
Develop a change management plan: Develop a plan for managing changes to the project scope. This plan should outline how changes will be requested, evaluated, and approved, as well as how they will be communicated to the team and other stakeholders.
-
Establish a change control board: Establish a change control board or similar group of stakeholders who will review and approve or reject change requests. This helps ensure that changes are evaluated objectively and with the project's overall goals in mind.
-
Document changes: Document all changes to the project scope, including the reason for the change, the impact on the project, and the approval status. This helps keep everyone informed and ensures that changes are properly tracked.
-
Monitor and control the project scope: Regularly review the project's progress against the project scope and make adjustments as needed. This can help ensure that the project stays on track and within the defined scope.
-
Manage stakeholder expectations: Manage stakeholder expectations throughout the project by communicating clearly and regularly about the project's goals, scope, and any changes that may occur. This can help minimize surprises and ensure that stakeholders remain engaged and supportive throughout the project.
-
Identify and manage risks: Identify and manage risks that could impact the project scope or lead to changes. This can help you proactively address potential issues before they become bigger problems.
By following these best practices, you can help ensure that project scope and changes are managed effectively and that the project is delivered successfully.
There are several project management methodologies and practices to choose from, and the best approach depends on the specific needs and goals of the project. Here are some of the most popular project management methodologies and practices:
- Agile: Agile is a flexible, iterative approach to project management that emphasizes collaboration, adaptability, and delivering value to the customer. Agile methodologies include Scrum, Kanban, and Lean.
- Waterfall: Waterfall is a linear, sequential approach to project management that involves completing each phase of the project before moving on to the next. It's a more traditional approach and is useful for projects where the requirements are well-defined and unlikely to change.
- Stable: The Stable Framework™ is an Operational Excellence model for project management and operations that can be combined with Agile, or can be performed stand-alone.
- RINCE2: PRINCE2 is a project management methodology that provides a structured approach to managing projects, including defined roles and responsibilities, a focus on the business case, and a step-by-step approach to project delivery.
- PMI's PMBOK: The Project Management Body of Knowledge (PMBOK) is a framework developed by the Project Management Institute (PMI) that provides guidelines for managing projects across a range of industries and project types.
- OPPM: The One Page Project Manager is a spreadsheet-based approach to Project Management.
- VI Sigma: Six Sigma is a data-driven methodology that focuses on improving processes and reducing defects in products and services. It's often used in manufacturing and other industries where quality control is critical.
In addition to these methodologies, there are several project management practices that can help ensure project success, including:
- Defining clear project objectives and deliverables
- Establishing effective communication channels and regular project status updates
- Assigning roles and responsibilities to team members
- Developing a comprehensive project plan and schedule
- Identifying and managing risks throughout the project
- Monitoring and controlling the project's progress against the plan
Ultimately, the best project management methodology and practices will depend on the specific needs and goals of your project. It's important to assess the unique requirements of the project and choose the approach that's best suited to meet those needs.
- Creating a project plan involves several steps, including defining the project scope, identifying the project objectives, identifying the project stakeholders, determining the project deliverables, developing a project schedule, allocating resources, and creating a project budget. Here's a general overview of how to create a project plan:
- Define the project scope: Clearly define the boundaries of the project, including what is included and what is excluded.
- Identify the project objectives: Determine what the project aims to accomplish and how it will be measured.
- Identify the project stakeholders: In addition to the sponsor who commissioned you, who else needs to be involved in the project?
- Determine the project deliverables: Create a list of all the products, services, or results that the project will deliver to meet the objectives.
- Develop a project schedule: Create a timeline that outlines the tasks, milestones, and deadlines that are required to complete the project. Use a Gantt chart or a similar tool to visualize the schedule.
- Allocate resources: Determine the resources needed to complete each task, including staff, equipment, and materials.
- Create a project budget: Estimate the cost of each resource, and use this information to create a project budget.
- Identify risks and mitigation strategies: Identify potential risks to the project and develop strategies to mitigate or manage them.
- Develop a communication plan: Identify who needs to be informed about the project, how often, and what information they need.
- Monitor and control the project: Regularly review the project's progress against the plan, and make adjustments as needed to keep it on track.
It's a common practice to include a project Charter--a single page cover sheet describing the project's' essential information. The helps others quickly understand the purpose of the project.
Creating a project plan can be a complex process, but it's an essential step in ensuring the project's success. Consider using project management software to help you plan and manage the project. Popular project planning software includes Microsoft Project, Jira, Smartsheet, Asana, and One-Page.
Here are some interview questions that can be useful when hiring a project manager:
-
Can you describe your experience managing projects? What was the size and complexity of the projects you managed? How did you manage the project scope, schedule, and budget?
-
How do you communicate project progress and issues to stakeholders? What strategies do you use to ensure that stakeholders are kept informed and engaged throughout the project?
-
Can you walk me through your project management process? How do you plan a project, identify risks and issues, and manage changes?
-
Can you give an example of a time when you had to deal with a difficult stakeholder or team member? How did you handle the situation?
-
How do you manage team members who are not performing as expected? What strategies do you use to motivate and engage team members?
-
How do you prioritize tasks and manage multiple projects at once? What strategies do you use to ensure that each project receives the attention it needs?
-
Can you describe your experience with agile or other project management methodologies? How do you adapt your approach to the needs of each project?
-
How do you measure project success? What metrics do you use to track progress and determine whether a project has met its goals?
-
Can you give an example of a time when a project did not go as planned? How did you manage the situation and what did you learn from it?
-
Can you describe your experience managing remote or distributed teams? What strategies do you use to ensure effective communication and collaboration?
These interview questions can help you assess a candidate's experience, skills, and approach to project management, as well as their ability to adapt to different situations and work effectively with stakeholders and team members.