Lesson 4 - Activity 1 - What can we learn about roles from job listings?

Time: 15 Minutes

Introduction: In this lesson, we briefly covered some of the common roles in software development teams looking at the common activities they carry out and their necessary skills. Now it’s your turn to dig into these roles a bit deeper and see what you can discover.

Purpose: Having an awareness of roles that exist in software development teams is necessary to help you understand how software is made and know who you need to speak to depending on a given situation. This activity is designed to help you understand these roles more deeply.

Activity:

  1. Pick at least one of the roles covered in the lesson
  2. Search for related job listings around that role.
  3. Make notes about the activities and skills the role requires and compare those to what we covered in the lesson.
  4. Share your findings on this thread to help others learn more about these roles and compare your findings.

I picked the Coach role for this exercise and here is what I found:

Activities:
• Work within a delivery team to provide mentoring of agile technical practices
• Guide and teach others using pair programming for:
○ Test driven development
○ Behavior driven development
○ Continuous Integration/Continuous Delivery
○ Automated testing
• Teach architectural principles through the process of emergent design
• Participate in team ceremonies as both a team member and mentor
• Provide observations and suggestions for improvement
• Work with other team mentors and coaches to collaborate on maturing the team and organization agile practices
• Assess and report outcomes to customers and management team.
• Help prepare teams to apply agile methodology in other industries.
• Develop a plan to prepare teams to learn agile methodology and train staff.
• Provide the leadership and knowledge needed in order to effectively expand or introduce agile methodology.

Skills:

• Expert in one or more of the following languages and practices: Java &/or C#.NET, JavaScript, Android, iOS
• Strong experience in agile principles and technical best practices
• Strong automated testing skills
• Experience with the automated build process, unit testing and source code analysis tools
• Knowledge of Continuous Integration/Continuous Development
• Ability to assess and coach team to optimal agility
• Team oriented and possess strong interpersonal communication skills
• Comfortable working in a variety of social and business environments and multiple technology stacks
• Have excellent time management skills
• Capable of making quick and effective decisions
• Be a strong leader who is capable of training others

So, this is a long list of activities and skills required for some job postings I found online. What seems to stand out from these is that this kind of role requires knowledge from a wide range of technologies. I do not think that deep understanding is required but at least some knowledge needs to be present to take the role.

2 Likes

I had a look at some advertised roles for a “Scrum Master” and here is one I found:

Essential Skills And Experience

  • Solid and demonstrable commercial experience of being a Scrum Master (Certified ideally) in fast paced, Software (SaaS) house environment.
  • Vast experience of Agile (Scrum and KANBAN) processes - depth and breadth of experience across the full SDLC.
  • The ideal candidate will be well versed in working with the customer, internal stakeholders, and other Scrum Masters to identify, prioritise, and improve delivery of the roadmap, capabilities, and epics.
  • Good coaching and mentoring, including man management and leadership skills are required for this role.
  • Drive Agile methodology throughout the project / teams - ensuring the development teams are practising the core agile principles of collaboration, prioritisation, team accountability and visibility.
  • Experience leading multi cross functional teams made up of QA, Test, Developers, Architects BA, Product Owners between geographically dispersed locations within the UK.
  • Manage Product back Log and Sprint Backlog.

Desirable Skills

  • Any Scrum certifications will be highly desirable – Certified Scrum Master (CSM) or Certified Scrum Practitioner (CSP) / Professional Scrum Master (PSM I or ii) / SAFe 4 or 5 etc.

The skills listed for this role relate to alot of the skills listed in the lesson:

  • Leadership
  • Coaching
  • Creative
  • Good listeners and Communicators
  • Good at planning
2 Likes

I had a look at some advertised roles for a ‘Tester’ and here is an example of one:

Activities

  • Review functional and technical documentation
  • Prepare test estimations against user stories and tasks
  • Derive and prepare test data
  • Writing and Execution of Manual and Automated test scripts
  • Fault logging, escalation and monitoring
  • Prepare test plans, test specifications, test conditions & scripts and summary reports
  • Regression testing and User Acceptance Testing / monitoring

Skills

  • ISEB Foundation Certificate in Software Testing (Or equivalent)
  • Manual/Exploratory Testing & Automation Testing
  • Functional Testing & Regression Testing
  • Excellent communication skills (Will be working with various teams)
  • Jira for Defects & Project Management/Time Tracking
  • TestRail for Test Case Scripting

Desirable skills

  • Interest in working in the gambling/iGaming industry
  • Some experience in working in an Agile methodology
  • Some knowledge of automation testing tools

The skills listed for this role relate to a lot of skills in the lesson:

  • Good technical knowledge
  • Creative
  • Excellent listener and communicator
  • Fast learner
  • Critical and lateral thinking
1 Like

I chose Scrum Master, here is what I discovered about the roles requirements:

