How to build AWESOME Teams - Part 1

Attitude towards Quality

I love exploring and observing team dynamics. There are a lot of knowns and unknowns that affect it. Individual personalities, their roles, who sits next to who, how you communicate, office space, tools, technologies, company culture, processes and many more. All of it have an impact at different levels for different teams. There are no silver bullets, no best practises, no certifications that can guarantee an awesome team.

I guess I am one of the lucky few to have worked with not just one but many awesome teams. To me awesome teams are those who - do whatever it takes to get the task complete, are high in morale, self-organised, trust one another, have a sense of owning the product, display a bit of we-are-awesome and more importantly have loads of fun.

At my last client site I consciously observed and noted what traits in us set us different to others and one thing that stood out from rest of the teams in the company was our "attitude towards quality" of the product.

We as a team cared about quality all the time, backlog refinement with PO's, story kick-offs, during dev, pairing when we tested, we constantly kept an eye on crashlytics, logs, support beta channels, what interest groups say, etc

We hated defect tracking tools because it hid bugs, we made the bugs visible on our wall, we would never let the bug count grow more than 5, every bug we find in any stage would be discussed and appropriate action was taken rather than parking it to visit later.

Our testing strategy and attention to quality soon started paying dividends, PO's, users, analysts, and others in the company started noticing it. This also, set us apart from the rest. We were a proud bunch, we were keen to demo our features, any chance of pushing the build to production we would do it, we constantly pushed ourselves to get better.

So in case if you want your team to be awesome give this a try.

Encourage good quality. I understand quality does not come cheap. There will always be a temptation to deliver a new feature over fixing some bugs. I also, understand if managers reading this feel a bit uneasy about such teams and the investment towards quality. I get it but never tell the team that the quality of their work doesn't have to be awesome.

Without awesomeness you don't get awesome teams.

Staying agile

I love 'agile'. I think it's one of the best things ever happened to software delivery. Now before I proceed further -  to me 'agile' still is 

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

Agile software development at least to me isn't scrum or kanban or safe or less or more or short or fast or pace or... I am open to any framework that fits the context and can adapt to change. 

Last week Friday one of our dev thought of a feature that could enhance the experience in our app (Friday Morning). The 6 of us in the team voted if we all found it useful. We recokend it could take us about 40 min to bring it to life. 
Friday afternoon we picked the stuff required to demo the feature in action. It did mean we had to eat katsu curry two day in a row. Build more stores Maplin. Over lunch built, tested, setup demo data and practised our secret gig. We were very careful to not share it on any channel not even a mention of it.
Friday evening demoed all our prioratised delivered cards from the board and followed it with our usual ... One more thing ....

Product owner and other senior members in the company now want to roll it out at the next event.

So did we do anything different? The way I see it - we stayed agile.