The ultimate agile team constellation

I often got the question “What’s the perfect team?” and the answer is as always “it depends”. The reaction is usually the same; some angry looking eyes. :-), I wonder why?

I can’t answer the question “What’s the perfect team?” but I can give you some tools and ideas in the process of creating a great team. But then it’s up to you to do all the necessary work.

First you need to destroy the fixed mindset of the ideas with roles, process and tools and try to see people in your organization as different talents that you have in your portfolio to succeed with your main — vision and goal. If you can’t let go of your fixed mindset then I can’t really help you. I guess you are reading this blogpost just because you have tried many times creating teams with this not so agile mindset and it did not go as you expected, right? So get rid of tit for a while and we can continue.

Don’t see people as front-end, back-end, designers and testers etc. The layers and the silos creates trust issues, creates bad WIP (work in progress) limits, creates a complex team before a simple productive team. It’s harder to replace layers, and people with a special role if she/he get sick and so on. If your main tool to handle team maturity is reports, forecasting then you are in trouble. Those things is an early indication of ineffectiveness in your organization.

As one of the Agile manifestos point out:

“Individuals and interactions over processes and tools.”

This is why I want you to erase the idea of roles. You can add roles later on if you want to but for now you have no clue why you need one therefore there is no roles ok? Good 🙂 . All you need to know is that you need talents to succeed not roles. You need individuals that can interact with each other not build walls with layers and silos ok? Cool, lets go on.

“Each team should be full-stack and responsible for taking a component from idea right through to production. Don’t divide by layer (frontend/backend/data) nor by activity (analysis/development/testing). Both layer and activity boundaries have rich communications across them. Remember the central importance of Conway’s Law.”
– Martin Fowler

Next step is to understand how your employees and your self are as person and how to motivate the uniqueness within each of you, to do so you need to understand what motivates us. Dan Pink have a wonderful RSA Animation and presentation about this. I suggest you take a look at it before reading further because it will help a lot. https://www.youtube.com/watch?v=u6XAPnuFjJc

“People can have two different mindsets, he says. Those with a “fixed mindset” believe that their talents and abilities are carved in stone. Those with a “growth mindset” believe that their talents and abilities can be developed. Fixed mindsets see every encounter as a test of their worthiness. Growth mindsets see the same encounters as opportunities to improve.”
― Daniel H. Pink

To understand what motives each person in your organization you need to understand them better. Get in touch with their intrinsic feelings. There are many tools for this. One of the easiest tools is using the same ide as with personas and add some gamification in work. Instead of just identify personas for the project you shall work on do it with your organization. Let each individual create their own personas profile with the same main principle and hang in on the wall so everyone can see it and get more knowledge of each other. What’s their motto, what interests do they have? What’s character traits does each individual have? Skills and talents? It’s very important to understand your team mates, because you shall work with them. 🙂 In agile you take command to lead together with your team mates to do so you need to understand how they are, there positive sides, negative sides so you can easily together help each other feel well and get respect for whom you are. The same way you create respect for your family and children of your (if you have any.). Because the domain is called work it doesn’t mean that it shall not have the same principles needed as with the domain family. There are many more tools for this in Agile and Lean Team Startups. But let’s talk about that in another blogpost.

Untitled-1

As soon you know more about the person, who she/he is its time to go to next level. In the real world you always have your employees for loan. You don’t own them; they are there for you if you don’t motivate them they will leave for someone else that does. People will come and go, therefore it’s important to understand that we need to be open for beginners within our organization and a proactive plan to make them step up towards the expert step.  I don’t like the idea to rank a person as a whole. Like businesspeople do with titles as Junior and Senior. What does that say? What’s in the gray zone between this junior and the senior? And when does a junior become a senior? When he/she knows more than the boss or have worked for ten years?  If you think you can work with the same thing you did in one year repeated nine times and then think you have ten years of expertise, you are wrong. Sure you have worked ten years but you are for sure only an expert repeating the same thing over and over again. So as with the roles get out of the box and get rid of the ideas regarding junior and seniors. Business peoples just created them so they can put different prices on their head nothing more.

“…Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done…” – 5th principle behind agile manifesto!

