Testing in Agile Part 2 – Agile Is About People

If your Agile implementation is not about people, you’ve missed the boat! The most profound impact to becoming more Agile is happier teams!

Agile manifesto Value #1:

* Individuals and interactions over processes and tools

Words like these do not show up in Waterfall or RUP SDLC process descriptions.

Agile cannot get more basic than this: people, the team members, you, are more important than the process documents, best practices or any standard operating procedures. People sitting in a room together, talking, hashing out an issue, live, beats out any project management tool every time.

At the core of the Agile movement are a few ideals that often get clouded by structure, the need-for-speed or just taken for granted. First, technology people and knowledge workers have to be happier at their jobs for long term productivity and higher quality work output. The hangover and subsequent bust from the dot-com boom have done more to spread Agile ideas than the cost savings aspects. This has been a grass roots movement.

As Ron Jeffries says in “Extreme programming explained,” XP is:

  • An attempt to reconcile humanity and productivity
  • A mechanism for social change

These are not casual statements. They are not meant to be taken lightly.

Trust

It is difficult to find a valuable discussion of Agile, Scrum or XP that does not highlight trust, empowerment, courage, or respect. In my opinion, a groundbreaking aspect of the Agile/XP/Scrum movement is Chickens and Pigs.

This is an oft repeated story attributed to Ken Schwaber concerning chickens and pigs. Here is goes:

A chicken and a pig are together when the chicken says, “Let’s start a restaurant!”
The pig thinks it over and says, “What would we call this restaurant?”
The chicken says, “Ham n’ Eggs!”
The pig says, “No thanks, I’d be committed, but you’d only be involved!”
SCRUMGUIDE — By Ken Schwaber, May, 2009

In terms of Scrum, the Team members, the doers are called “pigs.” They have skin in the game. Management, sales-people involved in product delivery but who do not produce it, are “chickens.” In Scrum, chickens cannot tell “pigs” how to do their work.

In Agile, management and sales teams (chickens) “back off” from solely determining code delivery since they do not write the codes. The people developing the code (pigs) know how fast or slow ultimate software delivery wiill be – and they should be driving these schedules and milestones. The doers (pigs) and the business balance delivering value with working at a sustainable pace. The pigs are not dominated by chickens. For many years, technology teams have complained about this domination which destroys teamwork. This is where trust is proven or broken.

This turns out to be a major stumbling block for many companies attempting to say they are Agile. Often, management and sales still want to tell development teams how long their work should take, most often without understanding the complexity. This legacy notion of top down management direction is not sustainable.

This refocus of development teams (pigs) influencing schedule and level of effort stops Taylorism (production line management theory – where management dictates everything) dead in its tracks. Agile implies that we hire smart, creative, effective people (pigs) – even experts! Let the pigs tell the managers (chickens) how long it will take to complete their work. Let the doers be creative and learn about the best way to finish their tasks. Let the pigs find out what is a sustainable pace rather the chickens imposing one on them.

Working at a sustainable pace will eliminate or reduce one of the highest job dissatisfaction: overtime or even worse, weekend work! Let us, the people actually doing the work, commit our feature development to delivery dates. Estimating, scoping, planning “poker” – this is all bottom up, not top-down.

It’s pigs and chickens working together- not one dominating the other! Agile empowers people!

Where is my desk?

With such a high focus on easy communication, Agile development teams need to sit together, preferably in a bullpen or at least be together to talk freely, every day to get the full benefits of Agile; this must include “the business” — a customer or customer representative. And these “customers” need to participate in all facets of development; just participating in the daily scrum is not enough. It’s sitting together, working out problems together, talking to each other, asking each other questions with no delay or dead time waiting for email responses or the next weekly meeting. Communication as a constraint in today’s world is intolerable and frustrating.

Whatever your implementation of practices, keep in mind: communication, communication and more communication. Focus on resolving communication problems, easy communication, transparent communication, eliminate lack of response (close the loop) and feelings of being ignored or dominated. Teams needs to respect each others’ work and treat each other as humans. Simple as this seems, adversarial team members, people who never meet, do not know each other or finger-point and blame can not make good products! Team members getting to know each other, sitting together with open communication is a major step toward happier teams making better products. This sounds nice but in a world of remote teams, remote offices, home offices and too-busy multi-taskers, software development is often de-humanized. This needs to stop.

Most books you find on Agile development include a chapter on how you sit, where you sit — looking out a window or facing the center. Sitting together for pair programming, team building is very important, not only to just Agile: focusing on getting along better will make everyone in the team stronger! The bottom line: sitting together fosters feedback and open communication.

The work environment has always been a key ingredient in job satisfaction.

If the number of meetings you attend, the hours spent in meetings, has not massively decreased, you have missed the Agile boat. Death by meeting is SO last century. Enough said.

Teams full of happy people…

Empowerment — the idea of self-forming, self-directing teams — is the foundation of Agile software development. What works for one team may not work for another, even if the teams sit next to each other and work on the same product. Each team has its own individual team dynamic; often times, creativity and problem solving skills differ from group to group. Teams build skills and when they find something that works, they can share it with other teams.

