How an agile tester can contribute towards design and development of software application in an agile team.
There is always a question what are the task a tester should do during design and development in an Agile team. A simple answer, we all know, which is , during this time tester is busy designing test scenarios, test cases, preparing test automation etc.
But my experiences says an agile tester can also contribute towards proper design and development.
Here are my findings:
Contribution towards Design:
When team has the story to work on, at first developer does the low level design. Now either the whole team does the design together in a common room or a pair or a single developer does the design. If a single or pair of developer does the design then they should go through and explain their design to the whole team. In either case the tester should present in this meeting. In this discussion, tester will gain not only the system design knowledge but he/she can forward his already created test scenarios or think about scenarios and discuss within the team. This activity will help the developer to correct the design if necessary to avoid any occurrence of bug.
In my past experiences, it happened to me. During one of our design review meeting, when the developer was explaining his design, I saw one of my scenario is not getting covered then I asked what will happen in such cases. When my team understood the scenario they modified the design. This design modification leads proper implementation, which not only saves the time of finding the bug, reporting , fixing and retesting but at the end it improves the deliverable quality.
Now you might have a question if the tester is not well-versed with the development technology how can he understand the technical discussion, my experience says, it is not required to be well versed with the development technology, if the tester is attending the design review meeting regularly, they can definitely be able to understand the discussion.
Contribution towards Development:
After having the test scenarios, agile tester should explain his scenarios to the team. This activity helps the team to understand or visualize the functionality in a better way.
This leads to proper implementation and a bug free deliverable.
During this discussion team can also identifies or improve or add some more scenarios which helps the tester to understand the system behavior.