6

I'm managing the testing effort for a new software application as a test manager. In a meeting with the project manager, I recommend that requirements, designs, and code should undergo reviews. The project manager says, “That sounds like a lot of work. What is the benefit?”

What do you think is a good response that will answer the project manager’s question?

3
  • 1
    Does your manager understand that all software gets tested eventually - either by your team or by the customer? Sep 7, 2021 at 19:21
  • 3
    Why do you believe requirements, designs, and code should undergo reviews? That's what the PM is asking. Is the problem that you don't quite know how to verbalise the benefits you know those reviews have? (Although it seems like it would just be along the lines of "If we review X, then we're less likely to run into an issue with Y".) Or is the problem that you're recommending something without actually quite knowing why following that recommendation would be good? If so, your question would be less about what to say to the PM and more about why we should do testing.
    – NotThatGuy
    Sep 7, 2021 at 23:13
  • "What do you think.... " is a subjective. Is this good subjective? Is it possible to offer an authoritative answer?
    – MCW
    Sep 23, 2021 at 0:45

8 Answers 8

8

Modern testing is all about how you assist to "Accelerate the Achievement of Shippable Quality".

Do your reviews help with accelerating? What metrics do you use to create proof of that? Testing helps with reducing risks, but at what cost? What is the return on investment.

Overall I think the project managers question seems a very valid one. Wonder if there really is a quality problem. Be careful of introducing waterfall like gating in a current working process.

Instead of suggesting proces improvement that might have worked for you in the past, I would facilitate a risk analysis and together mitigate risks if needed.

Reads:

3
  • 1
    "What is the return on investment." Calculate the risk of failing without testing, subtract the risk of failing with testing, then multiply by the cost of a failure.
    – nick012000
    Sep 8, 2021 at 6:50
  • @nick012000 Nice addition. How do you figure out the cost of failure. Losing a client/user might be straightforward, but I feel reputation damage is often exaggerated. I tend to make an educated guess with a diverse group of people. Sep 8, 2021 at 11:47
  • @NielsvanReijmersday "How do you figure out the cost of failure." Depends on the system you're working on. If it's an e-commerce portal, it'd be the amount of money the e-commerce portal makes per hour times the hours of expected downtime caused by the failure. If it's a mission-critical system on an airplane... I'd joke about it being measured in lives (and it would be), but I expect that the more pertinent costs would probably be the fines by government regulators along with the lost sales.
    – nick012000
    Sep 8, 2021 at 14:08
7

What do you mean by "reviews" in this context? Many development teams do peer-reviews of code and analysis because they find that reviews improve productivity and quality. Many teams also make end-user reviews part of their Definition of Done for work. This is something the whole team should have an opinion on, not something you need to discuss just with the PM.

Review gates, meaning senior team-members or stakeholders get to approve all specifications in advance of testing, are a very different thing. Gated reviews are of limited value in my experience because the evidence of testing, peer-review and user acceptance is generally far more valuable than any formal up-front review process. Review gates do tend to generate a lot of work and can easily become counter-productive because they may limit the scope for late changes (limiting changes is often the reason given for introducing reviews in the first place).

It's a principle of good work management to eliminate or reduce the number of steps that a single work item has to go through. If your team doesn't have an established way of working already then why not try out different approaches and see how they play out in your environment.

1
  • 100% this. Great answer @nvogel. Sep 7, 2021 at 12:40
6

I think it is a very fair question for the PM to ask. Evaluating the proposed effort against its benefits, costs, and risks is proper leadership and management. If you have a proposal for testing, you ought to be able to articulate value. If you cannot, then do you truly understand the work?

Testing is risk mitigation, and PMs own the responsibility to determine the degree of appropriate risk mitigation. How much money do we spend to mitigate a probabilistic outcome of varying degrees of impact?

With quality, you can indefinitely spend money and time inspecting and reinspecting and move the quality needle very little, if at all, chasing some sense of perfection that we cannot reasonably achieve. So there is a line to be drawn in mitigating quality risk where enough is enough and the rest we go at risk.

3

I'm not sure that there is a good answer to the manager's question. In some contexts, having formal gate reviews may be beneficial. However, reviews tend to be after-the-fact inspections, which aren't the best way to build quality into a product.

I'd recommend rethinking what you mean by "review". For example, the Three Amigos can help you during requirements engineering and planning activities to make sure you're getting all of the perspectives on a piece of work. Instead of having an after-the-fact review, all of the key people are collaboratively doing the work together. Similarly, using pair or mob programming to develop the software may reduce the need for any kind of formal code review.

Specifically, as a test manager, I wouldn't want to enforce reviews. Instead, I'd want the people who will be testing the system to be involved, as collaborators, from the beginning of the effort all the way through the end. I'd also want the other team members - developers, designers, project managers, product managers, business analysts, and so on - to be involved and invested from the start all the way through the end of the testing process to make sure that issues that do come up in later testing can be effectively triaged and resolved.

0

Possible arguments:

  • It is easier to fix issues if they are found earlier in the development process and reviews may draw out these issues
  • Reviews could potentially reduce the need for re-work, which is a form of waste
  • By finding issues earlier in the process you can help to de-risk the later stages of the work
  • Reviews are a form of knowledge sharing
0

The benefits of reviews for requirements, designs, and code

  • less bugs
  • assumptions are reduced
  • code can be easier to change
  • more time to write better tests
  • requirements are better understood
  • common design mistakes can be avoided
  • software that meets more requirements correctly
  • delivery pace can be maintained and not slow down

The biggest single advantage - it helps address the hubris of developers who make erroneous assumptions.

Why is it hard?
Why is it questionned ?

You have to slow down working processes with more reviews and testing and discussion.... in order to speed up or maintain delivery speed over time. Slowing down today for speed tomorrow, next week and next month takes maturity and vision.

0

It sounds like the PM is asking you for a cost/benefit analysis. Tests and reviews slow down the process of producing software (at least in the short term), which means they cost money. If you want to convince the PM that they're worth implementing you need to show that the expected value of doing them outweighs that cost.

You don't need exact figures, but they do need to be accurate enough to be convincing. Try to get some estimates of how much time and money is currently spent fixing things that are broken in the codebase, including the lost value that comes from developers not being able to deliver new functionality to schedule. If you don't have much of that data available (e.g. because it's a new product), try to find some public figures relevant to your industry.

0

Offhand ... "most likely, the PM already knows the answer." But, (s)he knows that your suggestions need more development: (s)he couldn't take it before other business stakeholders. Fair enough.

For instance: "I recommend that requirements, designs, and code should undergo reviews." is actually quite generic. The same could be said of "every software project everywhere."

Quite seriously, first perhaps you should invite the PM to suggest how your role might be of greater benefit to him/her. Or, to suggest how your initial proposal might be improved (as (s)he sees it).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.