Crisp's BlogPage 24

from the Crisp Consultants

Continue reading: Shared Values Build Teams

Shared Values Build Teams

What makes a group of good people a great team? I believe that shared values and experiences are fundamental. While there are many team-building activities available, such as paint ball and boule, I’d like to think that software development teams need more than that.

Continue reading

Continue reading: Yet more information is not always what you need

Yet more information is not always what you need

I’ve been thinking lately about the effects of transparency and information on decision making. After observing situations like:

  • Teams flooded with report requests
  • Costly measurements requests, but without explanation of why they are requested
  • Holding back decisions in wait for complete information (even though just enough information seems to be present)

I’ve have wondered if more information can actually delay your decision making and what is really required to make correct decisions.

In short: More options can actually impair your decision making (more likely for inexperienced people). Experienced people are more likely to make the right decisions even in situations with incomplete information.

Continue reading

Continue reading: A Sabbatical

A Sabbatical

It has finally started. My sabbatical. In April I decided that I needed some time to step back and try some things my own way. I told my current client that in Q3, I would not be available. A lot of Q3 has passed but, as of this Monday, summer in Sweden is over and our two daughters are back at school and daycare which means I can actually start. 🙂

Continue reading

Continue reading: Journeyman seeking apprentice for coaching

Journeyman seeking apprentice for coaching

 

When I started to work as a freshly graduated computer scientist in the mid-nineties I was immediately assigned to a project programming C++. I certainly did my best to implement the functionality with the best quality I could manage to produce, but when thinking back to it, it is no surprise that the result was not very good, the code was actually quite bad. This was pre-XP and Agile time; pair-programming was not widely used and in the first couple of projects we didn’t even code review our code before delivery. Luckily I read a lot of books and articles and studied code examples written by gurus in the field, and after a while I got a good feeling of how to organize and designing the code in order to make it maintainable. What I really would have liked to have during this time was guidance from an experienced programmer helping me to improve my coding skills. 

I’m a big fan of the software craftsmanship movement; software development is a craft and you need to practice continuously in order to deliver quality software and customer value. I see myself as a journeyman who steadily is gaining new knowledge and experience in how to implement software. I read a lot to get new input and I practice my coding skills as much as possible beside my ordinary programming assignments. So in the spirit of craftsmanship I would like to give an apprentice, someone new in the profession, some guidance that I myself would have loved getting during my first year as a software developer.

Continue reading

Continue reading: Future-spectives

Future-spectives

 

The concept of retrospectives is well established in the agile community as the way to incrementally improve your processes and the way the team members collaborate during their work. The idea is that by regularly looking back at the past period you may find improvement that will increase the productivity and delivered value.

This concept can also be used in other contexts, for example during a project kick-off at the start of a new project and team. To get the team on track and up to speed quickly it is important that the forming process starts out nicely and that the team learns how to collaborate and get focus on their work. Iterative processes with short iteration lengths helps out here in that the team needs to get focused in order to have a successful delivery after the first iteration. But you can also help out by establishing a common goal and vision for the team immediately at the start of the project. This common goal could help the team establish better collaboration and communication patterns as well as good process and engineering practices from start that will kick-start the project. And to establish that goal you could run a retrospective from the future, a future-spective.

Continue reading

Continue reading: Learning, understanding, and horizontal development

Learning, understanding, and horizontal development

As developers feel the daily pressure to deliver, they tend to skip a crucial step in the process: learning and understanding the system. There’s a huge difference between just adding more lines of code to the codebase and making changes that maintain the conceptual integrity of the system.

Horizontal development is the result of not spending enough time learning and understanding the system you’re working on. By starting to churn out code too soon, you’ll inevitably be adding silos of functionality in parallel to existing functionality.

The outcome is legacy code. It doesn’t matter how well factored it is, and what test coverage it has!

Continue reading

Continue reading: How you know you are a Lean organisation

How you know you are a Lean organisation

You can embrace lean in different ways. You can make use of Lean tools, you can attend lean courses and you can embrace Lean values  (Toyota production system “TPS”  to be correct).

But how do you know you are a Lean organisation?

  1. You define value from the eyes of the end customer
  2. You have a value stream/process to deliver this
  3. Management is continuously decreasing the Lead time across that value stream

Continue reading

Continue reading: Igniting change in 20 teams within 6 months

Igniting change in 20 teams within 6 months

I have the great pleasure to have had my session-proposal accepted to the Lean Kanban Central Europe 2011 conference! Together with Johan Nordin, a colleague coach from Sandvik IT Services, we will present the result of our Kanban coaching since november 2011. The title of our session is about scaling Kanban. The actual presentation is

Continue reading
Continue reading: Flow – a language learning game for kids

Flow – a language learning game for kids

