Saturday, September 13, 2014

The 4 P's Of Software Management

The 4 P’s of marketing are very well regarded and known even by people who are not in the field of marketing.  One of the challenges that many in the software development industry face as they grow through their career is a battle in their hearts and minds between staying technical vs moving into the management space. It’s a constant battle which anyone coming from the technical background always faces.  I have tried to list down what I consider as the most important 4 P’s that one has to master to do well in the software management space.  These are extremely relevant especially in a software product based organization, but some may apply to a services oriented organization as well.  This assumes that individuals already have a good technical background or experience and hence does not consider that as an additional requirement since that is the basis of this blog.

Product
In order to grow in your career, you should have the knack and understanding of the domain, industry, and business the company is dealing in.  While, you may not have performed the role of a product manager, in order for you to gain respect across the organization and especially of your team, you will need to pitch in with your ideas and opinions on market trends, importance of capabilities for your potential customers, and weigh in with priority discussions.  This is typically thought of as the realm of product management folks, but in order for anyone to establish themselves as a leader for the company, this is a very critical skill to develop and hone.

Project
The next skill that you are expected to master and be good at is in pure project management capabilities and the ability to take any project, however complex, and deliver it within the timelines required for the company, working across different organizations, rallying everyone around the end goal of a good, quality project delivery.  While, typically this is thought as the expertise of someone with a PMP certification or project managers only, for someone to progress their career through software management, one should be extremely skilled and equal or better most of the project managers out there in the world. Obviously, it isn’t a skill that you will perform on a daily basis or on an ongoing basis, but you should have demonstrated these skills a few times to establish yourself and gain credibility.

Process
Any organization should never have an established, settled process that is followed to the “T”, especially in this day and age while developing a product.  As most organizations migrate from a waterfall development methodology to a pure agile model, and/or from a “walled development vs operations” culture to a “devops” culture, the processes have to be adapted and changed all the time.  If you keep your processes the same even for 2 releases continuously, you are not using the continuous improvement philosophy which is vital for an organizations success.  The reason I feel this is the case is because there is no perfect or ideal agile or devops model, and each company has to have their own version or variant of it, and adapt it to suit the needs of the company, product, team structure, culture, background and so many other factors. 

Hence, it is extremely important for anyone who wants to excel in the software management space, to ensure that they have a huge impact and contribute towards the process changes in the organization. Typically, this will go even beyond your teams or products and provides the opportunity for one to have a lasting legacy impact on the company.

People
The final P in the puzzle is obviously that of people management and the one that most technical professionals struggle with the most. They are so attuned to working with computers in their cubes and most uncomfortable in dealing with people. This becomes extremely critical because the success of a manager depends on him or her taking the team along with them and helping them grow and learn in their career, and unless one can extract the best from your teams, the manager and team will always fall short. The obvious thing to remember here is that teams and people follow leaders and not managers, and so if you think and act like a manager vs a leader, it will be very difficult for you to master this P.


Hopefully, you find these simple points helpful and ensure that you observe and learn as you work on a daily basis and come to the crossroads of this important decision in your career on whether to remain technical or take the plunge to move into the management track.

No comments: