What is the Real Job of the Software Development Manager?

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:

  1. 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.

  1. 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.

  1. 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.

  2. 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.

  3. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

What is the ADKAR Change Management Model

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Book Review: Motivating Employees

Employee motivation is an ever-present concern for most proactive managers.  Interestingly enough, motivation can come from both functional and dysfunctional sources.

I've seen employees motivated for many different reasons: recognition, financial incentive, empowerment, personal growth, tension release, fear, and finally there's that weird Lord of the Flies thing where employees get motivated together against another employee.

In their book, Motivating Employees, Anne Bruce and James S. Pepitone describe the most effective ways to motivate a team.  They describe the three C's which are vital to functionally motivating employees:

1. Collaboration: Be sure to involve employees in decisions and discussions where their efforts are involved.

2. Content: As they produce suggestions, act on those suggestions immediately.

3. Choice: Be sure to offer choices to your employees--even if you can predict what they will decide.

These three techniques actually empower your employees.   Involving employees in decisions that affect them, or the outcome of what they are working on produces a level of buy-in that is hard to match any other way.

Bruce and Pepitone continue with an examination of Theory-X and Theory-Y motivation and management styles.  These styles were originally presented in the 1960's by Douglas McGregor.

McGregor states that Theory-X managers proceed from the assumption that their employees are uninformed, lazy, and needy of high-structure.

Theory-Y managers, however, proceed from the assumption that their employees are qualified, intelligent, and capable of making proper decisions provided they are given proper goals, accountability, authority, and resources to accomplish their tasks.

Although Theory-X is the most effective approach during some situations, if you consider the amount of college-educated employees in the workforce today, it's easy to see how Theory-Y, if applied properly, yields much higher performance.

The authors continue with a formula for encouraging Entrepreneurial Thinking.   Their five-step formula is:

1. Explain the organization
2. Demonstrate how the organization operates and generates income
3. Help your employees understand the competition
4. Encourage intelligent risk-taking
5. Inspire innovative thinking

Another great idea the authors present is to link motivation to performance.  They suggest you develop a written-list of performance standards for meeting and exceeding the expectations you've agreed upon during collaborative sessions with them.

The authors talk about how important it is to weave fun into everything your organization does.   This may sound like a unusual suggestion at first, but the authors point out that there is a direct correlation between fun on the job and employee productivity, moral, creativity, satisfaction, and most importantly--retention.

The final few chapters in the book discuss de-motivating factors (or individuals), and how to deal with them.  There is also a good chapter on conducting effective employee-reviews.

Overall I recommend this book to any manager.   It's a great book to re-read every so oft r/>
Mike J. Berry
www.RedRockResearch.com

Book Reviews: Leadership and Self Deception

I can't remember where I first heard of the book Leadership and Self Deception, an international bestseller written by the Arbinger Institute.  It's a short book, only 175 or so pages cut in a 5 x 8.5 inch format.

The cover is strikingly attractive, a collission of two black and white surfaces with some red spilling out.

The book talks about being "in the box" versus "out of the box" with respect to how we interact with people around us.  As we create false impressions of reality around us, through our own rationalization, self-deception, lack of empathy, or fear, and communicate with others under these pretenses, we put ourselves "inside a box."

Being inside a box adversely affects our ability to maintain the trust, respect, and finally peace with those around us.  Being able to recognize when we are leading ourselves "into the box" and taking proactive measures to stay outside of the box raises our emotional intelligence and helps maintain trust, respect, and peace with those around us.

Now let me say that the concept is groudbreaking, but the book is not.  I could only get about half way through this book before I had enough of the watered-down leechy "you've turned one sentence into a whole chapter, again!" prose.

The book is written from a "corporate fairytale" perspective and I have to say I feel like I am being patronized like a seven year old at story time when I read this book.  Instead of being to-the-point, the authors create a long burdensome drawn-out fabrication of actors and problems in a fictitious business culture.  You are supposed to read the fairytale and apply it to your own reality.

I suppose nursery rhymes caught on well enough, so maybe that's why this book is an international bestseller.  I would recommend you have someone explain the concept in the book to you, rather than spend the time reading it.  If you do read this book, just read the first few chapters, then read the captions under t ick-figure drawings throughout the rest of the book to get the point.

Whiteboards for Everyone

Do you like designing on whiteboards?  I do.   Colorful markers against a clean, white surface inspire all kinds of creativity and fun.

