welcome šŸ¤—

May this page spark joy and make you and your team thinking and discussing about certain aspects in software and product development.

šŸ‘‡ leeeet's go šŸ‘‡

relative estimation

Story points only work for relative estimation. For a junior dev, the difference between a 2 point story A and a 4 point story B means double the work. For him that could mean 3 days for A and 6 days for B. For a senior dev in the same team, it also means double the work. But for her its 1 day for A and 2 days for B. 

With relative estimation, the predictability comes with stable teams and the amount of story points they delivered in the past (which also reflects the average amount of distraction). It is NOT comparable between teams.

If you need estimates (for trade-off decisions, not for comparison!) in the unit hours, days, or weeks, estimate in hours, days, or weeks. And use the Fibonacci sequence for that (...2 days, 3 days, 5 days, 8 days, ....). With that you prevent discussions about small differences and reflect the increasing uncertainty of big stories.

But please, don't do ->that<-

I like to say that I may have invented story points, and if I did, Iā€™m sorry now.
Ron Jeffries (read more: Story Points Revisited)

PS: I love to talk about animals rather than story points. You may want to try this at home: Magic estimation in the zoo



Disappointed Guy Meme. Upper panel shows a guy smiling with the caption: "Managements starts team comparison with story points". Bottom panel shows same guy but disappointed with caption: "Team doubles story points"

continuous planning

When the next PI Planning is arriving, everybody gets nervous and has to prepare this holy event, specify in detail possible features, and try not beeing confused with the terms PI objectives, outcome and features.

Thanks to the PI Planning Business and IT are forced, at least 4 times a year, to talk to each other.

But: How often we should plan  is driven by the context of our product. A new fancy app needs another cadence and a different kind of planning then a core business application with 100 interfaces. 

And do not forget:
"Everybody has a plan until they get punched in the mouth"

"Business people and developers must work together daily throughout the project."


Thank you, Pirmin, for the inspiration!

Here it comes Meme. Guy crying at the camera while a tornado is behind him. Guy is 4 times on the mime. Tornado is captioned with "PI Planning". The 4 guys as RTE, BO, PM, PO. and the image with "Here it comes"

wall of confusion

The underlying success factor to meet a common goal is culture. No tool and no process has the same leverage effect. 

Since DevOps it is apparent, that Dev (the folks who want to create value - features - asap) and Ops (the folks who want to have secure, stable, maintainable, ... software) should work together to be able to deliver as fast as needed secure, stable, maintainable, ... software. 

To do so, we should tear down the wall of confusion first. 

Boardroom Meeting Meme. 3 Panels. First Panel: Boss standing at a conference table asking "We have to do BizDevSec*Ops. Any suggestions? Second panel: Man says: "Fancy tools!" Women says: "Automate everythin!" Bored guy says: "Talking to each other across departmental boundaries". Third panel: Boss looking angry at the guy an guy flies out of a window.

quality addiction

Andres Freund made changes at the open source database PostgreSQL.

He made a performance test and noticed a delay of 500ms within the remote login ssh-processes.

While searching for the root cause he and the community found a serious security vulnerability.

Read more: dnip - open-source-ostern-welt-retten
Meme with a Man with shoulder-length brown hair and beard (Boromir from Lord of the rings), making a hand gesture, with caption: "one does not simply accept a delay 500ms"

agility with frameworks

Agile software development is a cultural and mindset thing. 

A framework or parts of it may help to become agile . 

But be aware: Sending employees to certification courses and organising PI plannings must not mean, that you are agile.

Let yourself inspire by LeSSSAFeFlight Levels etc. - but don't stop thinking.


Meme featuring a man resting his head on his hand looking frustrated in the top panel, and drying his tears with money in the bottom panel, with caption: SAFe when I tell them, that their framework isn't really agile.

hiding behind a framework

Hiding behind processes and frameworks is easy. 
"I can't do that for you, the next PI planning is only in 10 weeks". 

Beside all rules don't forget to collaborate! Individuals and Interactions over Processes and Tools (even if the tools are cool).
Meme: Homer hiding in four panels behind the SAFe Framework Picture. Caption: Me, hiding behind a framework when something should be done.

devops - infrastructure and culture

With a change, we want to "Earn or Learn". 
Do our users like the new feature? Do they miss the dropped feature? 
To figure this out you need a fast time-to-market, because only the market (internal users are kind of a market too) tells you the truth. 
Doing DevOps means, creating the infrastructure AND culture to handle a faster time-to-market.
Meme - Baby Yoda holding a cup of tea with a mischievous expression in a natural setting with caption: Me waiting to learn in a two releases per year environment

boring solution

