Use Sophia to knock out your gen-ed requirements quickly and affordably. Learn more
×

How the Team Works Together to Build Software  

Author: Devmountain Tutorials
what's covered
This section will explore how the roles work together to build a software product by discussing:
  1. SOFTWARE DEVELOPMENT TEAM MEMBERS
  2. WHAT TASKS DO THE DIFFERENT ROLES COMPLETE IN THE DEVELOPMENT PROCESS?

At Poodle Jumper we leverage the lean development methodology. 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.

hint
There are subtle differences between engineers and developers, but for the sake of this course you can think of them as the same.

Poodle Jumper on Different Devices

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!

1. SOFTWARE DEVELOPMENT 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

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 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 brainstorms 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 reviews the idea, identifies risks or issues, and defines 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 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 and the iOS Engineer adds the feature to the mobile app.

When the code is complete he 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.

big idea
Everyone on the team is responsible for the quality of the software. The various roles work together with checks and balances.

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.