Keynote from Agile testing days in Berlin - Jose introduces Stuart as an old dog – the father of STQB.
Stuart starts with the well know Pig and Chicken story:
- Chicken - Why don’t we open a restaurant
- Pig - Mmmm sounds fun,, what shall we call it?
- Chicken – Ham ‘n’ eggs
- Pig - No thanks id be committed you’d only be involved
Pigs are committed in agile chickens are stakeholders
Stuart goes onto the agile manifesto and highlight the part he is going to talk about ‘individuals and interactions’
What’s special about an agile team?
- Self organising
- Communal ownership
- Typically any two can make a change to the product, process, tests etc
Stuart questions the following common statements about agile teams.
- Highly motivated
- Highly skilled – Stuart states that they should be the same as with traditional projects
- Cross functional
Stuart shows an agile team Skills matrix to illustrate the make up of a team and where the weaknesses lie
Stuart defines the middle 2 skills (test & DB) as deep long term skills. The others are shallow. i.e. Java is shallow if you understand programming. He adds coding to the grid as a deep skill to underpin the Java example
Other deep skills that could be added:
- planning
- software engineering
- technical
- test
shallow skills that can be learned at a project level
- Specific language
- Specific db
- domain knowledge
Skills needed by an agile team
- Development – Design, programming, build/integration, testing technical
- Management – planning, enforce process, conflict management
- Customer / User – requirements, acceptance test, business domain knowledge, user manual
Plus very importantly - the ability to communicate and collaborate.
Structure
Specialist skills from outside the team
Can’t duplicate skills in every team e.g. security testing
- Test strategy selection – Stuart says this should be defined at company level
- Specialist testing
- Test tools
- Environment set-up maintenance
- Test process improvement
Specialist testing skills at a team level should be the same as those on a traditional team (design, exploratory, performance, usability, tools, TDD, system acceptance)
Roles that fulfil the required skills
- Management – scrum master, lead engineer
- Development – Designer, programmer tester
- Customer / user – Business analyst, Test
Typical team is 7 people – Scrum master, 2 testers, 4 developers and a BA
Would scrum master and 7 developers work? Yes, the developers could fulfil the role of BA and Tester
Would Scrum Master 5 testers and 2 BAs work? No
Transition to agile often starts with 4 dev, 2 testers a BA and Project manager. PM loses his role, needs to fulfil a different role as scrum master.
Mythical agile team member
Cross functional – skilled across the board (programming, testing analysis)
Stuart doesn’t believe this person exists but multi-skilled people do and is a positive. We should strive for Cross functional and be happy with multi-skilled.
Scrum team capabilities
Do we need better than average people? Stuart doesn’t believe so – where will they all come from?
On start-up its suggested that 2 or 3 (at least some) are both competent and experienced in agile.
on any team you will have a mixture of experience and capability
Self optimising
agile teams perform self optimisation
- Identify hidden skills
- Help each other
- Allow team to grow skills
- Hide the nice but dim from the management – [not sure I agree]
- do not tolerate non-team players
No-one can hide from the other pigs on an agile team. – unlike traditional teams.
Structure of team
- Not hierarchical
- Pair programming – driver and navigator. better to have the expert navigating the learner. [if you use pairing for learning purposes]
- Mentor / Apprentice – BA/Tester, Dev/Tester, BA/Developer, Tester/Developer
- Natural or forced rotation – Stuart doesn’t think you should force rotation
Injecting skills into your agile team
- Injectable skills – a mix of methods and tools capability
- Get it through – new staff, contractor, training , coaching
- Team should be empowered to organise this for themselves
Injecting skills can be self medicating [I think this is so important]
Tester core skills
- Test skills
- soft skills
- IT skills
- Domain Knowledge
Motivating individuals is not about pay
Calculating motivating potential score
- Skill variety
- Task identity
- Task significance
- Autonomy
- Feedback
Stuart highlights that the individual jobs of a tester can be quite de-motivating test reporting, black box testing etc
if you combine them and give the tester a different title they are happy! [Isn’t that obvious?]
[Sorry I lost the thread of what Stuart was talking about on scoring and categorising – mainly because I don’t agree with him]
People decide the process
- The agile manifesto supports individuals and interactions
- Higher skills are needed / should be learned
- Higher motivation comes with higher skills and responsibility
How does it feel to be in an agile team – it feels good!