Devops for Growth
107.5K views | +9 today
Devops for Growth
For Product Owners/Product Managers and Scrum Teams: Growth Hacking, Devops, Agile, Lean for IT, Lean Startup, customer centric, software quality...
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'user story'. Clear
Scooped by Mickael Ruau
Scoop.it!

Software Development: Agile Version Control

Software Development: Agile Version Control | Devops for Growth | Scoop.it
Agile version control is very different to traditional version control. It is performed using many small feature branches which are being continually merged back into the trunk (or main development stream). This is necessary for the practice of Continuous Integration (CI) which is a core part of the Agile approach.

CI is an example of JIT (and hence DIRE) allowing problems to be found as soon as possible. It also supports other Agile practices such as short sprints and evolving the software using small, simple, user-centric User Stories. Use of CI depends on a version control system that allows easy branching and merging.

Most Agile teams also have two ongoing code streams (see Diagram 7) - the development "branch(es)" and the delivery "trunk". Again, this relies on a version control system that supports easy merging.

As far as I know Git is the only version control system currently available where a version node in the repository can have two parents. In other words Git allows you to automatically and safely merge code from different sources.

Although Git is not without it's problems (which I will discuss next month) I think using it is essential for Agile development to work smoothly. I will discuss the day-to-day use of different version controls systems (including Git) next month.
Mickael Ruau's insight:

Agile version control using Git is simple. A developer branches the code to work on a User Story. Git makes it easy to merge the branch back into the trunk. A simple example is shown in the following diagram where all User Story branches are merged back into the trunk by the end of each sprint.

Diagram 6. Agile Version Control


However, generally you need control of what features are delivered to "production". This is often accomplished by having dual streams - an on-going "development" stream (or branch) and a separate "delivery" stream (trunk) allowing control over when features are delivered.

Diagram 7. Dual Streams


This is very different from traditional version control where branches are eventually discarded (after possibly having been merged back into the trunk) - instead you have two on-going streams. This approach is only possible with a version control system such as Git where a version (ie, a node in the diagrams) can have two parents - in the diagrams this is any node with two outgoing arrows.

For a large project with multiple teams I have even seen the suggestion of multiple on-going "development" branches (eg: see Version Control for Multiple Agile Teams). I have not tried this but I have reservations because code merges between the teams would occur irregularly and might easily be forgotten (remember the rule of merge early and often). The two teams might create conflicting changes which are not discovered until the conflicting code is merged from the trunk into the other teams stream.

 

Diagram 8. Multiple Development Streams
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

FeatureDevotion

FeatureDevotion | Devops for Growth | Scoop.it

A common, perhaps dominant, practice of agile methods is to develop a list of features (often called stories) for the software that's being built. These features are tracked with index cards, work queues, burndown charts, backlogs, or whatever your tool of choice is.

(...)

The problem comes when this list suddenly grows horns and fangs and becomes a Fixed-Price Fixed-Scope Big Up-Front Project Plan.

Mickael Ruau's insight:

Craig Larman once joked that the waterfall process has strong antibodies that reject iterative processes by warping them into some form of waterfall. RUP has been a common victim of these antibodies, seeing its phases turn into some variant of the analysis-design-build-test conveyor.

(...)
The plan is a tool to figure out what should fit in the FivePoundBag. If your plan's not constantly changing, you are very unlikely to be doing adaptive planning, and hence aren't agile.

Feature lists have another problem - you easily lose sight of the context that makes the feature valuable.

This is a reason why Alistair Cockburn is a proponent of use cases, because they concentrate on a narrative of how someone uses a system.

Marc NcNeil also talks about this in terms of Customer Journeys. The weakness of use cases in planning is that they don't give you clear units to tick off so you can assess progress and project consequences of choices into the future.

That makes them less useful as a planning tool, but that doesn't negate their value as tool for imagining what a good outcome would be.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

No more user stories! There are jobs to be done | by Henrico Dolfing | The Startup

No more user stories! There are jobs to be done | by Henrico Dolfing | The Startup | Devops for Growth | Scoop.it
Creating new and better products that thousands or millions of customers actually love is a top priority for almost every company. Agile frameworks and techniques have been hailed as a solution for…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Complex Refinement with User Story Canvas

