Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Management

    18 blog articles in this category

      Value Stream Management - another top down approach to ROI?

      Value stream management, probably most noticeably introduced as a part of the SAFe framework in nothing new. It is a simple visualization of the value creation process connected to the financial aspects. In short, it is a way to organize work based on finance and perceived value to the end user. This approach is another top-down version and as such it comes with both positive aspects and negatives. If handled correctly it can be mostly positive however.
      Let us begin by setting the stage for what Value Streams actually are: artificial constructs designed to match value with cost. In a sense that is the same as a line organization that continuously create value, but with a specific value in mind that is not tied to IT structures such as systems.
      This is where the first problem usually start to show itself: what is value and to whom?
      If you have spent any time with Agile or Lean evangelists then you know they will talk about the end users experience as the one and only metric of importance. I find that to be a naive and narrow point of view because as a company you are in the business of making money. That means that the metrics that matters is what do we benefit from as a company. In order for the company to benefit you usually want end user satisfaction, but it is not the only metric.
      There is no benefit for the company if the end user is satisfied, but the company lose money because of it.
      In order to set any form of metric to measure value you need multiple perspectives and this is very difficult when you have experts that either focus on end user satisfaction or company profit. The answer is in the middle, but very few companies have the capability to bridge the gap and find that value.
      Defining what value is
      What happens is that value often are defined in services rather than value. Customer support for example or E-commerce. In some cases it even is split into business areas such as countries or brands. Neither is probably what constitute a value stream, but then again value streams are artificial constructs that still are very poorly defined other than "what drives value" in a typical theoretical abstract manner.
      My advice for this is to define what value are you driving and how will the company benefit from it. This is something almost all companies already have as it is a part of Portfolio management. Everything that you have a budget for already have value creation as part of the metrics used to motivate the funding. The only thing you need to do is to take your portfolio and sort the items in there into recurring areas. You can do that with a simple card sorting activity because if you work with Portfolio management you probably already have this in place in a way and you just need to challenge the structure a bit.
      It is worth mentioning that value streams are not organizations or departments. They are time limited artificial structures that you should treat as long term project or programs. Eventually these value streams will change, in fact you should have a process to re-evaluate value streams annually or at least bi-annually to verify that the value creation are still in line with what you expect from a value stream.
      Value Streams live on top of systems
      This is as true for Value Streams as it is for programs and projects. All IT organizations are system based and no matter what financial body you place above it should live above the system structure. What I mean by that is that each system should have one truth when it comes to documentation and competence. So financial bodies that touch the system will "borrow" competence from that system and they will share documentation with other financial bodies that touch that system. This prevents fragmentation of information and duplication of technical roles such as architects and test.
      It is common that when you define value streams that you will define entire systems as part of that value stream. This makes sharing systems less of an issue, but you should still keep in mind that the value stream is more or less hiring that system to deliver value and that other can, and usually will, have reason to pass through that system as well.
      Measuring Value. Actual value.
      When you start working with the value stream you will have certain things that you measure to see how well you deliver value. If you have defined the value  correctly as suggested above, then you will get multiple points of value to combine into the actual value. This is where it is common that companies realize that they do not have the tools to actually collect the metrics. In some cases they get the metrics, but do not know how to combine them into actual value.
      My advice here is to make sure that you define value the same throughout the company. Don't use arbitrary points of measurement like t-shirt size or story points because they will be useless at scale. You also need to measure cost, for real. Most companies only start to measure cost after the requirement phase, which provide a very skewed perspective as there are a lot of costs involved in defining a need.
      So start measuring all aspects of the processes before the need hit the development team and you will probably be amazed about how much time is spent defining the need. Ideation, meetings, workshop, decisions, estimations, technical solution design and requirement analysis easily add up to 50-500 hours of work for even small needs. I have seen features that added only a visual effect on the side with negligible value cost well above $50.000 just in meeting costs to argue about the correct implementation.
      You also need a way to translate other arbitrary measurements such as customer satisfaction into something useful. Hopefully you already have a template for this if you work with ROI from CRO, or at least you have some way to measure how an increased customer satisfaction also increase profit for the company.
      When you measure actual value and not just a part of the value creation, then you usually will have very different results than if you only measure single points.
      Value Streams. For real.
      Like I said, value streams are nothing new and most organizations already have it based on either financial value or customer value. The trick is to combine the two into value streams that give you the real answer to the big question: what creates value for the company and how do we improve that.
      Combining soft values such as feelings with hard values such as money is no easy feat however. As you dive into the esoteric and abstract world to try to combine the intangible with hard realities you should expect to fail initially. There are no magic formulas for working with value streams, which is why you should be aware that this will probably be a very expensive exercise of futility unless you truly commit to making it work.
      If you commit and you find that sweet spot between measuring too much and not measuring enough, then I firmly believe you will have a big advantage compared to your competitors. If you also work with predictive activities to test theories before you commit to them, use predictive data analysis and engage with the end users to drive decisions, then you are a winner, regardless of what field your business operates in.
      Just don't throw in Value Stream Management as some form of magic bullet, because it is not.
      You will not be the best in the world by adding a new way of training, you still need to put in the hard work. This is true for sports and it is true for business processes as well. You do the work and you commit to it. Or you fail.
      Commit, or fail.

      The Proxy Organization - five ways to battle a wasteful culture

      As organizations grow it will always increase the number of middle managers to stay organized. If the organization assign the wrong type of managers you may notice that that number start to grow a lot. You may also notice that the level of trust that exist between the different areas drop as well. This is what I call The Proxy Organization, and it is very damaging for your company.
      Every organization forms a hierarchy. This is how we make sense of the world around us. We define structures such as responsibilities and mandates to make sure we know our place in the organization. In an organization where these structures start to be confusing or poorly defined you often see the number of people between the leaders and the people that make things happen grow. This is because not only is it very difficult to handle a poorly defined workload, you also start to have meetings for everything. Not to take decisions, but to form consensus since it is not clear who should take the decisions.
      The more meetings you have, the less time you have to think about what happen in the meetings and the more help you need to go to more meetings. And so you enter into a running organization. Meetings happen all day and without time to reflect you start to make poor decisions and reduce time to communicate outside the meetings. So you hire more people to handle that, but soon they also get sucked into the meetings, and they need to hire more people.
      As these people start to get more and more stressed they feel the need to attend more and more meetings to keep up to date with everything that happens. As stress sets in the need for control grow. We introduce KPI's that are designed, not to make teams work better together, but to make the team accountable if anything goes wrong. We implement restrictions and control points in our systems to "ensure" people work "correct". Morale drops and segregation begin to foster a "we vs them" attitude.
      Slowly the organization split into silos, and we have more managers than people actually working. The managers spend all their time forming a biological proxy network with a single purpose to receive and send information in the endless meetings. People start to get sick from stress and start to leave the organization as the distance between the workers and leadership is made up of dozens of proxy positions all focused on control from a top-down perspective.
      Sound familiar?
      This is a very common thing as companies grow, and it is actually not that hard to turn around. It will require a lot of effort, and it will take time, but you will save a ton of money long term and most importantly you will stop hurting your staff.
      Step 1: Define roles.
      The first thing you should always do is define the roles in your organization. Make sure all roles are clearly defined, following a standard that is the same in all areas of the company. Don't make up roles like scrum manager or other combined roles. Stick to proper roles that are the same across the globe. You are not unique, so stop making up unicorns because you don't live in an imaginary fantasy world. Define responsibilities and mandates for all roles, so everyone knows what is expected of them.
      To avoid a situation where you pretty much play the whisper game and just forward information you define what input and output for each role. Every role should have some value passed in the output that is higher than the value they receive in the input. If the role does not add value, then consider why that role exists in the first place. If it actually reduces the value, then remove that role.
      In this step you should also match the role definition with the skill and experience of the manager(s) that hold that role. You will often find that you have the wrong person in certain roles, and you should try to match the roles with the people to get the best result. Never put a manager in a position on the merit of being with the company a long time. That is not the right experience to promote.
      Step 2: Define decision processes
      Endless meetings often come from poorly defined decision processes. So set clear decision processes that either comes as part of the portfolio process, or inside the teams if the team and product owner are given mandate. If everyone knows what need to be decided and the process to get that decision, the number of meetings are reduced drastically.
      Defining the decision processes also prevent "ghost projects" that are driven in isolation without coordination elsewhere in the organization.
      Step 3: Define information flows
      One of the reasons why proxy organizations exist is because the information flow is poor. By that I do not mean that you don't have information flowing, I mean that it is difficult to get the information you need. This is just as common with an overwhelming information flow as with an underwhelming one.
      Make sure that information is properly classified, so it is easy to find the type of information each person need or is interested in. Also make sure you make the information easy to overview with short snippets that I can drill down if I want. Lastly make sure the information is both sent in regular intervals when it is information that affect the whole organization, but also, so I can subscribe to get information of my choosing.
      If you do this right, then confusion and uncertainty is reduced. This lead to less stress and better decisions from everyone as they are better informed.
      Step 4: Define Meeting guidelines
      In a proxy organization meets are used as crutches by managers that are afraid to take decisions. Either because they don't understand what they are supposed to take a decision on, or because they feel unsure on their mandate, so they seek to get as much approval from others as possible.
      In Step 1 you make sure that you have the right people in the right position. This alone will help mitigate the endless meeting syndrome. Next you require every meeting to have a set agenda, what outcome should come from the meeting and most importantly a cost for the meeting. This will discourage meetings that are not really necessary, or that people that actually just want to have control join without having any impact on the desired outcome.
      The last thing to do in this step is to set  limit on meetings. If all you do is going to meetings, then what do you actually produce in value? Everyone need time between meetings to reflect and take care of the actions undoubtedly coming up in the meetings. Enforce 30 minutes waiting between meetings and 2 periods each week with 2-4 hours of consecutive meeting free time. Sometimes it can be a good idea to have this hard blocked in the calendar for everyone in the company, especially during the change process.
      Step 5 : Introduce bottom-up evaluations
      In most organization evaluations of people's performance within the organization is done top-down. To best understand the performance of the people in your organization you should also have the opposite represented. As a manager your job is to ensure that those below you in the hierarchy have what they need to be successful. In a Proxy organization this is often forgotten and a blame and punish attitude is used towards those below you in order to look good to those above you. This should be removed and introducing bottom-up evaluations is a good way to do that.
      This should be done often as a way to determine where in the organization people are running off to meetings instead of taking care of their people. It will also indicate where you have the wrong people in place or where people have too much responsibility to manage.
      Don't think you can change your organization "organically"
      While these five steps seem easy to implement they are not. This is not something you can throw into your organization in the form of "read this article and make it happen" kind of activity. This is something you need an organized change management process for, and it will cost money and time. As with all change you must commit to it and pay the price short term to enjoy the benefits long term.
      It will hurt, and it will not be an easy journey to stop running in an eternal meetings based proxy organization, but it will be worth it. If not for the financial gain, then for the well-being of the people.

      The Daily Stand-up - can we make it better?

      If you have worked in IT in the past 10-15 years or so, you probably have endured the endless regurgitation of meaningless information in a daily stand-up. You have probably felt the anxiety of being judged and been annoyed over your teammates doctoring their results to look more productive. You probably also wished you did not have to go to the meetings once or twice. What if I told you there is a better way to manage daily stand-ups? Because there is.
      First let us figure out what the purpose of a daily stand-up is and where it comes from. The need to organize groups and to collaborate is as old as time itself and while many consider the daily stand-up, or daily scrum to originate from the Scrum framework, that is not true. Regular meetings have been a common practice since long before Scrum, and it is also why it is the most used aspect of Scrum in less than Agile work processes.
      What Scrum did however was to add psychological stress to the formula with the intent of increasing productivity. This was done by putting emphasis on proof of progress rather than collaboration. It is an effective way to shame people into becoming more productive, and it is a typical behavior for extroverts to seek the admiration and praise of others. The downside is increased levels of stress, which is counterproductive. In many cases it also leads to manipulation of data and fragmentation of work, especially in continuous delivery situations where people tend to work on multiple things at the same time.
      For many years Scrum had three questions that was the law to regurgitate every daily meeting:
      What did I do yesterday that helped the development team meet the sprint goal? What will I do today to help the development team meet the sprint goal? Do I see any impediment that prevents me or the development team from meeting the sprint goal? In the 2020 scrum guide they have backed off from this a bit, but they still focus on the feeling of guilt by pushing the conversation towards progress.
      This is even more emphasized in the statement of the benefits of the daily stand-up:
      Again this is clearly written from the perspective of an extrovert because for many introverts this is NOT a forum for improved communication. The idea that the daily stand-up eliminate the need for other meetings is not true. It most certainly can consolidate questions into a more focused forum, which does reduce the need to bother developers and others multiple times, but you often find reasons for more meetings, not less.
      How do we make this better?
      Let us first decide why we want to have daily meetings in the first place. The most obvious reason is to gain control. This is how most managers that are detached from the team see the daily stand-up because it is the only way they can stay on top of things, so they can look good in other meetings. That is not what daily stand-ups are for however and as a manger you should instead manage your time and make sure you work with the team and not act as a proxy.
      The reason we have daily stand-up should be to make sure everyone in the team have a voice and to make sure everyone is informed. By making sure everyone in the team get a voice we can find impediments and help each other solve problems. We can lift concerns and ask questions in a safe setting that allow the team to feel safe. It allows for a common forum for information, so everyone can feel that they have the information they need at all times.
      We do this because questions and doubt are the bane of productivity and team health.
      The first thing we do is to remove the time cap. Our minds are very sensitive to time and performance under pressure, so we remove that. Instead, we add a 30-minute slot every morning where we spend as much time as we need. Sometimes it is just 5 minutes, sometimes we extend the 30 minutes and change it into another type of meeting.
      The second thing we do is remove the need to report what has been done. This is the cause of much anxiety and in a healthy team you should not need that type of information anyway. Instead, we focus on questions, impediments and requests for help. We make sure everyone in the team get a chance to speak, and we make sure that everyone feel safe, so they dare to say what is on their mind. This is important because one thing we want to capture is if time estimates need to be extended or if new tasks might be needed.
      We sort things that come up as team related or personal, so we can focus on the team related issues first and then take personal questions after the meeting to make the disruption as small as possible. To make this disruption even smaller we put the daily meeting as early as possible without limiting peoples freedom. This means that you most likely have people in the team that have kids or other family situations that require them to have some flexibility in the morning and afternoon. 9 or 10 are common times, but you can just as well do this after lunch for example. The aim is to avoid disrupting the team as content switching is bad.
      The final part is for the team lead and architect to inform the team of things happening outside the team that is relevant to the team.
      I strongly suggest that you make this daily meeting as comfortable as possible instead of actually making it an actual stand-up. The reason for that is that most people are more likely to raise questions and ask for help when they are comfortable. If you can align this around a coffee break or breakfast, then that is excellent.
      The summary:
      Schedule the meeting as early as possible without limiting the flexibility of your team members. Go around the team and let everyone ask questions, request help and raise concerns if there are any. Team lead and Architect give information relevant for the team. Confirm activities such as additional meetings or request for information or to solve impediments Grab some water or coffee and then return to work again. I find that these types of daily meetings often lead to better productivity for the simple reason that people feel less stressed when they get information and can get their problems solved. The outcome of these meetings often lead to technical discussions to answer technical questions and sometimes new activities to refactor things that might not have been captured otherwise.
      So if you are stuck in a daily routine of regurgitating Jira numbers where you feel the need to adjust numbers a bit just to look good, then I suggest you give this approach a try instead. 
      Management by fear and intimidation is a poor substitute for making your team feel safe and informed.

      The Failed Product Owner - do you even provide feedback?

      Product owners often get blamed for not understanding Agile and for not providing clear requirements. Is this their fault though, or are you not providing the correct feedback to help them improve? Agile teams often work with the product owner absent, especially in the retrospectives. If that is true for your team, who is actually at fault then?
      I hear this all the time. "The product owner" is absent or "the product owner can't give a straight answer on what I should do, it changes by the minute". This is especially prominent in project based organizations where Agile means that you just remove the requirements phase in your waterfall process to make things fall down to the development team faster. Agile becomes ad-hoc and chaotic and it is all the product owners fault. Right?
      This is a problematic attitude and one that to me clearly means that the team is not really Agile, but still work as a receiver instead of the engine it should be. Although in most organizations there are two processes and the development team always is the receiver of strategic goals, they should not be a passive one.
      Not being passive means that you put demands on what you receive.
      How you receive a new business need, what information you need and how you work together with the product owner is not something that you passively sit around and complain about. It is the core of what the retrospectives are for! I would bet that in most teams where you have issues with the product owner you do not include that person in your retrospectives? Do you even provide feedback or set up activities to help the product owner improve together with you?
      If the product owner is not included, then could the issue be with you and not the product owner?
      The product owner is a part of your team. This means that you are responsible to speak up and ensure that everyone in the team is working in the way that best benefit the team. This means that you should provide feedback if the product owner is absent or if you do not get the information you need. This should be done in retrospective, just like you do it with every other feedback concerning your work process and collaboration in the team.
      Easy to say, but our Product Owner does not care.
      I know, this happens all the time. The product owner is tied up in meetings all day and just ignore your feedback. This is where you need to play hardball and provide empiric evidence that the issues you have is not your fault and that you have done your job to try to improve this. The First step is to go above the product owner and point out the issue to the people above. Sometimes that works, but it may not always be an option.
      In the sprint planning you should be very clear on what information need to be present for you to accept a user story. Remember that once you put the user story in the sprint, you have accepted the user story and you are responsible for the consequence for poor requirements. Never accept a user story that is not clear enough for you to work on. It is the responsibility of the product owner to ensure the user story can be accepted by the development team.
      If you use Jira then your next step will be to push back everything that is unclear to the product owner. This is done by assigning the product owner to the issue, put the issue in blocked status, or flag the issue if you do not have a blocked status and then comment saying that you wait for the product owner to respond. Once done, leave the issue and move to another issue. This will effectively remove the priority for the first issue as it will now be done after whatever issue you pickup next.
      This will allow you to move responsibility to the product owner and point out the issues you are having. It also allows you to get statistics on waiting times the team have due to the product owner not doing their job.
      Failure is on the team, not the product owner alone
      Just as the entire team is at fault if the scrum master or a team member is dragging the team down, the same goes for product owners. You manage it through the retrospective and constructive feedback. Help the product owner to be the team member you need hem to be. If that fail, then you as a team will fail as well.
      Make demands, just as you would for any other team member. Make sure their calendar have all stand ups booked, all retrospectives should be holy times and if they run around for meetings all the time, have them block time in their calendar for the team. You would not accept a developer to not do their job, so don't accept if the product owner is not doing theirs either.
      At the end of the day, remember that no product owner want to be a bad one. They often get dragged into activities where their role is poorly defined, so they need help to define what you as a team demand of them. This will make it more clear to them how to prioritize their time, or find a replacement to make sure you get the team member you deserve and need.
      Never sit silent with a clenched fist in your pocket.
      Speak up and offer constructive solutions and you will be surprised how willing many are to solve the situation with you. Teams work together and since we still have not developed telepathy we need to verbally communicate and express our need to work better together.
      Product owners are not outsiders, they are valued team members.
      ...or at least they should be.

      Scrum vs Kanban - what flavor of Agile is king?

      Over the years I have seen many claims to what flavor of Agile is king. In this article we will look at Scrum and Kanban to see if we can determine which of these two flavors are the best for you and your team. I have a feeling you will be surprised at the answer, but I hope you will not be.
      I recently read an article called "Scrum Is Dead. All Hail Kanban, the New King" where the author Emanuel Marques praise the Kanban flavor of Agile as his experience of Scrum have been less positive compared to Kanban. One of the responses to that article was written by Maarten Dalmijn, and he made some good points in his article on how flawed the initial article was.
      To anyone who work with Scrum in multiple projects and multiple companies you probably recognize Emanuel's story. It is in no way a unique experience he has that Scrum, like many other Agile flavors, are misrepresented due to adjustments by the team or the company. Here are some examples from Emanuel's article:
      A common thing that happens way too often. When you are inexperienced with Scrum, estimations and you do not set sprint goals, then this happens a lot. We see that the team is not working properly in the burndown chart as well.

      This is a typical Agile burndown when using story points when you either have issues that are too big or you do not close issues properly. For a team working with story point, which I think is stupid in any case, a burndown chart is completely useless.
      This is again inexperience in making proper estimations and because of that you did not have room for the unexpected. In all processes, methodologies and frameworks you need to be able to make proper work assessments. Agile make that easier by letting you make arbitrary measurements that are more like "guesstimates". If you fail doing that, then you are in real trouble regardless of what process methodology or framework you choose.
      Emanuel's team choose to go to Kanban because of their inability to adjust their way of working away from the production line of thinking to an Agile way of thinking. What was it about Kanban that attracted them?
      So out of all the things that Kanban offer, Emanuel's team choose to focus on these. As you can see all of these are about commitment and responsibility. If you combine this with the reasons Emanuel and his team felt the need to move from Scrum to Kanban you probably can see the same thing as I can and that is that this is a team that no one has taught how to work properly.
      They have been left in a work environment where things are difficult to navigate and control and as a result they feel they are unable to commit to anything. I assume this is because failure, as diffuse as that definition might be, happens frequently. They also seem to be working with a poor scrum master, possibly also inexperienced or limited in his capabilities by the work environment.
      Sadly I think Emanuel and his team will soon find out that Kanban with the focus on escaping accountability and control is a bad choice. Kanban is not going to make failures go away. In fact, it will probably make things worse as the stakeholders will find the Kanban way of working, especially the bare-bones version Emanuel and his team are describing, very annoying as they have little to no control in that flow.
      What does this have to do with what flavor is king?
      Well this has everything to do with what flavor is king. They all are. If you use them properly. Sadly many work places implement Agile in all its forms in the wrong way. They try to make Agile work in a project based organization with an ITIL based steering structure with multiple teams on the same products.
      If you add inexperience and poor coaching resources, then you are setting up all flavors of Agile to fail. With that comes frustration and stress for the teams, and they will naturally try to distance themselves from management and any form of accountability as they are destined to fail regardless off their effort.
      This is referred to as a MOD project by some of us that work with process and methodology design. MOD is short for "March of doom" meaning that the project or the team are already doomed before they start due to the restrictions already placed on them. It is also in reference to how managers often refer to them MODifying the Agile way of working, which often result in a poor experience.
      If you work with Scrum, Kanban, DevOps or any other flavor of Agile, that can be king for you and your team. If you use it correctly and you actually take your findings in retrospective to adjust it to fit your way of working. You can even mix them to find the optimal workflow for your team, because they all come from the same source: Agile.
      You have the power to make your flavor of Agile king
      This might seem strange for anyone who work in workplaces where your way of working is dictated by management, but there is hope. In all organizations you have two ways of working: The Steering and the Operational. If you can find the way to meet the steering, so they can do their job, then what happens in your team should be up to you. If you are sharing responsibilities with more teams, then you should build your way of working together with the other teams. Never work in isolation if you share responsibilities.
      In order to do that you need to figure out what steering need so you can provide that. Usually this is the holy trinity of time, money and quality. Time and money comes through time reporting and proper estimations. Quality comes from requirements and testing alongside prioritization. So no matter what flavor you choose you need the following:
      A handover of translated need - you need to understand what the need is so you can take ownership. A Prioritization meeting - to decide what to do next. A common practice to make estimations - learn to make proper estimations instead of "guesstimations". Log time at least once per day if you have time estimates. Break down tasks as small as possible and close as soon as they are done if using story points. That is usually all you need, regardless of flavor.
      So go out and make whatever flavor you prefer KING today.
  • Create New...