Crisp's BlogPage 17

from the Crisp Consultants

Continue reading: Slides from Agile Eastern Europe 2013

Slides from Agile Eastern Europe 2013

Met a great crowd in Kiev at Agile Eastern Europe. I’d love to stay longer! Here are the slides on my presentation on Visualization – what’s my brain got to do with it.

Continue reading
Continue reading: Slides from Lean Kanban France 2013

Slides from Lean Kanban France 2013

Just back from Paris (gotta love that town, many good memories there 🙂 I did my first presentation on Concepts.  Here are the slides. /Mattias

Continue reading
Continue reading: Schema migration, an important part of continuous delivery

Schema migration, an important part of continuous delivery

Most of you have a relational database involved in your persistence. As soon as your first version has been set in use, you can’t change the database schema as easy anymore or you might lose valuable production data.

At the same time, continuous delivery demands that there should be as few manual steps as possible. See here for motivation on continuous delivery.

You no longer have a few database instance, there are numerous for different levels of testing and every developer nowadays run a personal database. To keep track of all database instances and keep them updated becomes a steep task.

To tackle this, we started using Flyway as a tool to manage our database scripts. Our applications migrates the database automatically on startup so we get a hands-free solution that will guarantee that the code and database schema is in sync.

Here is a technical recipe for accomplishing this when using Flyway in combination with Spring.
Continue reading

Continue reading: Culture > Process (Paris Scrum Gathering keynote)

Culture > Process (Paris Scrum Gathering keynote)

Here are the slides for my keynote “Culture > Process” at the Paris Scrum Gathering. Amazing level of enthusiasm in the room, seems like this kind of stuff was exacty what people were looking for. Happy to see the ideas take such strong hold!

Continue reading

Continue reading: Bokomslag till Riv pyramiderna igen

Bokomslag till Riv pyramiderna igen

I dagarna fick jag bokomslaget till boken Riv pyramiderna igen – Agil HR ‘from the trenches’ jag hĂ„ller pĂ„ att skriva pĂ„ Leanpub. Jag Ă€r otroligt nöjd med det. Omslaget Ă€r gjort av Lisa Zachrisson. SĂ„ hĂ€r skriver hon om tankarna bakom formgivningen: Jag tyckte att titeln skulle vara stor dĂ„ det fungerar bra nĂ€r

Continue reading
Continue reading: Look busy

Look busy

Not happy with your last pay raise? Time to pay attention! Bosses don’t pay attention to what you do, they pay attention to how much you do.  Nothing beats a bosses bragging rights of saying “my evil coach works 24/7. All I see from you is empty desks and Nintendo”. If you want a raise,

Continue reading
Continue reading: Seminar “Will automation kill the tester?”

Seminar “Will automation kill the tester?”

Last Thursday I gave a two hour talk on Agile Testing, “Will automation kill the tester?”, for Dataföreningens network for test and requirements in Stockholm. I talked about testing in agile contexts, the agile tester, busted (and approved) some myths on agile testing, and gave examples – lots of them. How different companies, project and

Continue reading
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