"Use the simplest and most boring solutions for a problem, and remember that 'boring' should not be conflated with 'bad' or technical debt." GitLab
And for that you have to (really) understand the (underlying) problem!

Read more: GitLab - Boring Solution
The office congratulation meme. Featuring two men shaking hands in a business setting. One looks like a manager, the other like out of place with a tie but also with a mullet and a bum bag. Caption: Manager congrat for the hard work to deliver features - Team that implemented the most boring solution.

feature trap

We mostly get measured by the amount of features delivered. And because you get what you measure we deliver features without having any idea, if they fulfil a purpose. We should focus on the outcome instead. Maybe redesign a feature. Drop one. Or increase the maintainability of your product to reduce the costs of future features.

Recommended reading: Escaping the Build Trap
conspiracy-guy meme. Man excitedly explaining a complex system using a wall covered with diagrams and notes, representing a humorous office scenario. Caption: Me explaining to the stakeholder how the system works.

feature flags

With DevOps techniques, we can separate the continuous deployment to production from releasing functions to the users. With feature flags, we can hide a feature from all users and e.g. release it only to a few test-users. 
Bro, Not Cool meme. In the upper image a guy captioned with "New Feature" looks at a women passing by captioned with "Release". In the bottom image a second guy captioned with "Feature flag" holds back the "New Feature" guy.

mvp or prototype?

While both serve the purpose of testing a hypothesis and gathering feedback, an MVP  has to survive in the market. That means it has to generate a return on investment with as low risk and effort as possible.

Read more: SyncDev - MVP
Ancient Aliens meme. Man with curly hair gesticulating, with text MVP and Prototype? Samesame... But Different on a meme comparing minimum viable product to prototype.

dealing with stakeholders

"The Product Owner may represent the needs of many stakeholders in the Product Backlog. Those wanting to change the Product Backlog can do so by trying to convince the Product Owner." Scrum Guide

The purpose of a Product Owner is to have a single instance who takes decisions about the product. That means she/he or a small group of people must have the power to do so but also have the responsibility about the outcome. For that, strategy and vision of the company and the product have to be clear!
American chopper argument 6 panel meme. Two guys sitting in the office. In every panel, their argument escalade a little bit more. In the last two panels, one men show with the finger at the other men who is running away. Caption from first to last panel: 1 - Why is this feature not implemented? 2 - I said No for this iteration. 3 - When you say no, you mean never. 4 - No text. Image shows Man throwing a chair at another man. 5 - Say Yes to my features! 6 - No text. Image shows second man running away.

quality is fix, scope is variable

In traditional project methodologies, scope and (most of the time) quality are fix. 
Cost and time are expandable, which leads to many project delays (because we do not know everything at the beginning). 

In agile software development practices, the scope must be variable! Cost (a team), time (an iteration) and, most important, quality are fix! 

I would rather have two out of five things "(really) done", instead of five things "almost done". With that, the "done"-things can unfold their effects.

Learn more: Search for Cost of Delay in the internet or What is the Cost of Delay?
Disaster Girl meme. Young girl smirking in the foreground with a house on fire and firetruck in the background overlaid with the meme text 'Product' (for the burning house) and 'delivered more features at the cost of quality' for the smirking girl.

mvp as an excuse

An MVP is NOT a collection of a small number of in-depth features. In its origin, it is a marketable product with enough features in width, each of it as simple as possible. 

"(...) the minimum viable product is a test of a specific set of hypotheses, with a goal of proving or disproving them as quickly as possible. One of the most important of these hypotheses is always: what will the customer care about? How will they define quality?"
Good enough never is (or is it?)


Meme: Ryan Reynold between Hugh Jackman and Jake Gyllenhaal. Ryan is humorously dressed as a gift and looking annoyed while Hugh and Jake are laughing out loud. Caption for Ryan is "Customer", for Hugh "We dropped the feature out of the MVP" and for Jake "And then we stoped the project after release 1.

shiny facade - technical dept

Error culture does not mean sloppy work. 

The opposite is true. We all must encourage and help each other ensuring quality and  not taking on debt we can't pay back. 

Technical dept is a credit we take on as a team, which we have to pay back including interest. With too much credit, we are no longer able to pay our bills for the basic needs (which are in the context of software: creating value).
2 Panel Meme. In the upper panel Homer Simpsons showing to Marge his shaped front-side of the body. Caption: Frontend. In the lower panel we see, that the shape is coming from brackets and ropes holding back the fat. Caption: Backend.

pareto vs. mvp definition

The lower definition comes from the inventor of the MVP, SyncDev. The upper expression is the widely known Pareto principle.  

