Archive for the ‘scrum’ Category

Flow in an Agile environment.

30 March, 2017

Flow is the new buzz. Each of us knows exactly what flow is. And how it feels. It feels great! You probably have even experienced it yourself. Great! But flow in relation with work?  That is something else. It needs planning,  and changing work habits.

In my previous blog I started with the above paragraph. It triggered questions on what Flow is? Trying to answer this question took too many words for a small reply. So I made a blog in which I describe what I mean with Flow.

Being in “the Flow” means that what I do in that moment of Flow goes ”effortless”, “smoothly” and in a continuous cadence.

When I talk about Flow in a team setting, there are two views:

  • The team is in a mood in which it “effortless” and “smoothly” produces results;
  • The work items run smoothly from left (input queue or Product backlog) to the right (output queue). There are no inventories that block the flow of work, and work does not flow backwards (upwards).

The view on work that flows upstream makes people realize the unnatural aspect of it. Work, like water, always flows downstream. If not, then the (natural) flow is ‘broken’ and waste is created: “effort to bring the water of work upstream”.

So flow in our work environment is the continuous movement of work items in the direction of the customer. Never moving away from the customer. In each step value is added to the work items. We only add value that makes the customer happy. If not we pollute the water, add baggage to the work items that makes the customer not happy, the maintenance more difficult and the change of defects greater.

Flow as well means that the effort for the workers is evenly distributed and not ‘batch-like’. The work steps are in balance. No step is overloaded and no step is starving.

Flow in a kanban system aims to reduce work staying in inventories, as this creates waterfalls. With a real danger of dam busts.

Inventory typically occurs when we hit a bottleneck or constraint. Opposite it means that we avoid waterfalls and inventory by taking away constraints.

the team becomes more stable and predictable in their  deliveries.

So, from whatever view you look at Flow, it is a powerful weapon making your team more fun and more resultful.

Predictable & resilient programs

15 November, 2013

Too many efforts get lost in complexity or frustration.

“I wish we had known before, what we know now; we never would have started this project”

“Why don’t they listen to us?” asked the project manager himself about management

Many programs keep their focus regardless changes in the system around them

We live in a world that is dynamic and always in motion. That’s a fact. So, how can we know today, what will be the challenge of tomorrow? The answer is simple: we do not know, unless…

Starting a program is to achieve some goal that was defined yesterday. How do you manage a program that aims to achieve something that may or may not be changed while you do your utmost best to get there? How can you early recognize a changing goal that you targeted?

Organizations need to be able to apply a kind of rocket that is guided to it’s moving target by means of laser. Listen2Change offers this management guidance. We provide the laser beam that the decision maker transfers into an adjusted focus, based on new knowledge of the target and the system.

A program in a system influences the system and is impacted by unpredictable agents in that system and events outside that system.

We visualize the influences and resulting changes on regular basis (daily, weekly, ..). It enables weak signal detection to identify risks or opportunities.

For this we use short anecdotes from all stakeholders in the system. Each anacdote-teller adds predefined ‘tags’ or signifying data to their anecdote. The signification provides navigation through the hundreds of anecdotes. it unleashes understanding detailed changes and impact from the perspective of each participant.

The underlying assumption is that people exchange information via stories. The stories are triggered by open questions and gathered independent from each other.  The complete set of stories provide a true reflection of the  reality. As it is continuous it truly provides your laser beam towards a moving target.

The method provides any program or mission the means to start without a clear understanding of the final result. This result will emerge from the running program and its impact in the system.

 

Giving customers their legitimate place in software development.

26 August, 2013

Being really lean means that only that functionality customers use (and are willing to pay for) is developed and released. That means being so agile, that trends and patterns in customer needs/wishes and problems are continuously understood and drive service/product development and delivery.

For this the ‘voice of the customer’ needs to be continuously monitored. The result of the listening is to be analyzed and integrated in the development life cycle (e.g. product backlogs).

As not all new functionality or innovations originate from customers, also the ‘voice of the internal-experts needs to be continuously monitored. This knowledge, experiences and ideas is integrated in the development life cycle as well.

In earlier blogs I wrote in Customer Sensor Networks. Being the same subject, it lacks the natural place in the present developments in agile software development methods. By lack of a better word I use in this blog the term CusDevCus which stands for Customer-Development-Customer. With Development I mean the complete development lifecycle including Marketing, Sales, Product Management, Development, Release and Operations, ect. I am open for any better term.

Core elements of CusDevCus are:

  1. Integrated customer feedback (or external expert feedback) into the development life cycle loop to create integrated feedback,. Integrated feedback
    1. is unlimited in size, the larger the amount of participants, the more effective the next release,
    2. gains insight in trends and weak signals for present and future functionality,
    3. is generated in the form of testing developed functionality as well as new (unrelated) ideas.
  2. Integrated employee (as internal experts) feedback with the same aspects explained under the integrated customer feedback and
    1. open to all employees, continuously…
  3. The feedback combines both quantitative and qualitative information.
  4. Each feedback is signified by the feedback provider. This provides navigation through large amount of feedback.
  5. The Product Owner analyses the feedback-patterns. The combined quantitative and qualitative information enables both a deep understanding of the explicit functionality-feedback and the high level patterns.
  6. Because the feedback is integrated in agile development methods (like Scrum, Kanban, OpenUP, ..) experimentation of new functionality is possible in a semi-real environment using real customers.  This seriously reduces R&D and Sales and Marketing effort and optimizes organizational learning.
  7. CusDevCus fully builds on devOps, BusDevOps lean startup and other agile evolutions.
  8. CusDevCus is based on open feedback in the form of narratives. That means there are no preformatted testforms or questionnaires for feedback.
  9. Of course the open format feedback does not eliminate the need for professional testing!

10. CusDevCus focuses on different user groups. Different user groups have different needs. They reveal different uses (or no use) of functionality.

In my view the above described next step in agile (software) development is a natural one. The main question is whether companies are able to make the mental shift to integrate the customer as described in the software development lifecycle.

Customer Sensor Networks

12 March, 2013

Agile software development has 2 major positive attributes: the short release cycle and the possibility to integrate release-feedback rapidly in the product backlog. In this blog Customer Sensor Networks (CSN) are explained as a mechanism to integrate the Agile software development life cycle with customer feedback effectively.

CSN enables insight in what functionally is needed or wanted. To understand customer needs can be a challenge. In many cases customers do not have any idea what is possible in terms of functionality.

What is possible is in the heads of the developers, architects., analysts or product managers. But what is technically possible is not always wanted or needed by the customers.

The short feedback loop with a short time to market, enables product management to ‘test’ how features are accepted by (parts of) the customer-base. Implementing CSN lets the organization understand effort- and cost-effectively what functionality customers are willing to pay for. It is a good idea to involve the marketing strategy in the development life cycle.

Which customers to select is based on their expertise or area of interest. A variety of customer-types increases the variety of feedback. Innovators will appreciate other aspects then customers in the early or late majority groups. Which profiles you select, will be based on the business and business objectives.

Customer Sensor Network

Figure 1: Customer Sensor Network implementation.

The CSN explained here is based on Sense Maker® software of Cognitive Edge.

The CSN uses an online collector website which pre-processed the information for the product owner and the DevOps teams. Pre-processing is done by the CSN and based on the information provided by the customers.

The Feedback analysis consists of functional evaluation and an emotional aspect. The functional aspects cover things like how features are used or what is missing. The emotional aspect lets product owner en DevOps team members understand what (missing) functionality does with customers. The emotional evaluation is important to understand and support marketing aspects of the product.

Techniques like private beta’s or feature flags enable teams to manipulate releases to different test- or customer groups.

Figure 1 also shows typical takt times in a CSN system. Takt time and wait time lets the DevOps team and product owner optimize flow and adjust overall throughput time with the expectations of the different test groups. This example shows a sprint of 3 weeks. The test period is set for 1 week. Then the feedback is evaluated 2 weeks after the DevOps team finished work. Depending on the expectations of the customer test groups, the waiting time for the customer groups to learn what the effect of their testing has been, might be too long.

Using customers in the development life cycle presents some challenges to the organization. Aspects to take into consideration are incentives and how they (in)formally integrate in the communication plans. Incentives may differ per customer type. For example, for innovator’s their name can be listed on the product website as contributors, or they are invited on some regular basis to the development site to discuss with the DevOps teams and product owners. The early and late majority groups can be given a free license of the product.

CSN provides an effective organizational and team learning mechanism. New idea’s can be tested rapidly and (cost-)effectively. CSN triggers a business approach to Agile development. Developers, maintenance people, product management and marketing all learn as a team what it is that makes their customers happy or dissatisfied.

Applying customer sensor networks (CSN) in Lean Startup and DevOps teams

7 March, 2013

The Lean Startup movement addresses the issue to match product functionality to market demand. For this a contextual external customer feedback loop needs to be implemented. A customer sensor network using SenseMaker® provides online, real-time and continuous contextual feedback, closing the feedback loop.

SenseMaker uses an online collector website that lets customers provide feedback by means of narratives. Each narrative gets a title. The customers also provide additional meaning to their narrative. The system categorizes feedback based on the meaning given by the customers. This avoids overhead during analysis for the organization. The SenseMaker analysis software supports the evaluation of the feedback. Enabling effective and short evaluation time. This feedback mechanism enables evaluation of large amounts of feedback from different customer or user groups.

