Sunday, January 31, 2016

Lean PPM – step 10: Consumers of documentation and their needs

In my last blog I pointed out why there is a need for documentation. What we at digitec Galaxus figured out during the last year working with our Lean PPM system was:

  • Who concrete are the target reader of a type of information
  • What abstraction level and format does a target reader prefer to use
  • What tools and environment does a target reader prefer to use
  • What tools and elements do we already use in our Lean PPM that offer options for documentation
Based in these findings we now agreed to establish some rules how we want to deal with the topic documentation. I guess in many organizations the situation is similar, so hopefully my blogs about documentation are useful.

At this point I have to say this is nothing new about documentation in any way. Already before agile and lean these findings were well known. The very basic concepts of documentation are:

  • Create a documentation only if there is a consumer that gets value out it
  • The documentation must meet the needs of a consumer in respect of amount and abstraction level of information, the format and the tool to use
  • If a user searches an information within the documentation, the documentation must support a structure and search so that the consumer will find the information easy and fast.
Sources that address these basic concepts are for example the International Requirements Engineering Board IREB e.V. in its foundation certification, the International Institute for Business Analysis IIBA with its BaBOK, or the differentiation between a product repository and a project repository as recommended by the International Software Product Association ISPMA.

Instead of listening to the needs and requirements of the human sources and sinks of documentation many organizations instead go primarily for standardization and the satisfaction of compliance constraints. From my experience organization should care to develop good documentation practices for the workforce with first priority and with second priority to be compliant to external constraints. In my experience it is always possible to transfer a documentation that follows good documentation practices into a format that as well satisfies external compliance constraints.

Funny that so many organizations and companies disregard the basic concepts as listed above. From my experience the overwhelming compulsion to create standards and satisfy compliance constraints outreaches the objective consideration that an unbalanced harmonization ends up in more drawbacks than benefits. Especially the demonic one-fits-all thinking that still creeps through the management floors – as well in respect of documentation…

A year before today we created documentation at digitec Galaxus following good practices only partially. We used epics and user stories in software development, we tried to avoid exhausting documentation in the requirements and design phase – but we did not follow good practices that support all types of consumers of our documentation. In the last year while establishing our Lean PPM, we discovered basically three different types of consumers. I use the terminology of digitec Galaxus as described my blogs “The value stream of the digitec lean portfolio Kanban system”, “The life cycle of an initiative” and “about project leads and business analysts...”. There is one blog dedicated to every consumer type. 

Sunday, January 3, 2016

Lean PPM step 9: Working Software over Comprehensive Documentation

I promised to talk about documentation - quite a while ago, I know - sorry...

Documentation is a very special topics to talk about. I discovered, I have to write more than one blog to cover this topis at least a bit. so lets start:

Just to remember – in 2001 a group of agile individuals phrased the agile manifesto and the twelve principles of agile software that are relevant as ever. With respect of this blog discussion about documentation in our agile & lean world I would like to repeat the interesting statements.

Agile Manifesto


  • Working software over comprehensive documentation

Twelve Principles of Agile Software


  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  • Business people and developers must work together daily throughout the project.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Simplicity--the art of maximizing the amount of work not done--is essential.

Just to point out: The other statements are as relevant. This subset is chosen in respect of the discussion in this blog.

In an agile & lean organization a core attribute is the continuous flow of development and improvement. An important impact is that many things are “in progress” at different level of maturity. As well many things are “done” and in operative use, like a deployed feature in our online-shop or erp-system.

This is where documentation comes into place. Core questions are: Who needs a documentation? What is the benefit of a documentation? To answer these questions, I present some typical scenarios out of our company

Scenario 1: The checkout process requires a change because of a new feature


Imagine we want to add a new feature like a new delivery option in our online-shop checkout process. The checkout process is a complex business process with many scenarios, dependencies, decisions and business rules behind. The working software unluckily is not a sufficient information source to change this complex process. To remind ourselves on all the decisions, business rules and compliance regulations is important before we change this process. As business people from all departments have stakes in this process (accounting, logistics, product management) source code is for sure the only truth of what is implemented, but for sure not best suited for the business people. So there is a need for some form of documentation beside the source code. Let’s phrase his need as a user story: “As a business reader I want to remind myself based on an easy to search, read and understand documentation what we decided that last time we worked on the checkout process.” Additional, as soon as the new checkout process is implemented the delivery process is changed as well leading to changes in operational process in logistics. This requires that we rollout the operational changes and educate our staff members in logistics how to deal with the new process. Therefore, we need some documentation as well.

Scenario 2: We want to rewrite the ranking algorithm of our products


