Crisp's BlogPage 17

from the Crisp Consultants

Continue reading: Guest post by Ellen Gottesdiener: Strenghten Your Discovery Muscle

Guest post by Ellen Gottesdiener: Strenghten Your Discovery Muscle

Here comes a new post from Ellen Gottesdiener who comes to Stockholm to hold her highly appreciated course Agile Requirements Analysis and Planning for Product Success.

In a recent interview in the New York Times, Panera Bread co-CEO Ronald M. Shaich talks about the importance of de­veloping an organization’s “discovery muscle” as well as its “delivery muscle.” Most companies have worked hard to perfect delivery—how they get work done—he says, because delivery “feels rational, people feel much safer with it, and you can analyze it.” But discovery—the activities you undertake to define or change your product, service, or market—is about “leaps of faith. It’s about trusting yourself. It’s about innova­tion.” The key, Shaich says, is for the discovery muscle to be at least as strong as the delivery muscle.

He took the words right out of our mouths. This need for balance between discovery and delivery applies in spades to software development. Our new book, Discover to Deliver: Agile Product Planning and Analysis, explicitly makes the case for equally balancing your commitment to these key ac­tivities. We define the relationship between them: In lean/agile software development, discovery and delivery are interwoven, interdependent, continuous activities (see figure 1). Each feeds the other.

Figure 1: Discovery and delivery are a continual process.

Continue reading

Continue reading: Mitt drömuppdrag

Mitt drömuppdrag

Som frilansande konsult kan man ju oftast inte utforma sina egna uppdrag, utan man får ta det som kommer i ens väg.

Har man tur kan man välja mellan två eller kanske till och med tre olika uppdrag. Har man haft bra beläggning under en tid och lyckats samla i ladorna kan man stå över tills det kommer något bättre i ens väg. Men till slut har man inget val alls utan måste ta vilket uppdrag som helst eftersom skattmas och bolåneinstitut skall ha sitt.

Nu är det inte så illa för mig, men jag tar mig i alla fall friheten att utforma mitt drömuppdrag. Om många vet vad jag drömmer om är ju chansen att det slår in större, eller hur?

Continue reading

Continue reading: Crisp for breakfast?

Crisp for breakfast?

What’s this? An alien invasion? A publicity stunt? A way of sneaking Crisp into your cereals? You make the call. We Go Lean at breakfast, lunch and dinner! 🙂 This picture was forwarded by Troy Magennis, a Monte Carlo pioneer. PS: Troy is coming to Stockholm to show us how to use Monte Carlo to

Continue reading
Continue reading: Interview with Peter Antman on software development

Interview with Peter Antman on software development

In May this year I was interviewed at the SmartBear MeetUI user conference in Stockholm about my background as a journalist, Linux and open source, software development in general and testing more specifically. Here’s a post containing the video and interviews with the other speakers at the conference. Interview with Peter Antman

Continue reading
Continue reading: Ny bok: Riv pyramiderna igen – Agil HR ‘from the trenches’

Ny bok: Riv pyramiderna igen – Agil HR ‘from the trenches’

Idag publicerade jag den första versionen av min nya bok Riv pyramiderna igen – Agil HR ‘from the trenches’. Boken tar sin utgångspunkt in min blogserie om Agil HR, som härmed fortsätter i bokform på Leanpub. Jag räknar med att den är cirka 50 – 70 procent klar och kommer färdigställas under hösten. Köp nu,

Continue reading
Continue reading: Agile event @ major swedish bank

Agile event @ major swedish bank

Yesterday I spent a very inspiring day with a big swedish bank, doing agile intros with 1200 people. We had developers, designers, testers, C-level execs, project leads, pretty much every role represented. The CEO opened with words about why they are determined to go all-out agile, and we had a speaker from another even bigger company describe their ongoing agile journey and amazing results so far. Very interesting. And best of all – no roadmap or other fake attempts at pretending that we know what the journey is going to look like. It was clear that this is a bumpy ride and that change will have to evolve gradually from bottom as well as from top.

Continue reading

Continue reading: Bragging: 100% coverage, specification by example and pair programming

Bragging: 100% coverage, specification by example and pair programming

Yesterday we ended our second two-week sprint and on the demo, besides showing the system, we could do some bragging about test coverage using our Sonar dashboard.  We also could show Fitnesse tests at system level that implements the specification by example technique, or like some say, executable requirements.

Continue reading

Continue reading: Hur man låter Gradle kolla om man har de senaste versionerna av sina tredjepartsbibliotek

Hur man låter Gradle kolla om man har de senaste versionerna av sina tredjepartsbibliotek

Inledning

Nu för tiden använder nog de flesta Javaprojekt någon sorts dependencyhanterare i sina byggen.

