Taoufik EiadehProject Manager| HuaweiAbu Dhabi, Az, United Arab Emirates
There is an increasing demand for software project managers recently, and PMs to some extent must be aware or understand coding, SDLC, and how coders work.
Therefore, PMs need to deeply understand the software work envirnment in order to deliver projects successfully. Saving Changes...
NAVANEETHA KRISHNAN BALRAJManager Project Management Office| Saxon InfotechNew Market, MD, United States
I agree! Most of the organizations expect the Project Manager to understand the environment from a technical perspective which actually will make his/her work easier. Saving Changes...
Understanding the SDLC and having "some" experience with the different stages of software development will be important, but you don't need to be a "code monkey" to be successful.
Knowing coding isn't essential but yes it is important to understand how software gets built and the use of concepts like lean, agile, continuous integration, and cross-functional teams. Very often the developers, not a PM, are responsible for planning so a PM with an experienced team should understand what their way of working is and allow them to self-organise. Saving Changes...
I have heard some people say that as long as you use the proper PM methodologies, you don't need expertise in the field where you are PM'ing. However my own opinion is that it's necessary to have a pretty decent understanding of the subject matter for a few reasons - mostly so you can understand the conversations & meetings, but also so you can ask the dumb questions "isn't there a better way to do this by ___?". It's also easier to know when someone is feeding you incorrect information or inflating estimates etc. Saving Changes...
It really depends on scale and organizational structure. If you're a PM that interfaces directly with the programmers, then understanding the detailed level work will make it much easier to plan and manage.
If it is a large project, a PM might not even know the people writing code. They need to understand the architecture and development model, but there are too many specialties to be fluent in them all.
For example, a PM developing the training for how the software will be used (one of my first big gigs), needs to know more about the end product's functionality and how to develop effective training, than they do about the underlying code itself. Saving Changes...
Taoufik EiadehProject Manager| HuaweiAbu Dhabi, Az, United Arab Emirates
What I learned from being a software PM:
*Be a good storyteller.
*Manage people instead of a team.
*Be a value maximizer.
*Respond to change quickly. Saving Changes...
Sergio Luis ConteHelping to create solutions for everyone| Worldwide based OrganizationsBuenos Aires, Argentina
You have to know the same than in other type of projects. In software projects because the different technologies and programming languages used to create a solution is quit impossible to know about all of that. Saving Changes...
Thomas WalentaGlobal Project Economy ExpertHackenheim, Germany
No, you should have a basic understanding how SW development and programming works but do not need to be a programmer.
Some years ago, I led a major project which included programming of a system for IBM AS/400. Had no clue about the programming languages used, but was well aware about how to develop SW in other environments. There are thousands of programming languages and each one becomes obsolete over time. Saving Changes...
Peter RapinSubject Matter Expect; Project Delivery| Independent ConsultantOntario, Canada
Like most jobs the greater the knowledge and experience the easier it is to perform. However, there is a point in time where you start to micro-manage because "you think" you know better than anyone else. When that happens you become the only one that gets job satisfaction, everyone else takes a back seat and watches. The true leader lets people do their job I understand "it depends on the project" but as PM, stay out of the technical discussions, don't be afraid of admitting your technical shortcomings (even if you don't have any). Manage the project not the work. Manage risk, costs, time, scope, communications, resources, procurement, documentation, integration. You should not have time to get into the technical details.
Familiarity with the technical - it helps but only to a point.
Deeply understand - no, can be a drawback. Saving Changes...
If you are a software project manager and don't know how to code then you will see the development team as a black box and you would never be able to understand what happens inside it. You would never be able to understand the difficulties the developers are having while working.
So the way you manage the project and the developers would depend on you coding skills. If you have none then you will not be able to truly manage the developers but you would just ask them questions about the status of their work and inform them about the decisions made by the project key decision makers.
In some projects you many not even get to know the developers or all of them. You may just interact with their line manager or their lead.
...
2 replies by Peter Rapin and Taoufik Eiadeh
Dec 10, 2020 7:12 PM
Peter Rapin
...
So you're telling us that an excavation company can only be run by a ditch digger because only a ditch digger understands digging. A trucking company can only be run by a driver as only a driver understands driving. That a hospital can only be run by a surgeon because only a surgeon knows how to operate.
There is more to all these jobs than the strict technical details. Managing is not about knowing the details of the work but making sure everything is integrated, coordinated, resourced, tracked, planned, documented, reported, financed, etc.
As a project manager you manage the project - not the work!
Dec 13, 2020 3:45 AM
Taoufik Eiadeh
...
To some extent, I agree with Adrin, he is proposing a valid point.