3

Can a QA engineer be actually expected to design and/or architect production features (not just automation framework)?

Especially if he/she has 12+ years of experience and in a team where other engineers with similar background but with development background are expected to design/architect?

At the bare minimum, can he he expected to be part of design discussions and validate the testability of the design? What else should be the roles/responsibilities of such a vastly experienced QA engineer in an Agile project?

  • I am unclear on whether you are complaining about someone else or you want to design features yourself. People are individuals and length of experience does guarantee competence in every facet of the job. – David Cain Dec 7 '16 at 23:26
  • Hi @David, of course I am not going to design myself, and I am not complaining either. I just want to understand what should you expect for such an experienced QA engineer in Agile project. – Paddy Dec 8 '16 at 4:56
  • People have different tolerances for different kinds of responsibility. I could have a ton of experience in one technical niche that would not prepare me to feel comfortable making design decisions in another. I don't think Agile really factors into it, not everyone will feel comfortable doing everything. – David Cain Dec 8 '16 at 21:16
3

A good well experienced Quality Assurance engineer could certainly add value to design and architecture discussions. Their most valuable input is usually on testing, how to test, testability. They can also give good input and information on:

  • Usability and accessibility issues and approaches
  • What to test in the quadrants of unit, integrated, functional, load and exploratory areas.
  • How to arrange Unit through feature test using the agile testing triangle
  • Device, browser and version issues and factors to consider during development
  • What infrastructure will need to be build to support mobile testing
  • Physical devices that will be needed for testing

Generally they should be focused on all the different factors that contribute to high quality. Testing is just one of them. The one area I generally stay away from is deep technical details of the application side ('production features'). However this really depends on the company and who the engineers are and what knowledge they bring to the table.

Most important perhaps is that this should be an open discussion about who can, should and will contribute to what parts of development. I recommend you always approach it from the mindset of 'how can I contribute?' as opposed to "I know a lot of stuff and I'll tell ('advise') developers on what to do".

0

QA engineer is expected to do what his hiring manager hired him or her to do. Is such design participation mentioned in job description, or during hiring process?

I do not see how any professional QA engineer would refuse participating in such discussion. Maybe you have communication problem with this particular QA engineer? If so, it is better to reword your question as so, and ask it on workplace forum instead.

  • In Agile the boss shouldn't expect anything, the team should. The boss should just facilitate and not tell people what or how to work. I suggest you read a bit about Agile management and how it differs from traditional hierarchical management: less.works/less/management/index.html – Niels van Reijmersdal Dec 7 '16 at 18:58
  • 1
    Even agile team has a boss who hired them all. I replaced "boss" with "hiring manager". Or business manager. The person who decides how the money are spent. – Peter M. - stands for Monica Dec 7 '16 at 19:16
  • It doesn't change anything. Self-organising teams should not reflect their work to job-descriptions. People should not only do what they where hired to-do by a hiring manager. Someone who probably has no clue about software development anyways. It should reflect the needs that the team has instead. Personally I think also Agile teams should do the hiring themselves, with a bit of help from HR maybe. Transparent salaries like SE helps a lot with that, but that is a different topic :) – Niels van Reijmersdal Dec 7 '16 at 19:33
  • Also I think you miss-read the question, the question is more about "What should the role of 12+ years QA be person in an Agile team?" not "I don't want to-do this type of work, because it does not match my job description" as I think you interpreted it. But I also hate just listen to your boss and don't think for yourself kind of answers, sorry. – Niels van Reijmersdal Dec 7 '16 at 19:37
  • If OP's boss thinks it is OK for whatever reason what that QA Eng with 12+ years of experience is not expected to contribute and is fine with it, will opinions from self-proclaimed experts on forum like this change that? Of course you are free to love and hate whatever you want. – Peter M. - stands for Monica Dec 7 '16 at 20:13
0

Ask the team.

With good implemented Agile the team decides how to do the work, not just you, nor a manager. I would expect any team member that can program to be involved in most of not all major design decisions. So yes I would expect the QA engineer to help with the design and architecture and not just the automation frameworks.

Extreme programming has some usefull terms like TUBE to measure simplicty, the code should be Testable, Understandable, Browsable and Explainable. A senior QA can try to motivate the team to use practises like this to make better quality code.

Personally I am also a teacher of Clean Code practises, which are necessary to make the product Agile, not just the process. Read more about technical excellence it contains a lot of testing stuff. This is often overlooked in Agile teams who are doing mostly cargo cult Scrum.

In the end people should be doing stuff they are comfortable with and that adds the most value to the team. So again ask the team what they expect from the QA engineer and the QA engineer can explain what he/she has to offer with their experience.

Keep in mind that you should not focus to much in disciplines as a QA role. Agile teams should consists of T-shaped people who have broad software development skills with one or two specialisation that they teach to others. This to minimize the teams bus factor.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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