Complex Refinement with User Story Canvas | Devops for Growth | Scoop.it
Usually conversation between developers and Product Owner goes around acceptance criteria just to negotiate scope of requirements for one user story, but knowledge and context are not conveyed in the same structured way. User Story Canvas can help Scrum Team to fix these problems by focusing team to confirm more complex aspects.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

User Story Smells & Anti-patterns

A look at common anti-patterns and mistakes that teams unknowingly employ when writing user stories
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Rédiger des User Stories

Après une première présentation sur la rédaction des User Stories, je mets à jours une nouvelle présentation.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Assumptions, Risks, and Dependencies in User Stories - DZone Agile

Assumptions, Risks, and Dependencies in User Stories - DZone Agile | Devops for Growth | Scoop.it
Assumptions, risks, and dependencies in your requirements and user stories might slip under the radar and harm your project success if left unchecked.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Splitting User Stories with Conjunctions and Connectors


As a couple planning a vacation for our family,
We want a resort that has activities appropriate for our teenage children,
as well as couples,
so that we can all enjoy our vacation.


Notice the middle line:
“We want a resort that has activities appropriate for our teenage children, as well as couples ”

 

We can break this into stories for the teenagers, as well as the couple.


As a teenager on vacation with my family,
I want activities to do with other teens,
so that I can meet other teens to hang out with
instead of being stuck with my lame parents the whole time.

 

and

As a couple traveling with my our family,
We want romantic activities to do as a couple,
so that we can rekindle our love connection.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Slicing heuristics - Techniques for improving value generation, speed…

Talk at LAST Conference 2019
Mickael Ruau's insight:

Local flow is “good”, but not enough

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Beyond INVEST - How to use story slicing to improve team and organisa…

Presented at Agile BA & PO meetup on May 15th 2019
Mickael Ruau's insight:

3 levels of story slicing :

 

  1. APABILITY What does the CUSTOMER want to be able to do?
  2. FUNCTIONAL What tasks or steps will the CUSTOMER need to take to achieve the capability?
  3. TECHNICAL What tasks or steps will WE need to take to implement the functionality?
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Cheat Sheet: 8 ways to split your user stories

Cheat Sheet: 8 ways to split your user stories
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Elephant Carpaccio

For agile development to work well, it is important to have many small stories and many small tasks. This presentation will show how to divide epics into minimal achievable stories and how to decompose stories into minimal achievable tasks.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

User story technique

User story technique | Devops for Growth | Scoop.it

Il n'est pas rare de rencontrer le concept de user story technique. Mais qu'est-ce que c'est ? Est-ce une bonne idée ?

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Not Everything Needs to Be a User Story: Using FDD Features

Not Everything Needs to Be a User Story: Using FDD Features | Devops for Growth | Scoop.it
If you're writing product backlog items for parts of a system and stretching to write decent user stories for those items, consider using FDD’s features.
Mickael Ruau's insight:


Wikipedia has a good description of FDD so I’m only going to describe one small part of it: features. Features are analogous to product backlog items for a Scrum project. And just like many teams find it useful to use the “As a , I want so that ” syntax for user stories as product backlog items, FDD has its own recommended syntax for features.

An FDD feature is written in this format:

[action] the [result] [by|for|of|to] a(n) [object]

As examples, consider these:

  • Estimate the closing price of stock
  • Generate a unique identifier for a transaction
  • Change the text displayed on a kiosk
  • Merge the data for duplicate transactions

 

In each case, the feature description starts with the action (a verb) and ends with what would be an object within the system. (FDD is particularly well suited for object-oriented development.)

This can be a particularly good syntax when developing something like an Application Programming Interface (API). But I find it works equally well on other types of back-end functionality. As I said at the beginning, about 10% of my own recent product backlog I examined was in this syntax.

If you find yourself writing product backlog items for parts of a system and are stretching to think of how to write decent user stories for those items, you might want to consider using FDD’s features. I think you’ll find them as helpful as I do.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

The True Purpose Of Story Splitting | Nave

Let’s reveal whether we approach story splitting with the right motivation and explore the tools that enable us to ask the right questions at the right time.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Biais Cognitifs – La loi du marteau –