Den tid då man checkade in sina tredjepartsbibliotek i versionshanteringen är förbi. Nu låter man Maven (eller Ivy eller Gradle) läsa en incheckad förteckning, hämta hem jarfilerna ifrån de centrala förråd som finns därute och sätta upp class path.

En sak som dessa verktyg dock inte hjälper till med är att hålla koll på att man inte ligger kvar på gamla versioner. Att köra på gamla versioner kan ses som en sorts teknisk skuld, eftersom det blir värre och värre att uppgradera ju fler versioner man har missat.

Det är dock ett mödosamt och tråkigt manuellt arbete att kolla hur bra man ligger till.

Jag har därför utvecklat en Gradle-task som automatiserar detta!

(Se där, ännu en anledning att byta till Gradle!)

Continue reading

Continue reading: Elephant Carpaccio facilitation guide

Elephant Carpaccio facilitation guide

The Elephant Carpaccio exercise is a great way for software people to practice & learn how to break stories into really thin vertical slices. It also leads to interesting discussions about quality and tech practices. The exercise was invented by Alistair Cockburn. We’ve co-facilitated it a bunch of times and encourage people to run it

Continue reading
Continue reading: The proper use of @Ignore in unit testing

The proper use of @Ignore in unit testing

What is the purpose of the @Ignore annotation in unit testing?

Either a test will be green and everything is fine or it is red so you fix it before commit. So if there is an ignored test, it is the same thing as dead code and we know what to do with that: delete it! Keep the code clean!Continue reading

Continue reading: Hur man kan hantera Continuous Delivery med MongoDB

Hur man kan hantera Continuous Delivery med MongoDB

MongoDB är en schemalös, dokumentorienterad databas som har fått stor popularitet i den agila världen bland annat därför att man inte behöver underhålla något databasschema.

MongoDBs schemalöshet gör att många leds att tro att Continuous Delivery blir en promenad i parken, eftersom det ju inte behövs några datamigreringar när man driftsätter en ny version av koden!

Rent teoretiskt är detta sant, men är ett sluttande plan in i Land of Crappy Code™ !

För att slippa onödig komplexitet i form av varierande utseende på lagrade domänobjekt beroende på deras ålder, rekommenderar jag att man utför regelrätta datamigreringar även när man använder MongoDB!

Jag rekommenderar även att datamigreringen är en del av applikationen — till skillnad från skript som skall köras vid sidan av innan applikationsstart — helt enkelt för att eliminera risken för misstag.

Jag har i mitt sidoprojekt Varmfront.nu utvecklat en kompakt liten lösning som i MongoDB implementerar det som Flyway gör för SQL.

Mönstret bygger på Spring Data for MongoDB och Spring JavaConfig, och migreringarna är skrivna i Java. That’s right folks, no XML here 😀

Läs vidare, så får du se hur man kan göra!

Continue reading

Continue reading: The Solution to Technical Debt

The Solution to Technical Debt

(related article: Good and Bad Technical Debt – and how TDD helps)
(Translations: Russian)

Are you in a software development team, trying to be agile? Next time the team gets together, ask:

How do we feel about the quality of our code?

Everyone rates it on a scale of 1-5, where 5 means “It’s great, I’m proud of it!” and 1 means “Total crap”. Compare. If you see mostly 4s and 5s, and nothing under 3, then never mind the rest of this article.

If you see great variation, like some 5s and some 1s, then you need to explore this. Are the different ratings for different parts of the code? If so, why is the quality so different? Are the different ratings for the same code? If so, what do the different individuals actually mean by quality?

Most likely, however, you will see a bunch of 2s or worse, and very few 4s and 5s. The term for this is Technical Debt, although for the purpose of this article I’ll simply call it Crappy Code.

Congratulations, you have just revealed a serious problem! You have even quantified it. And it took you only a minute. Anyone can do this, you don’t have to be Agile Coach or Scrum Master. Go ahead, make it crystal clear – graph the results on a whiteboard, put it up on the wall. Visualizing a problem is a big step towards solving it!

Don’t worry, you aren’t alone, this is a very common problem. <rant>However, it’s also a very stupid, unnecessary problem so I’m baffled by why it is so common.</rant>

Now you need to ask yourselves some tough questions.

Continue reading

Continue reading: Guest blog by Ellen Gottesdiener: It’s the Goal, Not the Role:The Value of Business Analysis in Scrum

Guest blog by Ellen Gottesdiener: It’s the Goal, Not the Role:The Value of Business Analysis in Scrum

Ellen Gottesdiener

