Get in touch today: 0800 133 7948 or Email us
Talk to an expert: hello@atlascode.com

Software Development Project Roles and Responsibilities

Posted on: November 21st, 2017 by Simon Swords

Software Development Team Roles and Responsibilities Software Development Team Roles and Responsibilities

Software projects are difficult and they all take careful planning, a talented development team and collaboration of a project’s team members, both internally within the company and externally with the software development company.

Software projects can only move forward when the key stakeholders are all in place.

One of the keys to a successful software project is identifying and documenting the software project roles and responsibilities for your project. You’ll need to ensure that you define the key stakeholders within your business that will be involved in the delivery of the software solution.

Get the right people. Then no matter what all else you might do wrong after that, the people will save you. That’s what management is all about.
-– Tom DeMarco

Among the key stakeholders of a software project are the following eight key roles in software development and their corresponding responsibilities.

PROJECT SPONSOR

Project Sponsors play a critical role in all projects. Project sponsors have the bandwidth to take on the Project Sponsor role, their day job and no other project role, therefore Project Sponsors are not Project Managers, Scrum Masters or Product Owners.

Unengaged sponsor sinks the ship.
-– Angela Waner

The Project Sponsor is the person or group that provides direction and resources, including financial resources for the software project. The Project Sponsor works with the project management team, aiding with wider project matters such as scope clarification, progress, monitoring, and influencing others in order to benefit the software project.

The Project Sponsor leads the project through the software supplier selection process until it is formally authorised. For issues that are beyond the control of the Product Owner, the Project Sponsor serves as an escalation path.

The Project Sponsor may also be involved in other important issues such as authorising changes in scope, phase-end reviews, and go/no-go decisions when the stakes of the project are particularly high.

Typically sponsors of projects tend to be senior management or director level executives.

SUBJECT MATTER EXPERTS (SME)

A Subject Matter Expert (SME) or Domain Expert is a person who is an authority in a particular area or topic. A Subject Matter Expert has superior (expert) knowledge of a discipline, technology, product, business process or entire business area.

The SME role and responsibilities in software development could be summarised as follows: they are normally the people from whom technical requirements are captured.

If everyone is thinking alike, someone isn’t thinking.
-– General George Patton Jr.

Subject Matter Experts are the accountants, finance controllers, salespeople, production managers and so on who roll up their sleeves each day. They know their roles inside and out and are rarely technical.

However, their lack of technical knowledge is their strength, as they are not bogged down in technicalities and instead are purely focused on business outcomes.

It’s imperative that discussions are held with Subject Matter Experts at the same time as the software product vision statement is being created. Feedback from this group of experts can save a lot of back and forth down the line.

However, given that Subject Matter Experts tend not to be technical the right amount and type of engagement are necessary so as not to overwhelm them. One of the ways to get them involved is to have them contribute to the creation of early-stage wireframes and prototypes.

PRODUCT OWNER

Product Owner is a software development role for a person who represents the business or end-users and is responsible for working with the user group to determine what features will be in the product release.

The Product Owner is also responsible for the prioritised backlog and maximising the return on investment (ROI) of the software project. Part of this role’s responsibility includes documenting user stories or requirements for the software project.

They act as the main point of contact for all decisions concerning the project and as such, need to be empowered to perform their responsibilities without the need to seek too much prior authorisation from the Project Sponsors.

Appointing the right person to this role, with the appropriate delegated authority to progress the project, is fundamental to the success of the project, especially if an agile methodology approach is undertaken.

In particular, the Product Owner is responsible for:

  • ensuring that the software product vision statement is adhered to
  • making the final decision on all scope related decisions
  • maintaining and updating the product backlog on a continuous basis by
    • refining new requirements
    • removing requirements that fall out of scope
    • adding new requirements identified as being required to achieve the software product vision statement
    • reviewing and setting the priorities assigned to the product backlog and heading up all project planning meetings
  • resolving any disputes either with the software development team or internally

Failure to have a Product Owner in place usually means that the software project will execute in fits and starts whilst the software developers are on hold waiting for crucial feedback.

A slowdown in the momentum of a software project can have long-term consequences, not least of missed milestones and deadlines. Don’t ever underestimate the importance of the Product Owner role in the success of your software development project.

PROJECT MANAGER (PM)

The Project Manager (PM) is responsible for knowing the “who, what, where, when and why” of the software project. This means knowing the stakeholders of the project and being able to effectively communicate with each of them.

The Project Manager is also responsible for creating and managing the project budget and schedule as well as processes including scope management, issues management and risk management.