• Responsible for guiding the development of an agile team into an effective delivery unit with a sustainable cadence
• Responsible for ensuring the teams process evolves within organizational guidelines and standards of practice
• Must be able to nurture self-organizing, high performing teams through servant leadership and mentoring
• Facilitate project team meetings, project road-mapping sessions, gather feedback by presenting to all levels of leadership
• Encourage, support, and guide continuous improvement of the team, its products and processes
• Excellent communicator, able to gain the respect of the team, external stakeholders, and management
• Resolve conflict through arbitration, negotiation, reasoned discussion, or escalation
• Must be willing and able to identify problems, impediments, dependencies, and other team dysfunctions, and then facilitate quick resolution
• Facilitate agile activities and meetings, including sprint planning, retrospectives and sprint reviews
• Assist the product owner with keeping the backlog groomed
• Ensure cross-team coordination
• Reach out to the larger company network for impediment removal
• Maintain relevant metrics that provide organizational visibility and help the team see how they are doing

The skills discussed in the lesson were spot on for this role, you will need a bit of project management, coaching and leadership to succeed.

I chose Scrum Master because it was the role that was suggested to be the most evolving and potentially different by organisation. It also enabled me to look at Project Manager and Coach a little. The keys things I took from it were the differences to a PM or a Coach, which derive from the Agile methods. The importance on coaching/education of the Agile approach, not just within the team but stakeholders and those the team interacts with. Also the responsibility to keeping things running smoothly, whether that be facilitating meetings such as standups and retrospectives or trying to remove blockers impacting the team.

For this activity, I looked up a job posting for a QA Lead, and it appears it matches almost 100% with what was described in the course, with certain additional responsibilities added in.
The posting is for a QA Lead at Walter Code. You can find it here, as long as the link remains active - https://waltercode.com/jobs/qa-lead/
Basically, the posting covers almost all the responsibilities stated in the course - developing testing strategies, creating test scenarios, cooperating with developers, being up-to-date with new technologies. As required skills, the posting has the standard corporate blurb that the applicant should have strong organizational skills, to be able to work in a fast-paced environment, problem solving skills, teamwork skills, fast learning etc.
The major differences is that it seems to state certain duties that I would ascribe more to the roles of a scrum master and a coach, since the described activities include organizing meeting, teaching others and such.

Test engineers/QA testers/QC testers are responsible for:

  • To read all the documents and understand what needs to be tested.
  • Based on the information procured in the above step decide how it is to be tested.
  • Inform the test lead about what all resources will be required for software testing.
  • Develop test cases and prioritize testing activities.
  • Execute all the test case and report defects, define severity and priority for each defect.
  • Carry out regression testing every time when changes are made to the code to fix defects.

For the exercise, I pick the tester role on a software development

Qualifications, Experience, and Skills

Proven work experience in software quality assurance.
Strong knowledge of software QA methodologies, tools, and processes.
Experience in writing clear, concise, and comprehensive test plans and test cases.
Solid knowledge of SQL and scripting.
Experience working in an Agile/Scrum development process.

The Role

Review requirements, specifications, and technical design documents to provide timely and meaningful feedback.
Be an active member of Agile/Scrum development meetings.
Create detailed, comprehensive, and well-structured test plans and test cases.
Identify, record, document thoroughly, and track bugs.
Perform thorough regression testing.
Stay up-to-date with new testing tools and test strategies.
Assisting 3rd line support personnel in issue resolution/bug identification as and when the need arises

Now in comparison with the course…
Test products to discover information
Support shared understanding
Contribute towards delivery
Fast learning
Critical and later thinking
Creativity
Excellent comunication

I picked role of Tester and this is what I found:
Key Responsibilities:
• Continuously learn new products from our portfolio
• Create and execute comprehensive test plans based on functional coverage
• Convert end-to-end user scenarios to test cases
• Execute defined test cases to uncover bugs and regression issuesReview and analyze business requirements and functional specifications
• Perform various test types at different levels
• Prepare test related documentation such as Test Strategy, Test Reports
• Use Jira to report and track progress
• Collaborate with the team to deliver high-quality product
• Take ownership of testing tasks and follow up until resolution
• Write and run tests on GraphQL API
• Write automated tests for mobile and web applications
• Investigate and report results
Candidate Requirements:
• 1+ year as a full-time, hands-on manual tester
• A genuine passion for quality and desire to grow and become a great global tester
• Familiar with the manual testing concepts, terms, and definitions
• Good proficiency in the English language3+ Years of experience in software testing
• Experienced in web, mobile and API testing
• Ability to debate technical problems
• Good understanding of programming concepts
• Hands-on experience with Automation Testing using Java
• Nice to have: GraphQL or Rest API testing experience
• Nice to have: Previous experience in mobile automation testing
Skill that are mentioned in the course and in my research are:

  1. Good Technical knowledge
  2. Learning
  3. Testing products
  4. Communication skills