Imagine we discovered that the ranking of products in our online-shop does not meet the expectations of you as a user searching for products. Ranking of products is a complicated (not a complex) algorithm. Many influencing factors determine the rank of a product. You might imagine some of them like: number of visits, numbers of sales in total, number of sales during a certain period, number of recommendations of customers who bought an article of this product…and some more factors. All these factor go into an algorithm. You can imagine that this algorithm is as complicated and secret as the ranking algorithm of Google in their search engine. In fact is kind of a similar problem. To nail this algorithm done more than one session with the right person on board (head marketing, head engineering, product managers, software engineers, …) is necessary. The outcome of these meetings in the end is kind of a decision table that lists the factors and the weight and influence of each factor in the algorithm. An excel table would fit – but unluckily you cannot discuss on base of an Excel table with a product manager for toys or living accessoires. To summarize: The user story to implement might be easy: As a user I want the products in the online-shop ranked in a way so that I find interesting offerings fast and at top on first view. The requiremrent engineering process to elicitate and specify the algorithm needs documentation in some form – as preparation, as discussion base, as outcome for implementation and test (algorithm, acceptance criteria, test data, …).  And at the time this new algorithm is implemented maybe we want to change it in six months again. Then scenario 1 comes into play.

I hope these two scenarios give you an insight why even in agile development documentation beside the source code is required in some form. Still we all are convinced that the best documentation is the one never written and we try to share information as far as possible by direct face to face communication. We encountered that this is unluckily not sufficient. So we strive to create just that minimum amount of documentation for readers and target groups that is sufficient to follow a sustainable path of development and improvement in our documentation.

Let’s see in some additional blogs what our idea about an agile documentation is – at least what we hope will meet our needs and deliver benefit. We are still on the road to establish a good agile documentation; we already found some good techniques and tools, but we still have lots of room for improvement.

Friday, January 1, 2016

The Swiss Agile Leaders Retrospective

If you never heard about the Swiss Agile Leaders Circle (SALC) – don’t worry.

SALC that is a bunch of individuals (Klaus, Line, Mischa, Peter and myself) out of the agile scene in Switzerland. Although everybody of us has a quite different history and job we share the common mindset and conviction. We share the vision that all these ideas around agile, lean, management 3.0 and so on support the development of organizations in a positive way. Thereby we define positive as: competing successfully in their market and offering a work environment where employees are intrinsic motivated and tell you that is fun to work.

Well, so far so good, and now?

We founded the SALC to share our experiences; and to share our experiences with others; and – in the best case – to seed a community of people that share their experiences on a voluntary base without our active engagement in any way.

To share our experiences is easy. We meet from time to time and have regularly skype session. As well we are present at events. This covers a part of our vision.

To share experiences with others is not that easy. What we did was driving community events like the Agile Unconference that took place Nov 4 2015 or workshops related to a specific topic. We organize these events, invite interested persons and hope there is any interest. Well, the Agile Unconference is a success and fun for us – although it is a lot of work us in preparation. Unluckily, we are not that happy with the workshop format. It is a tremendous piece of work to organize a workshop. The fun on our side was low and we are not that happy with the results.

Time to run a Retrospective…

There is our Retrospective: An image, painted on a piece of paper as we run through our retrospective in the West Park Coffee, 2nd floor feed with Latte Macchiato and Espresso (we needed two rounds of coffee…).

Retrospective Image
Image of our SALC Retrospective


What we found out: our vision is still valid. We are still convinced that all these ideas around agile, lean, management 3.0 and more develop organizations and companies in a positive way (see above).

We discovered as well that our goals to reach this vision as still to share between us, with everybody who likes to share – and to seed a community that shares our vision.

We discovered as well that the success of the Agile Unconference is that convincing for us that we go for a next run Thu 3 Nov 2016 at the SIX Swiss Exchange, ConventionPoint, Zürich.

We discovered that we are unhappy with the workshops as we run it today. Although we get a positive feedback from one or the other attendee, this format of sharing experience is a bit like pulling teeth. So we decided not to run any workshops in this way anymore.

So we did some brainstorming and decided to run some experiments. Why not acting kind of an agile / lean think tank? We could work with somebody, some organization – on the other hand while working with these individuals we can learn ourselves just the same.

Let’s run a limited experiment. We offer some individuals and organizations half a day or a day for working together on whatever problem or context under discussion there might be – with the prerequisite that is related to our vision and experience. There is no fixed agenda, no fixed topics; it will not be an educational event or training.

Ideally during such a think tank event we all together identify alternatives and options that might work to address the challenges in the identified problem space of the individual and organization. In the worst case we spend an intensive time with each other with the insight that even with the joint effort of engaged persons we were not able to find options how to improve. In the latter case it might be a good idea to rethink the whole scenario…

As you see on the image, we set ourselves three dates for just an experiment: 29 Jan 2016, 11 Mar 2016 and 27 May 2016. We are happy that we found as well a first chance to run an experiment…we will write a blog to give you feedback of the outcome