What I found very useful is the Dreyfus model. Dreyfus model does not rank you as a whole it just ranks you for each individual skill and talents of yours. For example, you might be very good in golf and maybe an expert in golf. But for the talent painting you might be novice. You can draw some lines but you are not very good at it.

Dreyfus models have different states in each individual skill of yours. Dreyfus have five states each of them different mindset based of knowledge, experience and skills.

1. Novice – Need rules and clear guidelines.
2. Advanced beginner – Need less rules , uses guidelines, but without holistic understanding
3. Competent – Develops conceptual models, sees actions in long and short terms
4. Proficient – Sees situations holistically, will self-correct based on previous performanc
5. Expert – No longer relies on rules, guidelines, or maxims, works primarily from intuition

dreyfus-model-of-skill-acquisition

Do you want to know more?
Read more:  
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2887319/
or
https://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition

As soon you have the tools and knowledge about your organization and people’s talents it’s time to create the team.

The best principles for combine talents is like creating software, don’t decide architecture, techniques, platform before you understand the project. So DON’T create a team before you understand the vison, goal and type of software. Is it desktop system? Does it need many integration specialists? Is it a Webb tool? Is it e-commerce? is it a highly transactional system? Does the customer use any own system we need knowledge about? Like Navision? CMS and CRM of any kind? Is responsive design a requirement? This is typical questions in a startup and as soon you know this you can create your fabulous team. Try to pick people as full stack as possible or at least people that can work cross many functions. Like the image below. (The color indicate a unique talented individual, not a role. The columns just indicate required skills needed for the project, they are not roles just requirements for the project. It needs design, it needs a front-end and so on…)

4
The above image describes this.
Blue person has skills in design, front-end development (sass, less, html, javascript) and understand testing. The orange person has some knowledge of design maybe a novice in design but can help with design if needed, the person also has skills in back-end coding and testing. The green person has little talents in front-end and more skill at back-end and testing. Can be a great mentor for the team regarding TDD, system testing, regression testing and so on, And the yellow one is more like a full stack person that can help in all areas if needed.

Tips: It’s not good to put only experts in one team, novice in another. Spread them out if you need to increase the skills overall in your organization. The best suited person to help another to go from one step to the other is the person that just left that step.
So if you need someone to understand angular for some front-end work it’s easier to add an advanced beginner to the team if you also got a novice talented angular to the team, instead of just add experts in that area. The advanced beginner can more likely explain the problem better for the novice person over an expert talented person. Because they mostly talk the same language.

As soon you have your team-setup you can start asking your team what necessary service functions they need. Service functions can be cross-functional mentors, it can be a product owner if the team think they need one, it can be an agile coach, a team leader or scrum master if they feel they need that kind of service. This is a big change from the old traditional organization design. In this case the team create the process. It’s not strange at all even if it feels little odd, the team are the people that shall make it possible so the only correct thing is letting the team get what they need to succeed.

Remember that a development team in agile is not just developers. People in the whole process of creating a project are the development team even the service function competences is part of the team.

Remember, a named method is not a silver bullet so you need to be open minded. You can simple collect information by checking what correlations and interaction you got between the customer and teams. Maybe you need a waterfall approach, agile-waterfall, scrum, scrumban, lean, XP or your own setup of tools and processes. Maybe you just need to use Kanban and no project owner and such because the team are the domain experts together. Why add extra waste when there might be no need for it?

IMG_0515 (1)

It is important to not fall back in old ideas like the project manager where he/she is supposed to handle everything. Then you are back at the main problem again and you have just wasted your time reading this blogpost. 😀

“We can’t be afraid of change. You may feel very secure in the pond that you are in, but if you never venture out of it, you will never know that there is such a thing as an ocean, a sea. Holding onto something that is good for you now, may be the very reason why you don’t have something better.”
― C. JoyBell C.

Who is Johan Normén?
Johan Normén is 37 years old, work as a speaker, mentor, team leader, agile coach, and senior .net developer at Softhouse in Gothenburg Sweden. He has over 18 years business experienced and worked in many different projects and roles. Was one of the creators of Swenug (Sweden .Net User Group) with over 3000 members all over the country. He started the computer era as game designer at the age of 12 with his Amiga and team. He has been nominated as the top 10 developers in Sweden in the Swedish version of Computer Sweden 2015

Twitter: @johannormen

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s