Reflections on being agile, before Agile was a thing

In this post I pay tribute to the achievements of an extraordinary team and reflect on what our experience, years before Scrum, XP and the Agile Manifesto says about the state of Agile today…

Like many before it, this particular project had all the potential to be a disaster. In 1993 document driven waterfall was the default approach with Big Design Up Front and all the testing at the end. And yet it was a great success, delivering a suite of innovative application software, on time with amazing quality and to industry acclaim. So why did it succeed when so many were failing? What were we doing differently?

Back then, we didn’t have a team board or daily stand-ups. We sat together and would talk often about what we were doing, how it was going and if we were struggling. When necessary we would pair up to solve problems. We were all fanatical about C/C++ and Object Oriented Analysis & Design. Ideas were white-boarded as a team and we would take turns to study and present design patterns to each other.

There was no build or test automation. We were just one small team and would manually pull each other’s changes as soon as they were committed, incorporating them into our individual development and testing. SourceSafe didn’t support branches, forcing us all to work on the mainline/trunk. Consequently, bugs and broken builds were quickly spotted, communicated and fixed as a matter of pride (or shame!). We had no testers and in addition to testing each other’s code as we went, we would all test prior to a release.

We didn’t have a backlog or use User Stories. Thankfully we were able to collaborate directly with a first class domain expert and resident user of the tools we were creating. We could discuss and understand the requirements with the minimum of fuss and documentation. Our project plans were kept simple, mostly a hand sketched outline on one side of A4. Just sufficient to set our stakeholder’s expectations, but leaving us enough room for manoeuvre. Beneath this we took a prototyping approach, exploring technical risks and enabling our domain expert to validate new functionality quickly. Because of the team’s discipline and technical skill, these ‘prototypes’ were of shippable quality.

We didn’t have time-boxed iterations or retrospectives. If people thought of better ways of doing things we would discuss them. Every Friday we would have lunch at the local pub and reflect on our week and chat about whatever. People would be gently ‘ribbed’ for their screw-ups and we would celebrate our achievements.

We were not a self-organising team. We were directed by our Team Leader, an exceptional individual with considerable technical ability. This enabled him to assemble a highly competent team and provide a strong architectural vision. Technical excellence aside, he nurtured a culture of curiosity, commitment and openness. He led by example, sharing his knowledge and giving us courage that the task was achievable. Whilst doing much of the ‘heavy lifting’ he also shielded us from the nonsense surrounding the team, in what was a very mixed up organisation.

It was challenging work but this experience showed me that software development could be successful, satisfying and at times even fun. With hindsight, the key factors contributing to our success are clearly visible and familiar:

  • Customer collaboration enabling us to “build the right thing”
  • Engineering discipline and excellence enabling us to “build the thing right”
  • Incremental delivery enabling better risk management and stakeholder engagement
  • Great leadership nurturing a team culture of openness, collaboration and learning

So what can this experience tell us about the state of modern Agile? Out of curiosity, I tried to mark up Christopher Webb’s epic “Agile Landscape v3” (shown above) with the practices that I believe contributed to our success, and that we would have identified with at the time. The only one I could find, before giving up with a headache, was “Onsite Customer”. The behaviours described in my story, as well as the four key success factors, aren’t represented on ‘the landscape’ anywhere. I’m not saying we wouldn’t have benefited from many of the practices illustrated, just that we didn’t actually need any of them to find an effective and more agile way of working.

Over the years, the mind boggling proliferation of Agile methods and practices has prompted many to try and bring people’s attention back to simple principles and values. This reflection, on a team being agile long before it even had a name, underlines the importance of keeping sight of what truly matters.

Better ways and words for giving “Feedback”

Feedback is immensely helpful for our individual growth and team performance. And yet giving feedback can be a challenge. How can we make it more likely that our feedback will be well received and have a positive outcome?

Being able to give and receive feedback creates a huge opportunity for us, and yet for many people even the term “feedback” is loaded with negativity. Lets see if we can find some better ideas and words to help us with this important skill.

Psychologist Marshall B. Rosenberg, creator of Nonviolent Communication (or NVC) proposed that when we communicate, we are really only saying one of two things: “Thank you” or “Please”. In other words we are either expressing gratitude or making a request. How could this idea help us with giving feedback?