The analysis software provides both quantitative and qualitative evaluation. The quantitative aspects provide insight if functionality acceptance level. The qualitative aspects provide deeper insight in innovation opportunities. For example alternative or unforeseen use of the functionality. On the other side of the same scale, the feedback points to a risk or threat. For example that the new functionality is not well accepted by early innovators.

Customer sensor networks integrate with Lean Startup pilot experiments and DevOps private beta’s. It also provides for DevOps implementation the needed internal and external feedback for development. The internal feedback from operations to development is useful in case when the DevOps consists of multiple team in different locations.

CSN makes it possible that for some types of development, product management joins DevOps teams to form ProDevOps. This really reduces overhead and transition costs. It enables a whole new approach to app development in a true Agile manner.

 

SenseMaker is a Cognitive Edge product linking micro-narratives with human sense-making to create advanced decision support, research and monitoring capability in both large and small organisations.

 

Applying SenseMaker® in scrum projects

2 July, 2012

In earlier blogs I showed how SenseMaking software ecology and the Cynefin model support Agile development. In this blog I’ll explain how to SenseMaker® supports gathering large amounts of user stories or feedback. These stories are input for the product back log and the product vision.

SenseMaker® enables software developing organizations to involve large groups of users or customers in both the requirements gathering phase and the maintenance phase. This gives them an advantage over their competitors. The input and feedback ensure that the new functions are adequate and fulfill a concrete demand.

Story tellers enter their stories on website. After entering their stories they are asked to provide additional meaning to their stories. This provides for valuable additional information. This is called signification and forms the core of the requirements gathering process. The signification framework is tailor-made. It structures the hundreds or thousands of stories in such a way that the development team is able to analyze them effectively.

In a next step the development team(s) analyze the entered stories. During the analysis the team transfers the raw user stories into a product back log. The backlog reflects the concrete demand of the users and customers. As the categorization incorporates a prioritization the development teams knows which functionality is to transferred to the sprint team first.

Emerging functionality
Once the sprint teams deliver their first functionality to the users, SenseMaker enable real-time feedback. This mechanism allows end-users to evaluate and try out new functionality and provide instant feedback. Because of the automated and real-time feedback mechanism the development is able to deliver only functionality for which is a real demand. It is also possible to try out new stuff end-users have not seen before.

The above described mechanisms provides a great advantage for the organization. First it doesn’t waste valuable development capacity on irrelevant functionality. Second, both first–end-users and developers feel appreciated as their ideas and thoughts are directly used. Thirdly because the organization is able to produce new functionality in a lean and flexible manner, the organization gains the recognition being innovative and customer-centric.

Cynefin-agile requirements development using SenseMaker®

6 June, 2012

In a previous blog I wrote on Lean and Agile software development with Sensemaker.
In this blog I’ll further explore the actual use of Sensemaker for initial development of requirements for software projects. I also explain the process of distilling high level requirements into detailed user stories.

In standard fail-safe software development environment, requirements development is a steps-wise process from high level business- or user requests into smart allocated product component requirements.  This is a process which intertwines with constructing a Work Breakdown Structure. This breaking down enables the project to determine a high level overview on the work to be done. It is the vision of what the end product is about, without yet knowing the functionality in detail.

At this point the project decides on the approach to develop the functionality (e.g. scrum, waterfall, etc.) and how this is delivered to the customer. Typically if the environment is both complex in terms of number of requirements, the number of stakeholders involved and the frequency that requirements change, a Cynefin-agile approach is recommended.
If the set of requirements is limited and clear from the outset, just use the waterfall method or, if you can’t resists, apply agile-scrum.

In order to apply the cynefin-agile approach the use of signifying large quantities of requirements in SenseMaker is recommended. Using SenseMaker involves signifying the requirements or user-stories. Signifying can be done by the providers of the user stories, or by SenseMaker. It reduces the overhead of handling large amount of stakeholder input significantly.

Signifying provides a structure that enables the development team to view large amount of entered stories from different viewpoints. (during maintenance of the delivered product this method provides strong innovation opportunities).
Analyzing the signified set of requirements/user stories provides the product backlog.

Another element of cynefin-agile are the so-called experiments. In early stages of new development, neither the stakeholders, nor the development team have a clear picture of what is to build. So in stead of the standard fail-safe approach an Safe-Fail approach is opted.

Safe-fail provides an development environment based on learning. Only by learning the development team and other stakeholders are able to gain an understanding of the capabilities and opportunities to be developed. Experiments are started on some selected user stories from the product backlog. Mark that failures of some experiments are expected! This failure provides the must needed learning. Learning provides valuable insight in the risks and innovation possibilities.

The functionality delivered after each sprint or increment is evaluated by the team and stakeholders. Experiments are either stopped or enforced. In such way, all parts of the vision can be addressed.
The delivered functionality is co-created by the development team and all stakeholders.

Using Sensemaker® enables development teams to apply the cynefin-agile approach of safe-fail software or product development.