Educating software engineering managers: revisited: what software project managers need to know today

Author(s): Lawrence Peters, Ana M. Moreno
Venue: Proceeding ICSE '15 Proceedings of the 37th International Conference on Software Engineering - Volume 2
Date: 2015-05-16

Type of Experiement: Survey/Multi-Case Study
Class/Experience Level: Professional


The growth of software project performance has been a slow and linear progression. According to this paper, The only way to have the project performance increase in an exponential manner is to start early and teach students about the biggest cost increasing part of a software project, the project management. This paper argues that the current curriculum of software engineering does not teach the proper methodologies of software project management.

More Software engineers need to know how to “plan, schedule and control software projects, but also acquire staff and motivate them to perform well.”

There are plenty of misconceptions about SE that can be avoided if students are taught properly such as the difference between planning and scheduling. There are 5 basic parts for software management, Planning, Scheduling, Controlling, Staffing and Motivating.

A lot of SE’s come out of college not knowing the basic project management ideologies that have been learned over multitudes of years in other fields. When students graduate from the industry may not prepare them to manage a team so they gain the knowledge necessary by trial and error when in fact it would have been better for them to learn at school. These topics include how the manager must actually manage the team, motivate the team, and promote the communication in the team.

On top of looking outwards a software project manager is expected to know how to estimate a project and also correct for biases that are prevalent in the field. While also being able to navigate the different types of complexities that arise within a project, including structural, sociopolitical, and emergent.