marshall-rosenberg
Dr Rosenberg role-playing scenarios to demonstrate the application of NVC

“All people ever say is THANK YOU (a celebration of life) and PLEASE (an opportunity to make life more wonderful)” Marshall B. Rosenberg PhD.

Thinking of “positive feedback” as giving thanks and “negative feedback” as a request to behave in a different way, gives feedback new meaning and opens up a new vocabulary. A compassionate request providing an actionable alternative way of being has the potential to be far more valuable to someone than simply pointing out their limitations!

Say Thank You often

Expressing appreciation isn’t difficult. It is just a case of being clear about what it is someone is doing and why this is helpful. Here is one simple way of achieving this:

recognition
A commendation from George to Sunil thanking him for his openness

Developing a sense of gratitude is good for us, mentally and even physically. Sharing appreciations publicly not only celebrates our colleagues. It encourages others to do likewise and helps to create an open feedback culture within the team.

Saying Please?

Asking someone to behave differently takes more care, however it needn’t be that difficult either. NVC gives us a more positive way to frame our requests that is more likely to receive a compassionate response from the recipient. Consider the following example expressed in a form inspired by the NVC request:

recommendation
A recommendation from Jane, suggesting how a teammate could meet her need for equality and respect

Lets examine the request a little more closely by breaking down each part:

I am noticing…

Jane identifies her teammate’s behaviour i.e. interrupting Pauline and Sunil and gives examples of when this occurs e.g. in their planning and design meetings. These observations are expressed in a way that is without judgement or diagnosis, while the examples provide clarity.

Starting with observations of just what the person is saying and doing is important. Often we form an opinion of someone, but when we try to identify the actual behaviours that led us to this diagnosis, they prove elusive. If you find you are struggling to identify the person’s behaviours i.e. just what they are saying and doing, then maybe you need to wait, observe more closely and reevaluate the basis for your request.

The greatest benefit comes from identifying repeated behaviours that are having the most significant and detrimental impact on the individual and or the team.

This makes me feel…

In the example, Jane is feeling frustrated and anxious because her need for respect and equality for others isn’t being met by her teammate’s behaviour. In this situation, by expressing her emotions and her underlying unmet need,  she is more likely to elicit a compassionate response from the recipient. This inventory of feelings shows the full range of emotions that we may experience. Thankfully in professional situations the range is more limited making them easier to identify and express.

The ability to identify and communicate our feelings and emotions is an important life skill. Our feelings point us to the unmet need that is driving them. This knowledge gives us an opportunity to find strategies for getting our needs met that are not in conflict with other people’s strategies for meeting their own needs.

A common misinterpretation is to say something like “This makes me feel… like you do not care about the work“. Note that this isn’t expressing an emotion. It is actually making a judgement about what you think the other person is thinking! If you find yourself doing this, reflect for a moment on the emotions you are feeling, not what you are thinking. This will help you to identify the need that is not being met by the recipient’s behaviours. Just as with feelings, humans have share many needs. Here is an inventory of needs that may help you identify your own in a particular situation.

From now on, it would really help…

Finally, Jane asks her teammate if they would let Pauline and Sunil explain their ideas fully their design meetings. This would meet her need for respect and equality. The request is expressed as something the recipient can actually do, as opposed to asking someone not to do something. This is clearer for the recipient and reduces the possibility that the request will be met with a defensive reaction.

Conclusion

Equipping ourselves with the tools to be able to give feedback is the first step. The form described above is inspired by the NVC process. Another approach similar to NVC, is the Feedback Wrap from Jurgen Appelo’s Management 3.0.

Whichever you prefer, both help us to say the things that need to be said. As long as we say it from the heart, with good intention towards the recipient and the team, we won’t go far wrong.

I’ll leave you with Dr Rosenberg talking at an NVC workshop…

The examples shown above are taken from TeamSense, a fairer way for team members to exchange frequent meaningful feedback.

 

What does your team value?

We all want to be able to do a good job and get paid, but what else is important to us? Is there any value in sharing this with each other? I discovered that talking about this together had a surprising benefit.

