Should a Developer & Tester Work in the Same Technology Stack?

As they say, Context is the King, I feel it is the King, Queen, Jack, and everything when it comes to technology and problem-solving.

Some questions to ask before deciding on the technology stack/tools for your test teams:

  • What is the current expertise of your team?
  • Are the developers available (or have enough time) to pair program with the testers?
  • Are the teams co-located?
  • What kind of tests are we going to script?
  • What’s the layer of these tests?
    • Web
    • API
    • DB
    • Unit Tests
    • Any other?
  • What’s the cost of onboarding your team to a new tech stack?
  • Will you get support in a (new) tech stack from somewhere?
  • Does the development tech stack provide you with additional tools & libraries which make scripting smooth?
  • What advantage does a new tech stack provide you?
    • Immediately
    • In Long Run

For Projects where test teams also contribute to Unit Tests, It makes perfect sense for both to be in the same tech stack.

However, if your test team only works on UI, API, DB, etc. Tests, then it is possible to even be on a different tech stack and achieve similar output.

The important thing would still be to think on the lines of your context and what fits best. Stop looking for Best Practices!

I found these interesting points in the book, Amplifying your Effectiveness by James Bach that you can ask before adopting any practice/approach?

  • What objectives are served by this practice? What pain will it resolve?
  • Are those important objectives? Important to whom?
  • In what way are those objectives already served by some other means?
  • What would a highly successful implementation of this practice be worth?
  • How much energy will be required to make it happen? Is there a simpler, cheaper solution?
  • What are the prerequisites for adopting this practice (e.g., special training, methods, or tools)?
  • How will this practice disturb or interact with existing practices or processes?
  • What problems or risks will this practice create?
  • How will we know that the practice is helping? How will we assure its quality?
  • If it isn’t helping, what will we do then?
  • How much of this practice will be enough, or too much? Can a little of it make a big impact?
  • What alternatives are there to this practice? What if we do nothing?

Let me know if you have more thoughts about it.

Open to discussion and suggestions.

Signing Off!

Rahul Parwal

Leave a Comment

Your email address will not be published. Required fields are marked *