Links: Game material (powerpoint) – so you can print your own copy of the game www.whereareyourkeys.org – more about the fluency game Have fun!  

Continue reading
Continue reading: Webinar on Lean software development July 20

Webinar on Lean software development July 20

I’m doing a free webinar tomorrow together with Kent Beck & Aslam Khan. The topic is Lean software development, with some real-life examples and interesting discussions. I will be sharing some experiences with scaling kanban to larger projects. Join us! Here is the registration link. Wednesday July 20 at 1pm EDT, 10am PDT, 7pm Stockholm

Continue reading
Continue reading: “Done” is often “Waste In Progress”

“Done” is often “Waste In Progress”

My experience is that most Scrum teams define "Done" as a "potentially shippable" story/feature. However, Lean has taught us that this definition actually introduces waste in the software development process.

Continue reading
Continue reading: Coffee Break

Coffee Break

You may remember Mats Henricson’s blog entry about what we know at Crisp. Well now we’ve put that same tag cloud (with some minor changes) on a mug! I’m sure you’ll be seeing these mugs in the hands of a Crisper near you in the coming weeks, but here’s a sneak peek: Get in touch

Continue reading
Continue reading: My first blog at Crisp

My first blog at Crisp

I’m new at Crisp and this is my first blog post (actually, my first blog post ever!). I thought that this could be a good time to give a short presentation of myself. I have 15 years of experience as a software developer in various roles. I worked the first nine years as a consultant at various companies and the last six years at St Jude Medical as an employee. During the years I have had different roles and responsibilities: programmer, architect, team leader/Scrum Master, manager etc. I love programming and to coach my co-workers to grow as both individuals and as professionals. I have a passion for agile development and I always try to use it’s value system wherever I work.
When I’m not working I spend my time with my family (wife and two kids), friends and training (swimming, cycling and running)
I think that you can get a good idea about people’s character by looking at what kind of books that they have in their bookshelves and their bedside tables. I thought that a good presentation of me could be to list the books that have influenced me the most during my career. So here they come, the books that I think has changed me as a professional since I started to work fifteen years ago.
Continue reading
Continue reading: What the world needs is more lean management

What the world needs is more lean management

A couple of years ago during a visit to Japan I had the the great fortune of talking to the CEO of Fujitsu Applications, Jun Watanabe. Before we left, I asked him  "What is the most important thing in your work?" He’s response was  "At the end of the day, all that is asked, is what have I improved"

Jun is a manager who expresses his commitment to improve the capability of his organisation. And to improve it, you first need to understand it 🙂

What is capability? It is your team’s systematic performance, what it is constantly delivering. Examples could be your teams cycle time, your velocity or the number of production bugs you are getting.

How are you doing in this respect? Test yourself by answering these three questions in your mind:

Continue reading
Continue reading: The TDD Tetrahedron, version 2.0

The TDD Tetrahedron, version 2.0

The TDD Tetrahedron, or if you wish, pyramid, has reached 2.0. Like cars, the new model is bigger and comes with new technology.

By pure coincidence, I ran into somebody willing to print this. So here it is, the version 2.0 of the TDD Tetrahedron. The new version has sides of 100 mm and it is made of plastic.

What’s it for?

Well, if you didn’t use the older version, you may be wondering what’s so great about this. It is all about mental focus.

Continue reading

Continue reading: London – Learning to travel with 4 small kids

London – Learning to travel with 4 small kids

Having fun in London, beta-testing the concept of travelling with 4 small kids. We wanted to make it a challenge – if anything is to go wrong we’d rather it goes wrong on this short trip, than on the big trip after summer (we’re planning to do a 6 month round-the-world trip). So all the kids (except our youngest, 1 yrs old) got to pack & carry all of their own stuff all the way.

And no cabs or cars, which meant walking 1 km to the bus on gravel & dirt roads + a whole bunch of switching between buses, planes, subways, trains, escalators, elevators, stairs, etc, in both Stockholm and London.

Continue reading
Continue reading: Becoming a Product Owner, Part 2

Becoming a Product Owner, Part 2

Here is part 2, a week has past. I think as I write so it is a bit different in style and content than my other posts here.

It has been a hectic week, this first week as PO/SM. First of all, it was only four days thanks to national day. Then there were two new developers from Russia which meant twice as many developers as we had before, not counting me. Simple, you just tell people to pair program. That works out if they are well enough to come to work. Which they weren’t. So they russians were left a bit hanging. I had a lot to do just to keep the team running, at least according to my standards.

Continue reading

Continue reading: The Product Owner team

The Product Owner team

In my opinion, the Product Owner (PO) role is the most demanding one in Scrum, since the PO needs to have so many talents and you rarely find all of them in one single person, so in my current team we formed a PO team instead.

Continue reading
Continue reading: Becoming a Product Owner, Part 1

Becoming a Product Owner, Part 1

I am programmer and Scrum Master but has been offered to become Product Owner for the same part of the product I am currently working on. I decided to accept the offer and this is my live story, written as I go. Perhaps this will be of interest to you.

First of all, to me, this was not a decision I took lighthearted. However, I do have the fortune of peer coaching at Crisp and the offer came the same morning we had our last coaching. That was a timing like there was a meaning behind.

It is not supposed to be full-time either, so I need to choose what I shall do the rest of my day. It turned out that initially there was no choice. It was not possibly to find a Scrum Master to fill in my gap. The next sprint I will be both PO and SM. Hua!Continue reading

Continue reading: Where to store the product backlog and the release plan

Where to store the product backlog and the release plan

In my present team we have tried many formats for the product backlog and the best one so far is – PowerPoint!

Continue reading
Continue reading: Why should I care about Scala and Akka?

Why should I care about Scala and Akka?

Java is great and I have been doing it for years. Why should I care about things like Scala and Akka?

The short answer could be:

  • Scala is the future
  • Akka is the killer framework
Continue reading
Continue reading: Lean & Kanban at RPS

Lean & Kanban at RPS

Dagens Industri has written an article about my current client RPS – Rikspolisstyrelsen (the Swedish national police board). During the past 6 months I’ve been working with them to implement a Kanban-based software development process in a 60-person project. Our aim is to equip every police car with a laptop & mobile connection to the

Continue reading
Continue reading: The link between testability and object-orientation

The link between testability and object-orientation

What’s testability? And why does object-oriented code feel more testable? In this post I argue, somewhat informally, that making code object-oriented, or just by introducing more accurate abstractions, we decrease the domain-to-range ratio, thus making our code more testable.

Continue reading
Continue reading: Tools of Our Trade

Tools of Our Trade

Today we developers are high in demand, at least here in Sweden. My client is now persuading russians to immigrate only because there are not enough of skilled programmers. While there still are people that think one programmer is as good as another, give or take some experience, others have realized that there is a huge difference.Continue reading

Continue reading: 10 pitfalls when implementing kanban – slides

10 pitfalls when implementing kanban – slides

It’s been two busy weeks. First attended and presented at Lean Software and Systems 2011 and the week after at Goto Copenhagen 2011. Lot’s of timezones.. but met inspiring people, had plenty of good discussions and and a great time.

Many great presentations and if you have the chance, go see Benjamin Mitchell present.  Also, the   "Kanban Primer Play" (by Arne Roock, Bernd Schiffer and Markus Andrezak) is great way of demonstration real lean and cooperative concepts revolving around a kanban board.

I held a talk about pitfalls implementing kanban. Here are my slides!

Continue reading
Continue reading: The story of the little boy and the Big Plan

The story of the little boy and the Big Plan

This is actually a true story that I am about to tell you. I heard it from a friend talking about his childhood a couple of weeks ago. When I listened to him, I could immediately compare it to many of the software projects I have seen.

Continue reading

Continue reading: Micro agile

Micro agile

When we develop using agile principles we have learned to "do the simplest thing that can possibly work". What happens if we apply this thought to agile methodology itself?

In my experience the three most important components in a successful application of agile methods are:

  • Joy
  • WIP limit
  • Regular retrospective
Continue reading
Continue reading: Ranking in Jira

Ranking in Jira

I’ll just start out by saying that I’m no Jira expert, in fact I don’t even have Jira admin privileges at my current project. I do however use Jira at least once a day. I manage versions, and create components. I also create stories and epics, and try to maintain sprint and product backlogs in

Continue reading
Continue reading: Limited WIP Society #5 – Playing GetKanban

Limited WIP Society #5 – Playing GetKanban

A short while ago we gathered 24 people to try out the GetKanban game.  Here you see Håkan Forss giving instructions to the teams.

I heard a question if Limited WIP Society was only for invited – absolutely not, that is a great misunderstanding. Maybe the name is somewhat misleading.. . It is open for anyone interested in applying Lean, Kanban or Theory of Constraint principles in software, sometimes due to in limitation in our facilities, we have to limit attendees but it is always on first come first serve basis.

We announce the events on the agilesweden list as well invite earlier attendees. If you are interested in the events, just email me and I’ll put you up on the invitation list. Hope to see you there next time!

Cheers
Mattias

Ps: David Anderson is holding a special Kanban Training for managers in Stockholm June 20-21. Check it out: http://www.crisp.se/kanbanformanagers

Continue reading
Continue reading: Turn your external screen into the primary one in Ubuntu

Turn your external screen into the primary one in Ubuntu

Ever had the problem that your dashboard turns up in your laptop display instead of your external display in Ubuntu? xrandr comes to your rescue!

Continue reading