The extension of the Chickens and Pigs discussion is that teams commit to delivery. The whole team commits or no one commits. Everyone is responsible for quality – no finger pointing.

Multitasking is a failed notion – focus on one thing at a time! A quick web search on new research about how the brain works reveals multitasking diminishes capability and productivity! Agile focuses on a narrow scope which makes teams more productive and happier.

If continuous process improvements are not coming out of your retrospectives, you’re breaking one of the primary tenants of Agile. No one gets it right the first time – learn by doing! Make it better over time. As the team grows and skills grow – optimize and evolve your processes.

Key principles of Agile:

* Teams need to constantly reflect on how to improve their processes and methods.

Retrospectives not only demonstrate finished functionality, but your group must also talk about lessons learned, how to make work more efficient for future sprints, how to reduce stress, and what new tools might help future development. Hopefully, you have put an end to useless postmortems.

Summary

We all want to be happy in our jobs. All managers want employee retention. You can’t get quality products from burned-out, stressed, distrustful, frustrated or angry people. In software development, en masse, we finally realized this. Agile development concepts have been a significant step forward. For many organizations, Agile ideas and methods have been a complete remedy for companies who’ve struggled with bad team dynamics.

When thinking about Agile, remember…. Agile does not mean faster. Agile is about people.

Michael Hackett
Michael is a co-founder of LogiGear Corporation, and has over two decades of experience in software engineering in banking, securities, healthcare and consumer electronics. Michael is a Certified Scrum Master and has co-authored two books on software testing. Testing Applications on the Web: Test Planning for Mobile and Internet-Based Systems (Wiley, 2nd ed. 2003), and Global Software Test Automation (Happy About Publishing, 2006). He is a founding member of the Board of Advisors at the University of California Berkeley Extension and has taught for the Certificate in Software Quality Engineering and Management at the University of California Santa Cruz Extension. As a member of IEEE, his training courses have brought Silicon Valley testing expertise to over 16 countries. Michael holds a Bachelor of Science in Engineering from Carnegie Mellon University.

The Related Post

Agile stresses instant and easy communication and is built on teams working efficiently together. This necessitates an open work space environment. A characteristic of an effective team is a high level of collaboration, making the physical work environment an important factor. Cubicles should be eliminated in favor of an open work space in an effort ...
LogiGear Magazine – November 2010
Team collaboration is essential for testing embedded systems. Developing software for an embedded system often carries more risk than for general purpose computers, so testing is extremely critical. However, there still has to be a good balance between time spent on testing and time spent on development to keep the project on track. As consultants ...
Build the right test platform including infrastructure, virtual lab and process. Testing embedded software is both similar and dissimilar to application software testing. The first eye-catching thing is that embedded software is significantly less visible to the end user. User interfaces are limited; there may be a console-based text menu, a simple command line interface, ...
This is part 1 of a 2-part series. The 1st part will discuss the culture and mindset around Agile, and how Agile Quadrants are used. Part 2 will discuss how to use the Agile Quadrant, the significance of Automation in Agile Quadrants and how to use Agile Quadrants to overcome Quality Assurance headaches. Organizations aspire ...
SKILLS Agile teams need training! One of the missing links in the implementation of Agile development methods is the lack of training for teams. I noticed in our recent survey on Agile that only 47% of the respondents answered “Yes” that they had been trained in the Agile development process, with over half responding “No.” ...
Agile Automation Michael Hackett – Senior Vice President – LogiGear Corporation Michael Hackett Michael is a co-founder of LogiGear Corporation, and has over two decades of experience in software engineering in banking, securities, healthcare and consumer electronics. Michael is a Certified Scrum Master and has co-authored two books on software testing. Testing Applications on the ...
The sprint is almost over; the burn-down chart has not budged. The test team sits around waiting. They hear about all kinds of issues, obstacles and impediments at the daily stand-up but there is no code to test. Closing in on the demo and sprint review… then at Wednesday’s stand up: the heroes arrive and ...
This is part 2 of a 2-part article series; part 1 was featured in the September 2020 issue of the LogiGear Magazine, and you can check it out here. Part 1 discussed the mindset required for Agile, as well as explored the various quadrants of the Agile Testing Quadrants model. Part 2 will delve into ...
Continuous Improvement and Short Feedback loops (think: Test Driven Development; Sprint Demo/Review; …) are at the core of any Agile process. Without a structured improvement process it can be difficult for teams to improve and without improvement we stagnate. For methods like Scrum, XP and et al., Retrospectives are that tool.
Testing in Agile Part 1 – INTRODUCTION TO AGILE In case you missed the first part of the series in our last magazine issue from Michael Hackett, Agile’s impact on software development teams is huge. For test teams it can be even more pronounced — and good, especially if your existing projects have been problematic.
Over the years many Agile proponents have come out strongly against offshoring some of the development team, and in particular against having a remote testing team. We made use of not one, but two separate outsourcing providers located in two distant locations. While we had many challenges, what we found was that by starting with ...

One thought on “Testing in Agile Part 2 – Agile Is About People

  1. kanban in Lean is more aecuratcly described as a tool or technique rather than an overall process or system. So it’s kind of confusing to compare kanban with Scrum.I like the idea of focusing on improving rather than being Agile, Lean, etc.

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe