Online Scrum Board

I belong to the Agile crowd who believe the physical board is very much useful and can’t be easily substituted for any online board. Let me give you a few reasons.

5 reasons why not to use electronic board

  1. We are *still* limited by the screen inches and no electronic board gives you good overall Sprint visibility.
  2. No electronic card takes pride in your handwriting, so the ownership of the whole board is much closer to “someone else’s problem”.
  3. You can’t touch it, move it, or throw it away. It’s annoying how many fields in the *average* system are required to add a task. It’s a tiresome to crumble tasks to one day activities.
  4. It’s hard to draw on it. There is no creativity. It’s just reporting by definition.
  5. Regardless of the ability to share, usually the ScrumMaster controls the board during Standups. Not any team members.

To make it simple, to organize yourself as a Scrum team you need very good visibility of what is already done, what is in progress and what still needs to be done and who is currently working on which part. As there are no assigned User Stories to any team member, every individual is responsible for finishing Sprint Backlog. To be able to organize your daily work yourself as a team, you might need a flexibility – depending on where you are you might decide to distinguish tasks by colors, next time by shapes, then you start tracking dots per day, and the next time tear the task if it get blocked or anything else. You can start right away, and stop any time it suits you and there is no need to win over your system.

To make it clear, I’m not suggesting now your overall backlog should be at the board even if there are companies who work only this way. However, for this time of being I’ve been focusing on Sprint commitment, and simple tool which helps team to synchronize themselves. So keep your *future* – the User Stories – in the system, keep Sprint tasks and team synchronization be driven by physical board not connected to any system, and then link back any commit or important note back to your User Story in the system so you have a history and traceability.

And yes, I understand that some teams might not be at the same location, and can be spread over the world. So if you have such situation, still you might prefer flexible tool which gives you a good visualization. There is no ideal tool like that, but there is one I learned from some of my distributed teams. You can see the picture of that board below. It’s easy to use, it gives quite good overview as well. And yes, I can come up with hundreds of improvements, but I still like the simplicity of this solution. You can try it here.

Scrum Board

Scrum Master is Not a Secretary of a Team

I’ve been wondering why so many teams believe that Scrum Master is here to draw burndown charts, prepare reports and be the only point of contact for the team, whenever anyone wants anything from them. They maintain the board, write cards, and prepare all you can imagine. And the team works ok, but surprisingly they are not at all self-organized. Such Scrum Master role is quite boring. But that’s not what was intended by the role of Scrum Master. I guess the reasons for that are coming from two different motives.

Firstly, Scrum Masters are often missing the real experience with Scrum, teamwork and self-organization. They are in a new role and want to succeed in it. They biggest fear is they would not be useful to the team, and team would not appreciate their work. So they try to do their best to make their work visible for everyone. Be helpful. The biggest Scrum Master’s trap is to be locked in the position of caring mummy who is scared to let her grown up kids go their way. But in such case you will never get real Scrum team.

The other reason comes from one of the Scrum Master responsibilities – to remove impediments. It’s the only responsibility which seems to be easy to do for starting Scrum Masters. Seems to be. Unfortunately, that often comes with huge misunderstanding. The goal of the Scrum Master is to build self-organized team which in the ideal theoretical world means “do nothing”. In other words, Scrum Master is here to help a team to find solutions to their problems, not to solve problems oneself. Nonetheless, most of the beginning Scrum Masters are eager to help, happy to do any work needed if it helps their team. And they don’t see that by doing it they are destroying the team.

Is Product Owner part of the team?

When you ask this question in the companies, you find out that about 30% of teams believe that he or she is not. If you ask why not, you find out that they feel their Product Owners are far away from them, they don’t help them, and they don’t understand them. And I’m not talking about physical distance now. So where is the problem? In many companies, at the beginning of their Agile transformation, they simply move team to Scrum and the Product Managers to Product Owners. What happens? They don’t have a time to be Product Owners as they are responsible for several huge products. Luckily they understand the product, but they have no time to share their understanding at any higher granularity than general ideas or epics. And that’s indeed not enough. Such teams are having a Product Owner Proxy, or Tactical Product Owner who is in reality acting like real Product Owner and don’t miss their business Product Owner. Why is that usually not good? We are missing the “one PO voice” and we are losing the business driven approach in favor of technical point of view. In such environments we are as well missing the push to “maximize work not done”, which is one of the Agile Manifesto principles. That is indeed not good for either team or product.

Then we have about 50% of companies where they believe the Product Owner is part of the team, but he is not responsible for writing User Stories. Why not? Usually because he or she doesn’t understand the technical aspects, so how can he possibly do that? They usually don’t invite him or her to the retrospective either, because… well… he is a team, but retrospective is for development team only. So it’s kind of unclear.

The remaining 20% take their Product Owner as their member. They invite him to the retrospective, they trust each other. If that’s possible, they sit together. If not, they speak with each other often. Such Product Owner relationship is very helpful. Not only for your team, but the product as well.

Measurements are dead, let’s measure

During my career as both Director of Engineering and independent Agile Coach, I’ve been hearing still the same grumble from managers: “We can’t get rid of measurements and KPI’s. How else could we know if the person is performing well, how can we compare people?” and at the same time, grouching from the team members: “We don’t like the individual based KPI’s and measurements, how are we supposed to be a good team when our managers can misuse that against any team member?” It’s surprising but no one likes individual metrics, they all admit they are useless, but they are all afraid to try anything else.

So if you have a bit of courage, you may try this: It’s based on coaching relative scale and is team oriented: 1 stands for 🙁 and 9 stands for 🙂 and it’s great if you add a reason for rating lower than 4 and higher that 6. Firstly, let the Product Owner give a team his number how he is happy with the team.

As a second input, ask Scrum Master to give a number to every team member how much he is happy with this person as a team player. Let them discuss it, but make sure the discussion is not about “why I’ve got 5 instead of 7”, but is focused on future development of that person discussion “what should I do differently so that I’ll get 7 next time”.

And last number goes from the team members. The best you can do for this part is to ask everyone to divide 100$ to all team members except himself. You may worry that they can agree with each other and rotate all the money one by one, or distribute them equally, but that’s not common in real life. The great think on this evaluation is that the team members are giving a feedback to themselves. So every team member gets an answer to the question how do you value my contribution to the team? And if you find out the other team members don’t see any value in your work, you would most likely be very much concerned about that situation and asking how can I do differently so that you value my work more.

Combining those three inputs you will learn much more than from traditional metrics, regardless the company size and culture. It’s working just awesome, but you have to have courage to give it a try.

And when this is just normal for you, you can take it one step ahead. The fully Agile companies are using such tool as the only one appraisal tool across the company. No other bonuses than those distributed by employees to the other employees. So in such company, if you feel you would like to appreciate the receptionist, give her some part of your bonus sum. The other one can be for your colleague, another part for a developer from a different team who helped you with some issue. And when you are afraid it’s too crazy for you, I would like to remind you that we are only talking about bonus distribution, not the whole salary. When you do so, you will increase team cooperation over individual heroes work, and openness and transparency over politics and gossiping. And it would be fun. If you still don’t know, start with Appreciation cards. Make them available and encourage people to give them to each other. Even by that you will learn a lot about yourself, your team and the whole organization ecosystem.

Product Owner Development Model

What is the difference between requirements, use-cases and User Stories? I’ve been struggling with that question a lot. On one hand it is easy. It’s something completely different. On the other hand, that’s not anything which would help people to understand the difference on their way to implement Agile.
After some time working as Agile Coach, I created this Product Owner development model. It’s focused on product creation and Backlog item definition process.

Level one: User Story is just a special format of a sentence

At this basic level of understanding we are very close to the requirement-like specification. We keep the backlog in the Word document, as we anyway wrote very long sentences and extensive document chapters about the functionality. There is often huge mix of current functionality we want to keep, and new functions. The only change we do with that requirement document is to change/add User Story sentence instead of general name. So we get something like “As a MyCompany, I want new tariff, so that my customers are happier” followed by 2 pages long text description what the “tariff” exactly means. Such User Story may survive at team board for several Sprints without getting done. Surprising, isn’t it? We wrote User Story and it didn’t help!

So this stage is about documents. We create PowerPoint presentations to describe product goals and vision, we use complex roadmaps to define timeframe and we have written long specification documents to describe functionality. The more we write, the better product we have. The understanding of the role of Product Owner is very limited, decisions are often taken as a board of people without real product success responsibility.

Level two: We have ‘bigger fish to fry’, than write User Stories

At this stage we already understand that we have to describe our User Stories better. The team needs higher granularity and detail. But we don’t have time to write User Stories, so that we delegate that unimportant work to some administrative position called business analyst, business requirement specialist, business delivery manager, development team or whoever else is around. We don’t have a time to write such ‘technical’ details. It’s not important for us. Just make sure you will deliver it on time. We have bigger fish to fry. We have to talk to the customer. It’s more than enough to discuss our product ideas and high-level visions. We are responsible for Backlog, and yes, we prioritize it. However, the level of Epics is just about the right level of details.
So this stage is about big high-level decisions and quantity. We already have a Product Owner position, although that person is not often seen. Instead we have the army of people, who are willing to help official Product Owner with creating as many User Stories as you can imagine. What if we need that functionality in the future? Let’s describe all we can possibly do. And if we cover any potential functionality, it must be successful.

Level three: User Story is use-case

Here we finally got it. It’s about functionality slice, it should be INVEST. We have to make it concrete, understandable, and testable end to end functionality. Isn’t that easy? It’s like a use-case, isn’t it? Well, unfortunately, sorry to say that, no. There is a huge difference between use-case and User Story. So what’s the difference? Use-case is end to end functionality which defines what user does and how he is using the product, while the User Story defines only a new/changed functionality. We don’t repeat the current functions anymore and we focus on the changes only.
This stage is already user focused. We start describing different roles. We focus on functionality end to end. However, it’s still not simple and not clear enough. And it’s still not what we expect from the Product Owner.

Level four: We will design one big User Story and copy-paste the rest

This stage looks already pretty good. We have understood that every User Story has three parts – Who, What, and Why, and we think about all three of them. However, we haven’t still understood that every single User Story has its unique value, and it makes sense to invest an energy into individual detail User Story creation process. We are now spending energy describing Super User Stories (smaller and much more concrete pieces than Epics are, although nor small enough to be done in one Sprint yet.) We have great tools, which unfortunately offer a copy-paste feature. So we heavily use it to save our time.

This stage is about User Stories which already create some picture in your head once you read or hear them, but they are very similar to each other and hard to be recognized. We already have spent some time to investigate reasons ‘why’ for bigger chunks of functionality, and we are very happy about it, so we use it at every detail User Story which we create from it – just copy and paste.

Step five: Understand of business value and impact

Finally, we understand that it is worth of investing our time to every single User Story. And we are even looking at it more than once. We reprioritize individual User Stories and not only big Epics. Every User Story has a special role or persona. We have spent time and energy defining every one of them. We encourage ourselves to throw away or postpone User Stories already written, if they don’t match our product/release charter (vision, goals, success measures, timeframe).

We focus on business value and “maximizing work not done” which is one of the core Agile Manifesto twelve principles. We keep our product simple. We try to visualize business value for every User Story in the “Why” part of the formula, so that it helps us to decide on Backlog priorities.
Furthermore, we compare every new User Story with product/release charter and discuss how that User Story contributes to the defined goals and vision. Before we write the complete functionality, we try to measure impact, i.e. if the goal of Epic1 is to limit the traffic through the component A, than individual User Stories may propose different solutions how to filter that traffic out. In traditional management we finish most of them if not completely all. In this stage of this model, we try first to measure the impact by identifying of the percentage of possibly filtered traffic by each solution proposed. And then implement just the ones which have real impact with respect of our goal to limit the traffic. We may identify many great ideas, but we stop implementing as soon as the goal is achieved. At that time we don’t need any other functionality and we can move on to the next important area.

This final Product Owner Development model stage is about business value and impact. The less is more. Product Owner is feeling strong ownership and responsibility over the Product Backlog and individual User Stories. There might be people to help him as Product Owners rarely works alone, nevertheless he understands the importance of his role in defining even the small functional slices as User Stories are. Finally, in this stage the Product Owner is here to shrink possible functionality to the minimum which brings just enough business value. Product Owner must negotiate the functionality and focus more on understanding the customer real needs than all their wishes to come true.

Summary

To summarize it, Product Owner Development model is useful tool which helps you to understand where you are with your Agile Product management and product ownership. It also shows you the way where you shall continue and which areas you shall focus. Theoretically you don’t have to go through this model one by one, but it is very likely you will pass all next layers from the one where you are now even if you stay at that one just a very short time.

Over self-organized teams

Self organization is one of the key agile artefacts. It’s all about self-organization we tend to say. The team should decide. The idea is great. It says that people who are doing the work can solve 80% of their problems themselves. It also implies that the team itself in it’s mature stage can freely decide on their internal processes, meaning how they organize themselves to atchieve the given goal. There is nothing said about changing the goal, not even about changing the external arrangements (i.e. roles and responsibilities of people outside of the team). The self organization is supposed to come with responsibility in hand. It cannot exists without it. And it’s not any easy task. 

But every good idea can be misused and so more and more often we are observing over self organized teams who just don’t get it. Such team believes they can decide on anything you can imagine, the managers should not interfere, they are useless and not allowed to visit or even observe team meetings. They are redundant to their opinion. The same usually happen to the Product Owners who are surprisingly not anymore the ones who decide on priorities and functionalities. Sometimes the same happen to Scrum Mastes as well, who are for such team not any team members so they are not allowed to do anything either. Very strange situation indeed. Despite on how different such teams are, they have usually one thing in common. They believe they are doing great, but the rest of the organization should change. And becaus the “self-organization” they are trying to force them to do so. And where is the responsibility? No, no, no, it’s not ourfauls, theya re bad…

I have a couple examples. We have played our new Tulming Travel game a couple of times, and almost always someone from the team suggested they as a self organized team decide on priorities as they don’t like their Product Owner decision. And surprisingly to us, the rest of the team agree with the argument. Yes, that’s right, we are self organized so stop to tell us what shall we do. Second example is comming from real kind of startup company. We had a team of 7 developpers, one scrum master and one business & marketing team of 5 people including Product Owner doing research at markets at South America. They’ve been all located at one spot in Europe, the business team was quite matured, they know what they need and why, they’ve been willing to explain all that all over again to teh development team so they understand real customer needs. However, the team somewhere read there is a scrum and self organization and there was no force to stop them beleive they can decide on whatever. So they in the name of self organization changed basic Scrum pracsices, and pushed their business people and Product Owners away as they “don’t need” them to decide what to do. And in addition they did the same to their manager, as they are now Scrum so he is not allowed to tell them what to do anymore. There was no chance to stop them as they didn’t listen at all. They believed they are great despite they never delivered the Sprint Backlog.

The last example is from a corporation where they decide to bring fresh air into their agility. Their coaches got a generaly good idea I guess, that the managers should let the team to be self ogranized, but instead of starting at both team and management level, they pushed to the other side and forbid them to do anything with the team. They are not allowed to enter team meetings, coach, facilitate, give feedback, nothing. They are supposed to be “eavel managers” who are not capable enough to do their roles in agile world. For some it might be true, but there is huge number of others who are now struggling to do their job. And that’s not what we wanted to atchieve with self organization. We need mutual trust. Within a team, and otside i.e. to the manager as well. Otherwise there is no agile company and no self organization either. Just some group of small kids trying to shout to others without any purpose.

Agile at Saigon, Vietnam

I had an opportunity to spend some time with teams in Vietnam. Explain them Agile and implement Scrum process, bring in the understanding of it, and help them to apply it. It’s always good to travel for your work to some nice places, and Saigon is indeed very nice city. Very friendly people. How was it? Quite different. The way of explaining things needed many detail examples, however there were fewer problems with having people accept the whole idea.  The most difficult part was I guess to explain the agile mindset, implement agile culture. They always used to be organized by strict hierarchy. Who reports to whom. And now we had a cross functional teams consist of both developers and testers, so who do I report now? Who is going to assign me new tasks? And all those questions. If you for some reason put one person out of the teams as a shared resource, he immediately stop working and did just management decisions from that time. When we asked why, it’s because only the team members are here to do the work. And I’m now more important. So I don’t do any usual daily job. On the other hand, once they understood the process, they follow it. They don’t discuss if they should or not, no complains that they are corporation with specific habits so why they should change them.  Once you explain it so they understood they do their best to make it working.

Agile community