Recently I came across a great tip.  Instead of going to your local OfficeBOX superstore and paying $200 for a 4x8 whiteboard, just hit HomeDepot instead and get a $12 piece of showerboard.  It works just as good and if you need a smaller size they will cut it for you on site for no additional charge!  At that price, you can line your walls with thinking space.  

Mike J. Berry  www.RedRockResearch.com

Book Review: The Book of Five Rings

Recently, while attending the '09 Agile Roots conference in Salt Lake City, UT, Alistair Cockburn--the keynote speaker--referenced Miyamoto Musashi's 16th-century book called The Book of Five Rings.

I like Asian philosophy (and swords and such) so I picked up the book and read it.  The book was written in 1643 by an undefeated Japanese samurai master who was so effective he was rumoured to have spent the latter part of his career entering sword-fights purposely without a weapon.  Although meant as a battlefield manual, the book has gained popularity as a handbook for conducting business in the 21st century.

The book was translated into English by Thomas Cleary at some point and the edition I read was published in 2005.   Improperly named "The Book of Five Rings," the book is actually a compilation of five scrolls.

The Earth Scroll: Musashi talks about how a straight path levels the contours of the Earth and how various occupations provide life-improving principles.  He talks about observing patterns and learning from them.  Certainly a great primer for any business trying to get across the chasm.

The Water Scroll: Here Musashi talks about how water conforms to the shape of its container.  He suggests a separation of one's inward mind against it's outward posture, maintaining that one's control over one's mind must not be relinquished to outward circumstances.  He translates these philosophies into about 80 pages of sword fighting techniques.  An interesting modern parallel is found in Jim Collins book, Good to Great, where he talks about how the most successful companies are able to say 'No' and not be influenced by immediate but non-strategic opportunities.

The Fire Scroll: As with any book written by a 16th century samurai master, you'd expect a core discussion on combat strategy.   The fire scroll is full of combat strategies, positioning, and pre-emptive theory.  Very interesting.  Did anyone notice how Apple's announcement of the latest iPhone came about 1 day after the Palm Pre phone was officially launched--killing it's market blitz?  No coincidence there.

The Wind Scroll: The wind scroll contains a directive to study and be aware of your opponents techniques.  Translated into business speak, this means one should always study ones competitors.  Be aware of new offerings, partnerships, markets, etc. that they persue.  Emphasis is placed on observing rhythms and strategically harmonizing, or dis-harmonizing with them as appropriate.

Finally, The Emptiness Scroll:  This scroll discusses the value of escaping personal biases.  Emphasis is placed on not lingering on past situations and being able to adjust quickly to new scenarios.

Overall I found this book 'enlightening' to read.  If you like metaphors and inferences, or sword-fighting, then you will enjoy this book.

Mike J. Ber />www.RedRockResearch.com

Anatomy of an Execution Plan

Have you been challenged with performing a high-risk task like upgrading a prominent server, for example?

Here's an execution plan template that you can use to guide you.

I. Executive Summary
Brief overview of intended event.

II. Review of Discovery
Details of what efforts were made to research what is listed in the following sections.  Meetings, Vendor consultations,  Online Resources, and Conventional Wisdom can be included.

III. Pre-Upgrade Procedures
Steps identified to be taken before the event.

IV. Upgrade Procedures
Steps identified to be taken during the event.

V. Post-Upgrade Procedures
Steps identified to be taken after the event.

VI. Test Plan
Verification procedures to confirm the event was a success.  This section should define the success criteria.

VII. Rollback Plan
In case the worst happens, what to do.

IIX. Situational Awareness Plan
After-the-event steps to validate the success of the event with the system's business users.  This would include a two-way communication between your group and the business users, announcing the success, and providing contact information for them to contact you in case there is still a problem.

IX. Risk-Management plan
A plan listing risks associated with the steps above and recommendations as to how to lower those risks.

X. Schedule
If the event spans many hours or days, you may want to draft a schedule for the benefit of all involved.  Include on the schedule the 'rollback point,' which would be the latest time a rollback could be successfully performed.  Your success criteria whould have to be met by this point to avoid a rollback.

Be sure the Execution Plan is in a checklist format, not a bullet-list format.  Require participants in the event to 'check' completed checklist items and sign-off sections they are responsible for.

