Polymorph is an Agile software development company with over ten years of experience. We chose Agile because we have found that it is the most cost effective, lean and successful way to develop software products over a vast array of industries such as Fintech and IoT.
Within Agile software development, one should keep in mind that roles and ways of working differ in terms of the size of the team and situation, but fundamentally follow the guidelines below.
Scrum Master / Team Lead
This position requires the soft skills of a project manager which focuses on individual members of the team and where they are. However, the hard skills like planning the project is within the scope of the team as a whole. The responsibilities of this role include facilitation of the team, maintaining the team cohesion, ensuring the team has access to resources they require, and safeguarding the team. Many use the term coach for this role and I believe this reflects the all-encompassing role of the Scrum Master. Taking care of the team and ensuring it’s success is at the heart of this role.
Software Architect
Highly experienced individual responsible for overseeing the technical design of the software. Determines the technology stack to use, as well as overseeing engineering discipline and coaching other team members where necessary.
Software Engineer / Developer
These team members are skilled problem solvers in software development. They work to ensure the product’s usability and stability.
UX Designer
The Champion of the User. The role includes interviewing users, researching market data, and gathering findings.
UI Designer
In collaboration with the UX designer, this role is about designing the interface to ensure it delights the user.
Tester
Responsible for quality assurance of the software and development. A key player in the team to ensure that the product is release ready.
Product Owner
The product owner must make sure that the team builds the right product. To do this, the Product Owner is responsible for prioritising the backlog which gives structure to what will be worked on next, what is being worked on and what is in the pipeline for the next few months. This role feeds back to the Scrum Master and team, while working with the stakeholders.
Stakeholder
This represents a broad scope of people involved. Depending on the product, it can encompass marketing department, sales team, developers who might be working on another component of the software, CEO, CFO. It often includes owners, managers, users, managers of users.
Additional team members
At times and dependent on the software development, one might want to call on additional assistance. This could be researchers, technical experts, domain experts and independent testers.
Notably, with Agile one role is not given significance over another. At Polymorph, I have discovered project after project where the best software development does not happen within a hierarchy, but within engaged and active team led development. As Stephen Hawking says “One never knows from where the next great leap forward is going to come. Or from whom.”