Some of the Project Manager duties can include:

  • Developing a software project plan
  • Manage deliverables according to the software project plan
  • Recruiting software project staff
  • Leading and managing the software project team
  • Determining the methodology used on the project
  • Establishing a project schedule and determine each phase
  • Assigning tasks to project team members
  • Providing regular updates to senior management

It doesn’t matter if you are using an agile methodology or the waterfall method, once deliverables are defined, it is critical that the Project Manager starts to actively exercise change management. Change should not be perceived as negative or something to be avoided.

Change is inevitable and is acceptable in a software project as long as it is managed. The impact of any change needs to be assessed, measured and communicated. The major factors are typically timeline and budget. If the impact is deemed acceptable by the Project Sponsor, then the change can be incorporated.

The Project Manager also oversees software testing, delivery and formal acceptance by the customer. Then the Project Manager performs a project review with the software development team to document any lessons learned from the software development processes.

TECHNICAL LEAD

This person translates the business requirements into a technical solution. Because of this responsibility, it is beneficial to have the Technical Lead involved in the planning phase to hear the business requirements from the customer’s point of view and ask questions.

The Technical Lead is the development team leader and works with the developers to provide technical details and estimates for the proposed solution. This information is used by the Project Manager to create the Statement of Work and the Work Breakdown Structure documents for the software project.

It is critical that the Technical Lead can effectively communicate the status of the software project to the Project Manager so that issues or variances can be effectively addressed as soon as possible.

The Technical Lead is also responsible for establishing and enforcing standards and practices with the software development team.

SOFTWARE DEVELOPERS

The Software Developers (front-end and back-end) are responsible for using the technical requirements from the Technical Lead to create cost and timeline estimates.

The Software Developers are also responsible for building the deliverables and communicating the status of the software project to the Technical Lead or Project Manager.

It is critical that the other team members effectively communicate the technical requirements to the Software Developers to reduce project risk and provide the software project with the greatest chance of success.

SOFTWARE TESTERS

The Software Testers ensure that the software solution meets the business requirements and that it is free of bugs, errors and defects.

In the test planning and preparation phases of the software testing, Software Testers should review and contribute to test plans, as well as be analysing, reviewing and assessing technical requirements and design specifications.

Software Testers are involved in identifying test conditions and creating test designs, test cases, test procedure specifications and test data, and may automate or help to automate the tests.

Some of the Software Testers duties can include:

  • They often set up the test environments or assist system administration and network management staff in doing so
  • As test execution begins, the number of testers often increases, starting with the work required to implement tests in the test environment
  • Testers execute and log the tests, evaluate the results and document problems found
  • They monitor the testing and the test environment, often using tools for this task, and often gather performance metrics
  • Throughout the software testing life cycle, they review each other’s work, including test specifications, defect reports and test results

USER ACCEPTANCE TESTERS

You should expect your software solution provider to carry out a wide array of software testing to ensure that your new software solution meets various quality assurance (QA) criteria.

On from that, representatives of your company will need to perform the final checks to ensure that the software works for the business across a number of real-world scenarios.

User Acceptance Testing (UAT) is the final step prior to a new software solution being released to production (live). It’s absolutely essential that you have the resources to tackle user acceptance testing in a timely and organised fashion, as it is often UAT that creates the bottleneck between the software solution being completed and released to the business.

It’s often the case that the aforementioned Subject Matter Experts defined how the new software solution should work and, given their close proximity to the actual work, they can make excellent User Acceptance Testers.

When end users get involved in the final stages of testing, light bulbs go on, and they often have an “aha” moment. Unfortunately, that is often too late.
-– Frank R. Parth

It’s an excellent idea to ensure that those employees participating in UAT are brought in from the start, and understand, or perhaps better still contribute to, the design of the new software solution.

This emotional buy-in and understanding of the software solution’s objectives reduces the friction that might otherwise exist in attempting to move end-users from the existing software systems they know, love and use every day.

SOFTWARE DEVELOPMENT ROLES – CONCLUSION

Whilst it’s important that your software solution provider has the necessary resources in place to operate your project, it is equally as important that you as the customer understand the roles and responsibilities required within your team to bring your project to successful completion.

The key to project success is clear and effective communication. A critical portion of this communication is identifying the stakeholders and their roles.

Whatever labels you apply to the software project roles above, clear communication of expectations and status to the stakeholders throughout the life of the software project will increase the chances of your project’s success.

Simon Swords

Simon Swords

Director

Managing Director

Want to stay up to date with the latest software news, advice and technical tips?

Loading
;