This section will explore how the roles work together to build a software product by discussing:
WHAT ARE THE ROLES ON A SOFTWARE DEVELOPMENT TEAM?
WHAT TASKS DO THE DIFFERENT ROLES COMPLETE IN THE DEVELOPMENT PROCESS?
1. WHAT ARE THE ROLES ON A SOFTWARE DEVELOPMENT TEAM?
Roles and titles can vary between companies, there are nuances and differences. Large IT departments include additional roles that are more specific, such as database administrator, networking engineer, security engineer, project manager, or scrum master. Depending on the size and scope, a team may need more than one person for each role. At smaller organizations, like ours, there is more overlap between the roles. Let’s introduce you to the team!
Team Members
Product Manager
Product Manager, Jose
Related Titles: Product Owner, Business Analyst, Software Analyst
Responsibilities:
Identify the user’s needs and how they align to the business and market
Define the product vision, goals, and key performance indicators (KPIs)
Work with the team to clarify requirements
User Experience Designer
User Experience Designer, Mori
Related Titles: Interface Designer, User Researcher
Responsibilities:
Ensure a consistent and simple approach to the user experience
Create designs, mockups, or prototypes
Test ideas or concepts with users
Review designs with the team
Quality Assurance Engineer
Quality Assurance Engineer, Amanda
Related Titles: Engineer in Test, Quality Control
Responsibilities:
Test software solutions and identify defects or issues
Test software and document the results
Collaborate with the team to ensure the root cause of an issue is identified and fixed
Code automated tests
iOS Engineer
iOS Engineer, Camilla
Related Titles: Mobile Developer
Responsibilities:
Write code for iOS mobile apps
Deploy the apps to the Apple App Store
Code and release app updates
Web Developer
Web Developer, Ruben
Related Titles: Front-end Developer, Programmer, Web Engineer
Responsibilities:
Write code for websites and web applications
Create the website’s interface for users
Perform tests to ensure program works as expected
Understand integration to server and databases
Software Engineer
Software Engineer, Monique
Related Titles: Back-end Engineer, Programmer, Engineer
Responsibilities:
Create system architecture
Build logic and integrations to connect the different programs and applications
There are subtle differences between engineers and developers, but for the sake of this course, you can think of them as the same.
At Poodle Jumper, we leverage the lean development methodology because it allows us to quickly iterate while controlling development costs. An iteration is when we repeat the process for an idea, design, or product until it is ready.
Poodle Jumper Products
Our software development team is responsible for the design, development, and testing of our website and two iOS mobile apps. The team includes a product manager, a user experience designer, a quality assurance engineer, a web developer, an iOS developer, and a software engineer.
Poodle Jumper Development Process
2. WHAT TASKS DO THE DIFFERENT ROLES COMPLETE IN THE DEVELOPMENT PROCESS?
The Product Manager organizes the ideas into a list, called the backlog, and leverages their productivity skill to ensure the priorities are aligned with the strategy.
The User Experience Designer leverages their innovation skill to brainstorm new ideas for solving problems with the team. They create sketches of what a solution could feel like and test the idea with potential customers. The team leverages their communication skills as they review the idea, identify risks or issues, and define what to build. When the team has an agreement on the direction, the engineers design the architecture for how the software will work.
The Quality Assurance Engineer outlines tests to ensure the software will work as needed and drive the expected results.
The iOS Engineer collaborates with the User Experience Designer to create storyboards that lay out the screens and identify what data elements the feature will need.
The Software Engineer creates the database elements needed and writes the logic in server-side code. When the code is ready, the team reviews it together to make sure it matches what they set out to build.
The Web Developer creates the features for the website and writes web services to connect everything together.
The Quality Assurance Engineer executes their tests and shares the results. The team meets to review the results and decide if the feature is ready to be released to users.
When the MVP is released, the team learns from the analytics, user feedback, and reported issues. Insights from the learnings are captured as ideas and the team leverages their agility skill to embrace the changes and adapt the feature as needed in the next iteration.
In the next section, we’ll take a deeper dive into the roles to show you what their jobs look like on a day-to-day basis.
term to know
Database
A database is an electronic collection of organized information.
Server
A powerful computer that provides information or data.
Terms to Know
Database
A database is an electronic collection of organized information.
Server
A powerful computer that provides information or data.