Ellen Gottesdiener is an internationally recognized leader in the collaborative space where agile requirements + product + project management converge. She coaches, trains, and presents to thousands of people globally and has facilitated hundreds of discovery and planning workshops across diverse industries.
She will hold her popular workshop in Stockholm 25-27 September 2013.

It’s the Goal, Not the Role:The Value of Business Analysis in Scrum

In agile development, what happens to the traditional business analyst? Consider Scrum, currently the most popular agile method. In Scrum, there is no “business analyst” role. In fact, there is not an explicit role for tester, project manager, architect, developer, data administrator, user experience designer, customer support representative, or product trainer. Instead, Scrum has three roles: the product owner, the Scrum Master, and the delivery team. Their collective goal is to deliver high‐valued product needs continually. So, where and how can a business analyst contribute?

Continue reading

Continue reading: Naked Kanban Dresses in Teams

Naked Kanban Dresses in Teams

I tend to focus a lot on Kanban and Teams. The Kanban Kick-start Field Guide has 1098 occurrences of the term team, and I even write about Kanban teams. But, as David Anderson reminded me recently on Twitter, there is no concept of team in Kanban, and as such there are no “Kanban teams”! So why

Continue reading
Continue reading: Lessons learned from coaching 50+ kanban teams

Lessons learned from coaching 50+ kanban teams

Johan Nordin and I plan to attend the Lean Kanban Central Europe (LKCE) conference this year again. Due to a busy fall it will unfortunatly be our only chance to meet everyone from the community. Here is the abstract of the paper that we have submited to LKCE13, entitled “Lessons learned from coaching 50+ kanban

Continue reading
Continue reading: How to run an internal unconference

How to run an internal unconference

An unconference is like a normal conference but with no predefined agenda, no predefined list of speakers, no slides, and…er… actually it’s not very much like a normal conference at all! It’s more like an alternative to a conference. If the purpose of a conference is to collaborate and communicate, then an unconference will often fulfill the

Continue reading
Continue reading: Kompetens i det dagliga arbetet

Kompetens i det dagliga arbetet

Finns nu i bokform på Leanpub

Kompetens i det dagliga arbetet

Detta är avsnitt två i delen om Ny kunskap - ett gemensamt ansvar i serien Agil HR from the trenches

Kompetensspridning via team

Låt oss börja med att ställa några ledande frågor:

  1. Arbetar ni i team som innehåller alla kompetenser som krävs för att leverera slutprodukten?
  2. Är det tillåtet (och helst uppmuntrat) att jobba tillsammans med en uppgift (till exempel parprogrammera)?
  3. Får team arbeta med saker då och då som de inte kan innan (ny domän, ny teknologi)?
  4. Kan man (kanske inom rimliga gränser) själv välja vilket team (och därmed område) man vill arbeta i?

Om du svarar ja på alla dess frågor kan du antagligen gå vidare till nästa avsnitt direkt. Om du svarar nej på samtliga, då skulle jag gissa att du både har stora utmaningar att alls leverera saker och att få till utveckling av yrkeskunskap på jobbet. Det kommer också vara ytterst svårt, eller omöjligt, att kompensera den sorts evigt pågående kompetensutveckling som uppstår ur att organisera arbetet på ovanstående sätt med andra former av åtgärder.
Continue reading

Continue reading: Ny kunskap – ett gemensamt ansvar, avsnitt 1

Ny kunskap – ett gemensamt ansvar, avsnitt 1

Finns nu i bokform på Leanpub

Detta är den femte posten i en serie om agil HR “from the trenches”.

Del 1: Continuous investment
Del 2: Lägg ner utvecklingssamtalen
Del 3: Lön är rättvis ersättning – inte belöning
Del 4: Släng titlarna
Del 5: Ny kunskap – ett gemensamt ansvar, avsnitt 1
Del 5: Kompetens i det dagliga arbetet, avsnitt 2
Del 6: Hitta rätt folk – släpp dem lös

Ny kunskap – ett gemensamt ansvar, avsnitt 1

Att vandra runt i gamla industriområden ger en märklig känsla av hur tillfälligt mycket är. I ena ögonblicket en plats full av meningsskapande aktivitet, i nästa, rostande maskiner i regnet.

I den yrkesvärld där jag varit verksam sedan slutet av 90-talet, nämligen mjukvarubranchen, är det en känsla som är lätt att känna igen när man arbetar med äldre kod. Ofta räcker det att gå tillbaka till något man själv skrivit för ett par år sedan för att få den där upplevelsen av något otidsenligt och främmande, som egentligen sedan länge borde vara övergivet. Den som inte kontinuerligt utvecklar sitt yrkeskunnande i denna bransch riskerar snabbt att bli likt en rostande maskin.
Continue reading