Biais Cognitifs – La loi du marteau – | Devops for Growth | Scoop.it
Nous avons tendance à porter une confiance excessive aux outils avec lesquels nous sommes familiers même en présence de bien meilleures options. Ce biais est aussi connu sous le nom de la loi de l'instrument ou le marteau de Maslow. Comme l’avait dit Abraham Maslow en 1966, « J'imagine qu'il est tentant, si le seul outil…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Specification by example - Wikipedia

Specification by example

Specification by example ( SBE) is a collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements. It is applied in the context of agile software development methods, in particular behavior-driven development.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Sculptez vos user stories et critères d’acceptance à l’aide de questions –

Sculptez vos user stories et critères d’acceptance à l’aide de questions – | Devops for Growth | Scoop.it
Une idée de fonctionnalité est comme un matériau brut que l'on peut s'amuser à sculpter. Je l’ai remarqué lors d’ateliers en questionnant les équipes que j’accompagne sur les fonctionnalités qu’elles veulent développer et la manière dont elles comptent les valider. J’utilise les trames “User story” et BDD (Behaviour Driven Development) pour capturer l’essence du besoin…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

User Stories et animation des ateliers utilisateur

27.03.2012 : ScrumDay Paris organisé par le FrenchSUG. Voici ma présentation sur l'animation des ateliers de collecte des besoins utilisateur.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

The Story Slicing Workshop – Barry Overeem – The Liberators

The Story Slicing Workshop – Barry Overeem – The Liberators | Devops for Growth | Scoop.it

The Elephant Carpaccio facilitation guide by Henrik Kniberg and Alistair Cockburn offered some inspiration. User stories should be vertical, testable, user-valuable and cut across multiple architectural layers. Story slicing is about making thinner stories (but still vertical). We divided the group in smaller teams and let them think of reasons why you should split stories. The result covered most of the reasons Henrik & Alistair brought up themselves:

  • Learn faster
  • Deliver more often
  • Happier stakeholders
  • More in-sync with other people & teams
  • Better prioritisation’s
  • Better product earlier
  • More business options
  • Less risk (less time “underwater”)
  • Sense of velocity
  • Easier planning

 

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Story Slicing, How Small is Enough?

Story Slicing, How Small is Enough? | Devops for Growth | Scoop.it
Smaller stories tend to get more accurate estimates. This is my guidance for new Scrum teams, and ScrumMasters, trying to decide on Story size.
Mickael Ruau's insight:

Some simple ideas:

  • CRUD (Create, Read, Update, Delete) boundaries
  • Acceptance criteria – often the acceptance criteria on the back of the Story Card will give a good hint.
  • Happy Path – many stories have exceptional conditions consider splitting them out
  • Simple versions of an algorithm. With a complex algorithm and complex UI it might worthwhile to do a simple version of either first and then fill in the detail in the next story. Sometime this can come from making some elements constants instead of looking them up or calculating them
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Effective story slicing

effective story slicing Neil Killick, Agile Coach / Trainer neilkillick.com / iterative.com.au Copyright Neil Killick, Iterative, 2014 neil_killick
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Split poker - mieux découper ses user-stories

Le split poker est un jeu de carte gratuit proposé par la société SOAT qui permet d'aider au découpage des user-stories. A tester !
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

As user, I hate user stories

AS USER, I HATE USER STORIES ThoughtWorks Presents! - Munich, 16 November 2016
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

3 manières de découper ses user stories –

3 manières de découper ses user stories – | Devops for Growth | Scoop.it
S'intéresser à la taille de ses user stories et les découper lorsqu'elles sont trop grandes est une bonne pratique. Cela permet d'éviter l'effet tunnel, de produire de la valeur rapidement et de contribuer à une meilleure organisation du travail de tout le monde. Encore faut-il les découper efficacement afin qu'elles soient testables et créent de…
Mickael Ruau's insight:

Décomposition à partir d’exemples

L’une des pratiques du BDD correspond à l’écriture d’exemples ou scénarios pour décrire le comportement attendu d’une fonctionnalité. Le besoin décrit dans une user story peut donner lieu à plusieurs scénarios. Si cette user story parait trop grande, il sera possible de la décomposer en associant par exemple une nouvelle user story aux scénarios identifiés.

Pour déterminer différents scénarios, on pourra s’inspirer de l’article de Jean Claude Grosjean qui liste 10 stratégies de décomposition des user stories en utilisant notamment les Personas, les opérations, les niveaux de qualité attendus, etc.

No comment yet.