I’ve always tried to meet with local community while I’m traveling. It’s fun. They sometimes reply and you organize something together, sometimes there is no response at all. Agile Vietnam was a surprise; they have extremely active Facebook community. I’ve sent an introduction and in a few seconds I’ve got several replies. So already the first night at Saigon I’ve met with a group of people to talk about startups. Small group, not really from IT environment, but trying to learn new thinks, improve English, it was nice evening.

The next day I arrived on Barcamp. Huge event with 3500 people registered, kind of unconference where attendees are voting for presentation to be presented. I was talking about agile implementations, some British lady about bringing Broadway Theater to Saigon. You can talk about anything. Audience is deciding whether it is interesting or not.

The last event I had there for the community was free Starting Scrum workshop. One afternoon the organizers of Agile Vietnam invited everyone to Saigon Hub. And we had two hours to try basic Scrum principles. I introduced a game where the teams were building a high tower from marshmallow and spaghetti. It was fun. The very good think is the game was working well even in this different culture. They did a great job, and learned a lot about how Scrum process works with respect of the delivery of PSP at the end of every Sprint, communication to the customer, team development.

Back home

So to summarize my experiences, I would love to come back to Vietnam or another interesting country for work. It’s different, it’s fun, and it’s working. The training itself will not make any big difference to them. To change their way of working and mindset you have to be there, you have to spent time and help them understand and apply the theory. This is something which I as an agile coach can help them.

Agile Adoption Story – Common Mistakes (part 4)

But John still feels we should continue with agile adoption process started in previews articles of agile adoption story. It’s not going well so far, however, we just spent some money on training so we should give it a try. The project manager even if he is now called Scrum Master is keeping the common practices; we had still the same allocation system and organization structure. So when the Scrum Master got one-one meeting with John, he must admit Scrum process adoption has some issues ant it’s not really successful so far. But as John needs any improvement, he finally asked: “ok, so what needs to be changed in order to make Scrum working in our environment?”  And the Scrum Master selects the most crucial thing which bothered him – the allocation of the people.

Group of people makes team

Scrum is based on team cooperation and collaboration, so how should we use Scrum in the current conditions where we never know in front what time we got resources, people are allocated in front and took out of the project without any in front notice. They are sitting somewhere in the office matrix without any direct connection to the project. So let’s imagine they are just because of Scrum process moved to one shared place and from that time they are called “team”.

How this could work? Starting from the university, those highly specialized engineers were learned they are good enough to work individually on their tasks; any help offered there was called cheating. And now, they should work together? Even more in the company where were built strong silos called development department, testing department, and so on. And those silos have different managers with different goals. Those managers usually don’t like Scrum at all, as they had to delegate their responsibility and got less direct influence on the individuals.

However, the particular engineers happen to be sitting together in one room, having a Scrum Master, who is trying to sell agile to them. In a reply, he is often hearing questions like why do we have to talk so much, why should we select what are we going to finish? Just tell us what to do and keep us working. We are specialists and so we can’t lose our expertise in sharing knowhow.

So finally after some time, the Scrum Master is in John’s office saying “Agile is not for us”. We are different, we have too complex product, we are too big/small to implement agile. Our customers are like this and that, and you know, agile is great, just for a different company.

 

Being Agile

For already some time I’m struggling about the definition of agile. What is it really about? What are the key parameters and how do you recognize you are agile? I spent in agile environment more than 7 years, and had met hundreds of team. But surprisingly, that doesn’t make it any easy. Every team was different. Every team had adopted different practices, implemented different processes. Can all of them be called agile? After all, I would say yes. There are many agile ‘fanatics’ who would be saying you are not agile because for example you don’t release every sprint, have fixed price and time model or just don’t follow enough practices.

For me, agile is a culture thing, it’s about the way you are addressing things, how do you approach problems. It’s a philosophy, rather than fixed process you can just follow without understanding. You must appreciate it, and live it. Otherwise you end up blind – following some practices you’d never really understood. Agile is about team cooperation, about sharing experiences and helping each other. It’s about transparent and open communication.  Identifying problems and risks fast enough. Agile is about fast feedback loops, where you see what went well and what you can change or improve. It’s about the ability to accept change in your daily life. Don’t be complaining the world around you is changing, be a change yourself. It you succeed, you are agile, despite of what everyone else is saying.