I have talked to some people lately about IT departments and how they seem disconnected from the companies they belong to, often being very reactive to business demands. It is common to hear complaints from the business people about IT saying they almost never deliver what was asked and that it is hard to understand what they say. On the other hand, it is also common to hear IT folks saying that the business area does not know what they want and that IT cannot answer “zillion” high priority demands of the business. This lack of understanding between IT and the business area of the company is so common that it even became a subject of cartoons of all kinds:
But what is wrong? What is the IT problem?
For those who live in the part of IT that has to do with software development, this problem has been addressed for some time now. The Agile Manifesto, from 2001, makes this clear:
- We have come to value customer collaboration over contract negotiation.
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Business people and developers must work together daily throughout the project.
As the software developers need to deploy their software somewhere, they decided to involve the people who takes care of the production environment in this new way of thinking that bring together IT and business. Thus was born the DevOps movement in 2009:
DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.
In these software development teams it is common to see someone with the role of Product Owner or Product Manager. This is a role I’ve already described earlier:
Product Manager is responsible for all aspects of a software product, from strategic objectives to the details of the user experience. She is responsible for making the connection between the business strategy and the problems and needs of customers through the software that should help the company achieve its strategic objectives while solving the problems and needs of the customers.
The IT problem
Now imagine the IT department of Gap, American Airline, Disney, MIT or any other non-tech company. These IT departments will have among its scope the following functions:
- Hardware inventories.
- Software inventory and installation.
- Server availability monitoring and metrics.
- Security management.
- Anti-virus and anti-malware management.
- Anti-manipulation management.
- User’s activities monitoring.
- Capacity monitoring.
- Storage management.
- Network capacity and utilization monitoring.
As you can see, these IT departments already have enough stuff to worry about and will hardly develop software. If they choose to develop software, they will most likely use third parties to do this development. Even if they decide to develop internally, software development is still a small piece of IT. The concern of these IT areas is with how to integrate off-the-shelf software and make them work to meet the business needs.
The problem is that unlike software development, which already discovered the importance of having a product manager to help deliver results more aligned with the business, all other functions of an IT department does not have this bridge between IT and the business.
One possible solution to the IT problem
I would like to propose a solution to the IT problem: have more people with the role of “product manager”. I believe that name does not fit very well when the IT delivery is not software. That person will need to create a bridge between IT and business. Perhaps a more appropriate name is “business manager”.
This person would have the following responsibilities:
- Gather IT needs in all areas of the company and identify and propose solutions to any conflicts between these needs.
- When these requirements have impact on the end customer of the company, understand this impact on these customers.
- Negotiate requirement implementation priorities with all business areas.
- Work with IT teams to ensure that deliveries are made in accordance with the requirements gathered with the other departments of the company.
- Act with the demanding areas and IT teams on any relationship with suppliers / partners. (e.g. banks, consultants, etc.)
- Inform all areas of the company on new IT implementations as well as upcoming implementations. Prepare training as needed.
- Work with marketing to inform customers when the new implementations are customer facing.
- Define, track and analyze usage metrics from IT, to use them as further relevant information for decision making.
And to be able to carry out these responsibilities, this person needs to have:
- Experience working with IT teams to deliver quality projects within expected deadlines.
- Good understanding of IT and technical topics to be able to negotiate delivery options. Having been in the IT field is not required, but may help in the function.
- General knowledge about the company’s products and services, as well as an understanding of the different departments of the company.
- Good oral and written communication skills.
- Negotiation skills between different stakeholders with different priorities.
- Ability to documente requirements and use cases.
As you can see from the above description, this person have a senior profile. It will be a pair of the IT manager.
A question that may arise while reading this proposal to add a “business manager” to the IT team is why IT managers can not assume this role? Actually, they can, but they shouldn’t. IT managers already have many concerns. The IT manager has two main focuses, technology and people. She needs to be up-to-date on the technologies in her area to learn how to better meet the needs that arise. And she needs to manage the team, finding and coordinating good IT professionals is no an easy task. Putting on the IT manager the additional burden of business requirement management can lower the overall quality in current tasks.
In software development we’ve realized that it’s better to have a separate person taking care of business needs. Why not apply the same role separation for other IT areas?