Who Runs a Software Project?

Author: Geri Schneider Winters

I work on a lot of really large software projects.  Over the years, it has become clear to me that three roles, and the interactions between people in those roles, are really vital for the success of a software project. These three roles are the Project Manager, Business Analyst, and Project Architect. This article discusses these three roles and their interactions.

The Project Manager is responsible for interactions with the Project Sponsor, and for managing the people, budget, and schedules of the project. The Business Analyst is responsible for determining the goals and business requirements of the project, communicating that information to the project team and project stakeholders, and verifying that the goals and business requirements are met. The Project Architect is responsible for determining the technical requirements of the project, interacting with Enterprise Groups to determine Enterprise level technical requirements for the project, and for guiding the technical team in the implementation. Decisions made by one of these people will impact the work of the others, so all three people work closely together throughout the project to accomplish the goals of the project.

In a very small project, the three roles may be filled by one person. In very large projects, each role may be a lead over a team of people who fill the role.  There could be a Project Manager managing a group of  assistant Project Managers, a Lead Business Analyst managing a team of Business Analysts, and a Project Architect managing a team of Software Architects and Designers.  This is not theory – I have often worked on projects large enough to require teams of people to fill these roles.

In this approach of sharing the project leadership between three roles, the Project Manager is ultimately responsible for the success of the project. The Business Analyst and the Project Architect report to the Project Manager, but being senior members of the team, they will often interact with the Project Manager as peers, each bringing a particular viewpoint and set of concerns to their meetings about the project.

The Project Manager, Business Analyst, and Project Architect meet regularly (at least weekly) to talk about the project and any issues that need to be addressed. Some issues will be resolved by one role, while others may require the collaboration of all three roles to resolve. It is important to the project that the three people in these roles respect each other’s expertise and talents. A smooth working relationship between the three roles leads to a smoothly running project.

Some projects may require additional leadership roles, such as a Deployment Manager or Test Manager.  So the leadership team may be larger for those projects.  I focus on the roles of Project Manager, Business Analyst, and Project Architect because every project I have seen needs leadership in those areas. The larger the project, the more work there is to do, and the more need there is to divide these roles among multiple people all of whom have leadership responsibilities.

 

Think about projects you have worked on.  How did the relationships between the Project Manager, Business Analyst, and Project Architect affect your project?  What other leadership roles have you seen on a project team?

 

Attracting Highly Skilled People to Your Team

Author: Geri Schneider Winters

I was recently helping a friend staff a fairly large project with a team of very experienced, very skilled people. I mentioned that people were really excited about the opportunity. He asked me “Why are they excited? What is it about this project that makes people want to work on it?”

That led us to a discussion about teams of highly skilled people and what motivates them to want to work on a project.

I believe several factors come into account. Very skilled people like to work on projects with:

  • Other very skilled people
  • Confidence in the success of the project
  • An atmosphere of mutual respect
  • A long enough duration to build relationships

Very skilled people like to work with other very skilled people. You might think, “It must be aweful having all those big egos together.” In fact, I have found the opposite. I have found that when someone is truly very good at what they do, they are very easy to work with. It is the people who are not really all that skilled, who are afraid someone will find out they are not all that skilled, who exhibit the “ego problems” on a project.

This does not mean everyone on the team has to be very skilled, but it does mean that several people should be at the same high skill level. Very skilled people love sharing ideas with other very skilled people. They are typically patient with someone who is really trying to learn. Very skilled people have very little patience with people who claim to be experts, but who are really not that good, and who refuse to listen to anyone else.

Another thing that attracts very skilled people is confidence in the management team. Everyone likes to be on a successful project. Very skilled people are no different. If they believe that the management team has the skills to be successful, and that the project has support from upper management, then they will be very interested in the project.

Long project duration can be appealing, especially for contractors. It is very interesting to work on the whole project rather than just a few weeks at the beginning. You get to find out “how the story ends”. Also, a long project gives an opportunity to build relationships, especially with the other very skilled people on the team.

An atmosphere of mutual respect is critical. When the project team all respect each other and the stakeholders, magic can happen. A cohesive team will outperform other teams every time. An atmophere of mutual respect is vital to creating a cohesive team.

Will there be disagreements? Of course! And those disagreements will sometimes be loud, simply because you have a number of people with very strong opinions. But if everyone has respect for each other, those disagreements will be worked out without animosity and to everyone’s satisfaction.

Where have I seen these kinds of teams in practice?In musical theater with actors, on software projects with developers and with business analysts, in startup companies of various kinds, and on various kinds of team projects at universities. The basic appeal is common in all these situations. Very skilled people like to work on projects with:

  • Other very skilled people
  • Confidence in the success of the project
  • An atmosphere of mutual respect
  • A long enough duration to build relationships

 

Have you worked on a team with very skilled people? Have you had to put together a team of very skilled people? What do you think motivates them to join your team?