In the end the message is: Good is good enough. 
Of course, this is not true for every case, but for most cases (let's say for 80% šŸ˜‰).

Source: SyncDev - MVP
Tuxedo Winnie the pooh meme. 2 panels. In the upper panel a normal dressed winnie says 80/20. In the buttom panel winnie the pooh with a tuxedo says: "Simply speaking, the MVP is the sweet spot in the upper left quadrant of ROI on the vertical axis and risk, wich correlates directly to effort and time to market, on th horizontal axis."

simplicity

Understanding the to-be-solved problem and find a solution as simple as possible saves you energy and costs on the long run. Your product will be easier to understand, easier to maintain and easier to extend.

"Simplicity - the art of maximizing the amount of work not done - is essential." Principles behind the Agile Manifesto


Left Exit 12 Off Ramp Meme: On the road sign straight ahead is marked "Complicated Solution" and right onto the off ramp is marked "Simplicity". A car captioned with "DevOps Team skids to the right at the last moment.

commitment

Do not make compromises in quality to get the s*it done! You may win the sprint, but will collapse during the marathon. 

The only Definition of Done (DoD) you need:
- Is it the highest quality code we can build, knowing what we know now?
- Are the users happy with it (which you can't know until they're using it).
- Does it satisfy both our and the user's/customer's strategic goals?
That's it.
Allen Holub

working software

Working software does not mean doing everything. It may be a good idea to scratch and discuss an UI-Flow. BUT the PRIMARY measure is working software  or a valuable product, respectively.

Read more: Manifesto for Agile Software Development
Phoebe and Joey from TV series Friends Meme. 8 panels. Phoebe says something, Joey repeats. In the first 6 panels Phoebe says: Working software - is the primary measure - of progress. Joey repeats it very concentrated. In the last 2 panels Phoebe says: "Working software is the primary measure of progress" and Joey repeats with pleasure: "A detailed plan is the primary measure of progress."

testing in product development

Imagine: 15 developers wrote software for 6 months. Afterwards they were allocated to other projects. Maybe 2 or 3 stay for bugfixing. The software reaches the test-team, not yet been involved into the project at all. Now they have 4 weeks to test the whole thing (the plan was 8 weeks but there were more feature requests so the development took 1 month longer and because we have to stick to the deadline the last phase - testing - is shortened). 

This still happens too often in the "agile world".  Stop it! 
Instead embed testers, quality mindset, Test-Driven-Development, Test-Automation etc. into your team and work together! Testing is NOT a phase! It's an inherit part of software development.

Read a personal experience: Out of the waterfall - from here you can see the rainbow much better
Expanding Brain Meme. 4 panels. A Brain is expanding from top to bottom. From top to bottom the brains are captioned with: Not testing - Test-Team - One person in team tests - Whole team testing

build-measure-learn-(adapt)

The concept of a MVP gained popularity with the lean startup methodology.  The lean startup methodology states that you should "Build - Measure - Learn" (B-M-L). Based on the learnings you decide to pivot or preserve. Therefore without measuring and learning you'll miss the whole magic. 

Oh, and it doesn't matter if you B-M-L  one feature or a whole product. Use it as a thinking model.

Anakin and Padme from Star Wars Meme. 1. Panel shows Anakin stating: "I created an MVP". 2. Panel shows Padme smiling and saying: "We will learn from it and adapt, right?". 3. Panel shows Anakin with narrowed eyes saying nothing. 4. Panel shows Padma with a questioning expression: "We will learn from it and adapt, right?"

a product is a series of mvps

"Because no product is ever "done", you create a series of MVPs, one after the other." 
Mc Greal, Don; Jocham, Ralph - The Professional Product Owner

Meme with a Man with shoulder-length brown hair and beard (Boromir from Lord of the rings), making a hand gesture, with caption: "one does not simply stop developing after the mvp"

product increment

If we stick to theory (which sometimes helps to understand the motivation behind a concept): 

"The moment a Product Backlog item meets the Definition of Done, an Increment is born."
"Multiple Increments may be created within a Sprint. The sum of the Increments is presented at the Sprint Review thus supporting empiricism. However, an Increment may be delivered to stakeholders prior to the end of the Sprint. The Sprint Review should never be considered a gate to releasing value."

We do not have to release everything immediately. We do not have to wait until the end of the PI or Sprint. Feature Flags (a.k.a. Feature Toggles) or Canary Deployments help to decouple deployment from release and reduce the risk of releasing buggy code (heck! we can't prevent this 100%).

Scene from Squid Game Netflix Series Meme. A group of people in green uniforms playing "Red Light, Green Light". One person almost falls to the ground, captioned with "Increment". Another person holds him on the neck of the uniform and is captioned with "Feature Flag"
Search