For critical areas of high-risk, (ie: setting up replication), for example, you may want to require two individuals to perform the checklist steps and sign their names when that section is complete.

If you like, add a 'lessons learned' section to be completed later, and ke copy of the execution plan for historical purposes.

Mike J. Berry
www.RedRockResearch.com

Improving Employee Morale

As a software development management consultant, I'm always looking for innovative ways to improve employee morale.

My friend and associate, Greg Wright, told me about an interesting process for improving morale that his company practices.

They have an appeasement committee and budget.   The appeasement committee is a group with one representative from each department.  Each month, a different member of each department is represented in the group.  If certain corporate goals are met, the committee plans an event for the company for that month.  The events are simple and not too expensive:  bowling, or mini-golf and pizza, etc.

What I find valuable about this example is that five important objectives are met:


  1. The individual employees are empowered by being able to participate in the suggestions to improve morale.  This personal involvement is more meaningful to them, and more appreciated.

  2. If a committee and a budget is in place, morale-building events won't take a backseat to unexpected fires, or brand new deadlines.

  3. The effort-vs-reward principal is set in motion, which is one of the foundations of capitalism.

  4. Corporate goals get communicated, and emphasized, and are constantly on everyone's minds.

  5. Team-building outside of the stressed work environment will occur.  This brings a fresh dimension to work-place teamwork.


Morale building is important because it separates the sweat-shop jobs from the career jobs.  This simple process can do wonders for your organization.

Mike rry
www.RedRockResearch.com

Excellence over Heroics

I value Excellence over Heroics.

'Excellence' can be defined as "the crisp execution of established procedures."  Think about that for a minute.

Do you know of a software development shop where several prominent developers often stay up late into the night, or come in regularly over the weekend to solve high-profile problems, or put out urgent mission-critical fires?

The thrill of delivering when the whole company's reputation is at stake can be addictive.  I remember once staying up 37 hours in-a-row to deliver an EDI package for a bankers convention.  I was successful, delivering the application just before it was to be demo'd.  I went home and slept for 24 hours straight afterwards.

The problem with 'Heriocs' is that the hero is compensating for the effects of a broken process.  Think about that for a minute.

If heroes are needed to make a software development project successful, then really something upstream is broken.

Most problems requiring heroics at the end of a project stem from improper effort estimations, inability to control scope, inadequate project tracking transparency, mismanaged Q/A scheduling, unnecessary gold-plating, or inadequate communication between the development team and the project users/stakeholders.

A well-organized development group humms along like a well-oiled machine.  Proper project scoping, analysis, design deconstruction, estimating, tracking, and healthy communication between development and the users/stakeholders will bring that excellence that trumps heroics.

Hey, I hear that Microsoft is looking for some Heroes.

Mike erry
www.RedRockResearch.com

What Does it Mean to Be a Professional?

Decades ago I had a friend tell me this question was posed to their High School class. I never found out what the class concluded.

Over the years I have thought often about the answer to this question.

My earlier conclusion was that professionalism meant a separation of work and personal life.  This is something that I think the older generation is better at.  The younger generation seems more transparent about personal matters in the workplace.

As the years go by, however, my experience doesn't support this conclusion as a definition of professionalism.  I find many professionals are actually quite personable.

This has caused me to re-evaluate the answer to this question.

I think the answer I would give now is that professionalism means ownership.  It means responsibility and accountability for producing the appropriate results.

I walked into a CostCo last week looking for a large household item.  I found a smiling attentive employee with whom I asked where I might find the item I was looking for.  He said "I'm new here," and shrugged his shoulders.

There was this moment of pregnant miscommunication.

No doubt he was unable to help me due to his present unfamiliarity with the store layout, but as a customer I felt neglected.

I thought to myself, "Well, are you going to get someone for me who knows where this item is?" And then I realized I had, perhaps, misaligned expectations for customer service from a new employee at a wholesale warehouse selling everything from car tires to margarine.

Then the light bulb went on---a more professional employee would have "owned" my problem.  They would have found someone who did know where my item was and would have walked with me until my problem was solved.

Suddenly I realized I had the answer to my decades-old question: Professionalism means ownership.   Ownership of issues.  Ownership of assignments.  Ownership of tasks.

My thanks go out to the anonymous clueless employee.  After several decades, I finally have my answer.

How would you answer this question?
Mike J. Berry
www.RedRockResearch.com