11 Roles in a Software Development Team

Personal summary from this site:
https://alcor-bpo.com/10-key-roles-in-a-software-development-team-who-is-responsible-for-what/

In a nutshell:

PM, PO, BA, EM, SA, SD, UX/UI Designers, QA-E, SM, Testers, TL

  1. PM (Product Manager)
  2. PO (Product Owner)
  3. BA (Business Analyst)
  4. EM (Engineering Manager)
  5. SA (Software Architect)
  6. SD (Software Developers)
  7. UX/UI Designers
  8. QA Engineers
  9. SM (Scrum Masters)
  10. Testers
  11. TL (Team Lead / Tech Lead)

Related links:

More detailed:

  1. Product Manager (PM)
    • oversees the entire development process
    • steers it towards successful market entry
      Responsibilities
    • crafting and implementing strategies,
    • planning and monitoring product KPIs
      Usually
    • set the ambitious goal of achieving company targets through their products
    • keep a keen eye on competitors,
    • thoroughly analyze the market,
    • generate ideas, and manage pricing policies
    • control and plan tasks [NRP],
    • closely interact with
      • developers,
      • product owner,
      • marketing specialists,
      • sales reps, and
      • stakeholders
    • collaborate with practically everyone,
    • in charge of holding meetings and taking care of meeting facilitation [PA] [NRP]
    • accepting or rejecting ideas,
    • overseeing technical implementation [PA] [NRP], and
    • managing documentation and maintenance [NRP]
  2. Product Owner
    • accountable for maximizing the value of a product
      Need to
    • understand the client's specific needs [NRP]
    • define goals
    • create a cohesive vision for each member of a software development team
    • to wear many hats [NRP]
    • being involved in
      • business strategy,
      • product design,
      • market analysis, and
      • project management [NRP].
    • PO are often confused with project managers and business analysts.
      • BA: focus more on the technical aspects of the development process [NRP]
      • PO: are more into the profitability of the end product [SSC]
    • Primary responsibilities:
      • crafting a compelling product roadmap [NRP],
      • maintaining a backlog [NRP],
      • acting as a liaison between the development team and stakeholders [NRP],
      • evaluating feedback [NRP], and
      • ensuring maximum value to the end-users.
    • Role demands
      • strategic thinking [NRP],
      • practical communication skills [NRP], and
      • a deep understanding of business objectives and end-user needs [NRP]
    • to guide the team towards successfully creating a high-quality and market-aligned product.
  3. Business Analyst
    • study and gather all information about the product [NRP],
    • outline the target audience’s needs, and
    • act as a bonding agent between the market and engineers [SSC]
    • analyze users’ behavior/concerns [SSC]
    • compile product enhancement and development recommendations
    • As soon as the product is ready, BAs analyze
      • whether this product actually resolves market problems
      • its importance for end users.
  4. Engineering Manager
    • as conductors who work face-to-face with every team member
    • gain a deep understanding of the team’s performance dynamics
    • cultivate a trustworthy work environment where each team member feels empowered to
    • pitch ideas and share feedback openly.
    • optimize the software development team structure when new developers join the team [PA],
    • participate in their coaching
    • Armed with a solid technical background [PA]
    • juggle the responsibility of selecting the best engineering solutions for product realization
    • analyze potential challenges and avert them with the help of tech instruments
  5. Software Architect
    • takes the lead in orchestrating the internal arrangement of the software and
    • aligning it with product requirements and available resources
    • Grounded in business needs,
    • outline technical and functional instruments essential for product development
    • not only a planner but also hands-on in the development process
    • craft the very design of the system
    • should have a strategic vision
      • plan for software enhancement, extension, and adding new features
    • a master of optimization,
    • navigates the complexities to find the optimal technical solutions
  6. Software Developers [PL]
    • programmers
    • the wizards who bring the code to life
    • use various programming languages, frameworks, and libraries to make it possible
      3 ranks of coders due to their experience
    • Junior (1-3 years of experience),
    • Middle (3-5 years of experience),
    • Senior (7-10+ years of coding)
      specializations

      • full-stack developer
      • front-end developer
      • back-end developer
    • SD collaborates closely with other team members
      • designers,
      • testers,
      • product engineers, etc
  7. UX/UI Designers
    • User experience (UX) and user interface (UI)
    • may be distinct but harmoniously intertwined
    • demand a blend of creativity and technical prowess
      UX designers
    • ensure the browsing experience and features are accessible to users
    • meticulously analyze the target audience’s behavior
    • to sculpt an interface that guides users effortlessly through the product
      UI designers
    • the visual maestros
    • shape the layout and design elements
    • fonts, colors, forms, sounds, and animations are their instruments
    • crafting a visually appealing and intuitive interface
    • The UX/UI designer often wears both hats
  8. QA Engineer
    • the guardians of product quality
    • often enter users’ shoes to identify whether the software works properly and meets quality standards [NRP]
    • stay active throughout the entire development process
    • to see weaknesses for improvement [NRP]
    • to supervise the testing process [NRP]
    • QA automation engineers must
      • be aware of the testing theory and types
      • have coding skills [NRP]
    • What they do
      • test the software with the help of the script they have written,
      • automating the testing process
      • conduct some analytics
      • compile a bug report [NRP]
        • describing all actions that led to this or that bug
  9. Scrum Master
    • Following agile principles,
    • apply scrum ideas to guide the team
    • dynamic and multifaceted role
    • organizing daily stand-ups
    • gathering feedback
    • conducting one-to-ones
    • iron out the obstacles that hinder a team’s performance and progress
    • SM play a pivotal role in:
      • sprint planning,
      • determining durations, and
      • outlining tasks for each cycle
    • meticulously control the backlog during sprints,
      • utilizing boards like Trello or Jira
    • overview and analyze the previous sprint,
      • considering all pitfalls and successfully completed tasks.
    • defining the next sprint, and the cycle repeats
    • motivating the team
    • fostering communication among its members
  10. Testers
    • meticulously identifying potential software defects, bugs, or any issues that might vex an end-user
    • compile detailed reports with recommendations for improvements
    • reviewing test plans,
    • assessing and analyzing product specifications and requirements,
    • mapping out testing strategy
  11. Team Lead or Tech Lead [PA]
    • responsibilities include
      • reviewing the code,
      • enhancing the team’s technical skills through mentoring,
      • addressing practical problems that arise during the development stage.
      • prioritize the tasks,
      • maintain cross-team connections, and
      • orchestrate the overall working process
      • allocate the tasks reasonably
      • boost team motivation & morale,
      • give feedback, and
      • cover routine questions about vacations/days off