A while ago I learned how helpful it can be for teammates to take a little time out to discuss what really matters to them, as individuals and as a team. We all want to be able to do a good job and get paid, but what else is important to us? Is there any value in sharing this with each other? I discovered that talking about this together had a surprising benefit. Recognising common values led to a greater sense of connectedness within the team. Recognising values which were not commonly held, and were causing frustration for some team members, led to greater understanding and empathy. The simple list produced from that discussion became our Team Values and marked the beginning of the team’s journey towards self-awareness and greatly enhanced performance.

Bringing everyone to a common understanding of what a particular competency means is the first step in enabling the continuous exchange of meaningful feedback within the team.

Since then, I have applied this learning to discussing the competencies that matter to the team. To help this discussion I like to use the cards (shown above). Each one has the competency name and a brief description on the front and some example behaviours on the back. Teammates can pass them around, talk about their relevance to the team and ultimately vote or in some other way select the ones they think most important. In addition there should be some blank cards, to allow the team to come up with their own competencies as they wish.

We go on to establish team agreements around the other aspects of our competency feedback process e.g. cadence, conversations and inspection point, however I believe the discussion around competencies is of value in its own right.

You can find out more about establishing team agreements for Performance Management and get the template for the cards here.

Principles and values for Agile performance management

TeamSense enables the frequent exchange of feedback between teammates. But to really understand what it is all about, a good place to start is with its three core values and the principles that flow from them…

TeamSense is a tool enabling the frequent exchange of meaningful feedback between team members. But to really understand what it is all about, a good place to start is with its three core values and the principles that flow from them. Not only are these principles deeply embedded within the tool, they serve to inform how it can be applied in different situations, to drive individual and team improvement.

1. Respect

Fundamentally, respect is treating people as you would like to be treated. People generally like to be treated fairly and equally. They like to be consulted and have the opportunity to express their point of view. With TeamSense, ratings and feedback flow in all directions within the team. No one person is responsible for giving feedback or team performance. Everyone is.

As TeamSense is the team’s tool, establishing how to use it is done through team discussion and agreement. The team determine the competencies that are of value to them, the cadence at which feedback will be exchanged and the conversations that will happen during and at the end of each feedback cycle. This is more respectful than dictating how the tool will be used. It also enables the team members to reciprocate respect by agreeing to be bound by the team’s agreements.

The principle of ownership gives team members full control over their ratings and feedback. Nobody can access this data unless the individual explicitly shares it with them. This prevents the situation where people’s performance feedback is being accessed without their knowledge for purposes other than personal and professional development.

2. Individual Development

Whether we see personal development and growth as a purpose in itself, there is no doubt that a deeper understanding of our behaviours can be of great personal benefit. Professional development enables us to have successful careers, and though this is no guarantee of happiness, it can certainly make life a lot easier.

Taking a moment to recognise that we are all on a journey helps us to see our current state of being in context and to move forwards.

Meaningful feedback is essential for our development and growth. But to be meaningful, it needs to be accurate and from the heart. The closer feedback can be given to the observation that prompted it, the better the learning will be for the recipient. Sometimes however, for meaningful feedback to be given at all, it may have to be anonymous. Similarly, the recipient may only be open to receiving feedback that is given in confidence.

Receiving feedback is one thing, but really learning from it is another. The best aid to this is to discuss it in an informal setting with someone we trust. How this happens forms part of the team agreements mentioned previously and will vary depending on the constraints imposed by an organisation’s culture. Options might include one-to-ones with a Line Manager or some other trusted individual. In more progressive organisations this could be an HR person external to the team. They would act as the team’s feedback moderator, supporting team members in understanding and realising the recommendations they receive. If necessary they can also serve to mediate between team members in conflict.

3. Team Performance

Wanting people to have the opportunity to develop and grow isn’t just a noble goal. It is an important factor in enhancing the performance of the team. Appropriately anonymised charts make the team’s competencies visible in a way that is about the competencies, not the individuals. It raises awareness and provides a way into team discussion about how they can improve.

Conclusion

Unlike traditional approaches to Performance Management, TeamSense is founded on respectful and team centric values and principles. These values are aligned with those of Agile and Lean, making TeamSense a better fit for Agile teams.