The Software Manager’s Role

March 13, 2009

Since I’m a software manager, I thought I would examine my own role in terms of contributing to the successful delivery of software. Interestingly enough, my company has made the switch to Agile development, and according to some people this makes me obsolete.

Why? Because Agile development supports the notion of empowered teams, meaning that the team manages and monitors its own work. This can even go so far as self-selection of team members and even helping to set product direction, but my impression is that operating at this level will vary based on the company and circumstances.

Personally, I haven’t found this difficult to accept. But for some managers who are used to regularly assigning and monitoring work, teams that manage and monitor their own work is a significant change, prompting questions such as:
  • If a team is managing its own work, what is my role?
  • How do I accomplish performance reviews?
  • What can I – or should I – do if an empowered team is failing to deliver?
Well, well. The classic definition of management is getting things done through others, and I see nothing in conflict with teams managing and monitoring their own work. In fact, software teams are comprised of professionals who are supposed to be capable of prioritizing and organizing their tasks in the first place.

What they need is context.

Context that is provided in the form of clearly articulated long-term business goals and objectives, more often than not coupled with tactical targets that are balanced against those inevitable short-term issues that need to be addressed while taking smaller, intermediate steps towards the long-term goals and objectives.

OK, that was a mouthful, but the concept is that management, particularly mid-level management, is well-suited to the planning and communicating required in balancing long-term and short-term needs of the organization. Mid-level managers are close enough to the action to understand the daily challenges of those in the trenches as well as being positioned to ensure that the long-term vision doesn’t get lost or pushed aside.

My short list of management activities that I’ll explore in upcoming posts:

  1. Hiring
  2. Assessing, Coaching, and Developing
  3. Firing
  4. Removing Impediments
  5. Championing Process Improvements (internal efficiencies)
  6. Improving the Business (external opportunities)
I’ll post follow-ups every few days or so to explore each topic.