This FAQ is to help business people who are new to digital technology. We will give a brief overview of some of the roles and skill sets that maybe needed in a variety of software projects. So when you are talking to your software development agency, you will be prepared for discussions around the types of people that need to be involved.
In large companies several people are likely to have the same role. For companies with limited resources one person may take on several roles. It may even be that members' roles change from project to project, to provide variety and broaden their experience.
Naturally it is important that the individual taking on a position possesses the necessary skillset to do the job. This is no less true when taking on multiple roles. Additionally, some roles are more easily combined than others.
Suitable secondary roles
Project manager, business analyst
Suitable secondary roles
Product manager, business analyst
The roles and their responsibilities
This is a brief overview of the various roles required in a software project.
This role should be filled by a senior person who has good knowledge of the business. They need to have the authority to make business decisions throughout the project's lifetime. The project executive is responsible for delegating business decision to the product owner and the day-to-day management of the project to the project manager.
The product owner has the ultimate responsibility for ensuring that the project requirements fulfil the business' needs. They must also make sure that the final product lives up to these expectations. This role requires that you understand the strategic objectives of the project. Furthermore, this position requires an understanding of how all development requests are expected to deliver value for the business.
The project manager maintains the portfolio plan. The product owner on the other hand will own the portfolio on behalf of the company's senior management.
The project management role cannot be fulfilled by "just anyone". You want someone that is candid, structured and organised. The project manager is responsible for managing the project and its people on a day-to-day basis. A good project manager facilitates the flow of work by ensuring everyone fulfills their responsibilities.
This position is responsible for the overall system design of the product. This includes the integration between various component systems.
The technical lead is the go-to person for advice on technical issues. They play an important role in making sure the business gets what it needs. Technical leads are respected for their knowledge and willing to help others.
Business analysts work closely with the product owner and the end users. They have the skill to ask questions that uncover business needs that you might not have thought of. Once the business analyst understands your business needs they document the necessary requirements for delivering the right solution.
The results of a project is intended to make the life of the end user easier and more efficient. Because of this, the end user is one of the most important roles in a project. As the end user knows best what they need help with they are responsible for defining the capabilities required of the product together with the business analyst. They are involved throughout the project to make sure everything that is delivered solves a problem and makes their life easier.
The end user makes use of user scenarios and acceptance tests to confirm that they are getting what they need from the project. As they are involved throughout the project they can quickly raise concerns if they are not getting what they need.
Quality Assurance (QA)
The role of quality assurance entails ensuring that the development process keeps an appropriate quality level throughout. They are also responsible for making sure that all elements of the product mesh.
Testers are responsible for ensuring that the developers' work passes the documented acceptance tests. Therefore they make use of test cases to ensure the quality of the product as well as catch any bugs that might have made its way into the code. This is necessary to ensure that new functionality does not break existing ones and that features delivers the required capability.
Well thought through automated testing can save time and reduce the number of professional testers in your team.
Usability Expert (UX)
UX developers and designers make it easy and intuitive for people to work with digital solutions. Therefore, they need to understand how people naturally work. A good UX developer has an interest in how humans think and act. They use their knowledge of your users culture and society to make sure your digital solution does what they expect. UX developers create wireframes and carry out usability tests before the frontend developer implements the functionality.
The designer works closely with the UX developer to produce the desired design of the product interface. They ensure that the digital products represent the business brand in addition to providing the desired user experience.
A frontend developer crafts the visual representation of you have asked for. They do this based on the wireframes and design, as well as documented user scenarios and acceptance tests. It is this interface that the end user sees and interacts with to use final product.
Backend Developer (business layer)
The backend developer implements the digital core logic needed by the business. Backend developers take data and turn it into information that can be used by people and other digital systems. They give you seamless flows of information across your organisation and to your suppliers and customers. End users interact with the features created by the backend developer indirectly, through the frontend developer's interface.
Your business data needs to be stored and managed. How and when this data is used will dictate how you store and manage it. Database experts have the knowledge of how to create and maintain the digital storage of data.
Search Engine Optimisation (SEO Expert)
If your business is dependent on reaching customers online, you need an SEO expert. They help craft information in a way that allows search engines to find you and give greater exposure to your customers. The SEO expert works with your marketing department to make sure that your digital content is promoted by search engines.
Analytics and Reporting
This role in software development is responsible for documenting the analytics. Additionally, it includes fulfilling the requirements for good analytics and reporting tools. This task also often requires integration with third party tools.
The security expert oversees the security of digital systems. This includes preventing the exploitation and use of the digital systems for criminal activities, such as accessing customers' credit card information.