The role of a modern QE (2/4)

Shivam Gohel
5 min readSep 4, 2020

Glad to see you back! Have you given it a thought, different strategies to manage and build good products? Let’s deep dive!

To read the previous story in the series, click me.

What is Agile?

Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a “big bang” launch, an agile team delivers work in small, but consumable, increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.

Agile is not a model, its a process or an ideology. Set of rules or principles that should be followed to call the process you follow as Agile.

Here are the principles behind Agile Manifesto :

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • Business people and developers must work together daily throughout the project.
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Working software is the primary measure of progress.
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity — the art of maximizing the amount of work not done — is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Many people have molded these manifesto’s and tried to implement them into frameworks. The major one we will be talking about is Scrum.

What is Scrum?

The scrum framework is heuristic; it’s based on continuous learning and adjustment to fluctuating factors. It acknowledges that the team doesn’t know everything at the start of a project and will evolve through experience. Scrum is structured to help teams naturally adapt to changing conditions and user requirements, with re-prioritization built into the process and short release cycles so your team can constantly learn and improve.

Scrum vs Agile

  • Scrum is a framework for getting work done, where agile is a mindset.
  • You can’t really “go agile”, as it takes dedication from the whole team to change the way they think about delivering value to your customers. But you can use a framework like Scrum to help you start thinking that way and to practice building agile principles into your everyday communication and work.

Key Scrum Artifacts

  • Product Backlog, the list of all the user stories, tasks that are yet to be done through the whole Software development life cycle
  • Spring Backlog, the list of all the user stories, tasks that are yet to be done through that Sprint ( A Sprint is a time-period usually of 2–4 weeks where a compete (product) functionality is designed, developed, tested and released).
  • Product Increment, the sum of all backlogs, tasks completed during a fixed period of time (usually 3 months). There is always a PI (Product Increment) Planning before starting an increment (which is called PI Planning). All the user stories, tasks are move to Done, and the incomplete tasks are moved to next PI. The cycle continues.

Key Players

  • Scrum Master, are the champions for scrum within their teams. They get s*%& done. They coach teams, product owners, and the business on the scrum process, and look for ways to fine-tune their practice of it.
  • Product Owner, is the sole person responsible for managing the Product Backlog.
  • Project Manager, is the person who defines project scope, gather requirements, identify and assign resources, manages budget, allocates task, ensures quality, manage vendors, manages risk and much more.

Along with that, we have Research, Design, Development, Quality Assurance and many other teams that contribute to the project.

How does this Scrum Work? Build me a product, will ya?

  • The Scrum usually kicks off with building a backlog for the PI (Increment), usually done by talking with stakeholders, usually done by Product Owners.
  • Then, we move to the PI Planning phase, where all the backlog tickets are groomed, sorted and filtered out, by the core teams, Scrum Master, Project Manager & Product Owner.
  • During these phase, we also divide the tickets into different sprints, assign story-points (estimated score to determine the weight-age of the story) to each user story.
  • We then start with the Sprint Grooming, where we make sure everyone is on the same page, we understand what we are going to build during the next 2 weeks i.e next sprint.
  • The Sprint begins! Designing, Developing, Quality Assurance all take place during this time. Each department communicates with the progress with different teams on a daily basics via Daily Scrum or Standup.
  • During the sprint, the user stories for the next sprint are groomed so that the team is ready for the next sprint too!
  • Now it’s the end of the current sprint, the designing, development and testing of the feature developed is done, we perform sprint review, where demo of the products are recorded or uploaded for scrum master or product owners to review the task and perform a check if it matches what was expected.
  • Last but not the least, Sprint retrospective, is where the team comes together to document and discuss what worked and what didn’t work in a sprint, a project, people or relationships, tools, or even for certain ceremonies. The idea is to create a place where the team can focus on what went well and what needs to be improved for the next time, and less about what went wrong.
  • All the incomplete user-stories are flagged (with an appropriate reason), are moved to backlog again, and hence maybe taken again into sprint, until the underlying problem is resolved.

Wow. We have come a long way, to understanding what agile is, to understanding scrum and different phases associated with scrum and software development life cycle.

But where does QE fit into all these? It was very important for us to know the roadmap that is use to build products, to understand why QE plays a very important role in the Scrum process.

The next article elaborates the idea. See you there!

To read the next story in the series, click me.

Image Credits :

--

--

Shivam Gohel

I enable enterprises in launching high-quality products | M.S in Human Centered Design @ UMBC