Continue reading: Slides from DARE 2013 – “Scaling Agile @ Spotify”

Slides from DARE 2013 – “Scaling Agile @ Spotify”

Two weeks ago I attended a conference in Belgium, DARE. The conference was really great. I met so many fun people and carried with me so many thoughts and learnings back home. I held a keynote, “Scaling Agile @ Spotify”, talking about how Spotify staying agile, lean and fast, while growing.  I also talked about how

Continue reading
Continue reading: MIKE – The Daily Meeting Microphone

MIKE – The Daily Meeting Microphone

This is MIKE, The Daily Meeting Microphone. MIKE is a concept. An idea.  Captured on a poster. If you like it; Click the image below (or click here to download the powerpoint). Print it on A3 format. Put it on the wall next to your team wall or in the office corridor. Done 🙂 If

Continue reading
Continue reading: Continuous delivery – The simplest possible build pipeline for an integration scenario

Continuous delivery – The simplest possible build pipeline for an integration scenario

Sometimes a continuous integration/delivery scenario is more complex than just building a system in a multi-stage pipeline. The system may consist of several subsystems, or just complex components, each of which requires a build pipeline of their own. Once all systems pass through their respective build pipelines they are integrated together and subjected to a joint deployment and further testing. When facing such a scenario, I decided to build the simplest possible thing that would work and get the job done.

Two converging build pipelines

Continue reading

Continue reading: Slides from Dare – “Visualization, what’s my brain got to do with it?”

Slides from Dare – “Visualization, what’s my brain got to do with it?”

Just got back from DARE conference in Belgium.  I don’t know how Maarten makes it happen, but I always leave with more ideas than I had when I came. I ran a session on visualization – highlighting our brains limited capacity capture and record knowledge (and what to think of when using visualization). An amazingly

Continue reading
Continue reading: Introducing Concepts

Introducing Concepts

Let me introduce a tool I’ve found useful – Concepts. Concepts  is a one page specification, in A3 format that represents a product idea of feature. It is enough to enable a prepared conversation with the engineers developing the product. Think of it as a “flexible minimum specification”. The idea The concept owner is a

Continue reading
Continue reading: 10 Kanban board and their context – updated!

10 Kanban board and their context – updated!

Added a visualization combining architecture with progress follow up for more complex product development scenarios. You’ll find the complete collection of boards here! Cheers Mattias

Continue reading
Continue reading: Stop the line presentation at SmartBear MeetUI

Stop the line presentation at SmartBear MeetUI

Sisyphus, artistry, cult of quality, weaving, broken windows and all the other stuff you have to care about if you want to build high quality software. Here’s my speech on how we did it at Atex Polopoly, held at the SmartBear MeetUI user conference May 23 2013. And here’s the slides: Build Quality In: Stop

Continue reading
Continue reading: Stop the line song

Stop the line song

I ended my talk on the SoapUI user gathering MeetUI singing the stop the line song. Now it has ended up on youtube. Here’s the text: I keep a close watch on these tests of mine I keep my Jenkins open all the time I see a defect coming down the line Becuse you’re mine,

Continue reading
Continue reading: June 17-18: Advanced Agile with Alistair & Henrik

June 17-18: Advanced Agile with Alistair & Henrik

Good news: Alistair Cockburn is in Stockholm June 17-18! We’ll be teaching Advanced Agile, a workshop for those of you who already have agile training and experience, and want to dig deeper! Register here if you are interested. Alistair is a very inspiring fellow! He wrote the original book Agile Software Development and was one of the people

Continue reading
Continue reading: Evil Coach LIVE! “Maximize the Teams Performance”

Evil Coach LIVE! “Maximize the Teams Performance”

During the conference Agila Sverige 2013, I – the Evil Coach – made my first public appearance. I gave a lightning talk on how to maximize the team’s performance. The room was filled to the brim. The talk ended with standing ovations which were immediately followed by an early termination of the conference since no one could possibly

Continue reading
Continue reading: Sources of bug list misuse

Sources of bug list misuse

Bug lists have the potential to consume a lot of your organizations effort. Bugs drive re prioritization, dispatching, reporting, followup –  even though they might be of one time nature and random occurrence. Whenever I encounter a huge bug list is to I ask which of these the organization will fix the upcoming release and

Continue reading
Continue reading: Software Development and Tragedy of the Commons

Software Development and Tragedy of the Commons

My lightning talk about Software Development and Tragedy of the commons (“Kollektivt kodägarskap och allmänningens tragedi – eller hur blir min kodbas inte utfiskad) from Agila Sverige 2013

And here is the video recording from the event. My presentation begins 12 minutes and 10 seconds into the film.

Here’s the (almost word by word) english transcript of the speech:
Continue reading