Simple Visualization of Time Allocation

I have a confession to make; I think I’m turning into a data guy. No, not a computer guy - I’ve been that for a long time. Rather, it’s that boring dude who keeps asking for numbers, measurements, and saying “yes, but how do you KNOW that” all the time. But I’m on a program to recover from some of the boredom parts. It’s called Simplicity and Visualization.

To be a little more serious, I think that collecting data and then doing small experiments based upon them rather than relying on your feelings is the way to make controlled, continuous improvements. This is all very Toyota Kata (or rather Kanban Kata or even the scientific method) like, but that’s exactly where I’m aiming.

  • Establish a target condition or goal
  • Make sure you really know where you stand today. Gather data to be sure
  • Take small experimental...
Read More

Simple where-do-we-spend-our-time visualisation

I have a confession to make; I think i’m turning into a data-guy. No, not a computer-guy - I’ve been that a long time. Rather it’s that boring dude that keep asking for numbers, measurements and saying “yes, but how do you KNOW that” all the time. But I’m on a program to recovery from some of the boredom-parts. It’s called Simplicity and Visualisation.

To be a little more serious I think that collecting data and then do small experiments based upon them rather than you feelings is the way to make controlled, continuous improvements. This is all very Toyota Kata (or rather Kanban Kata or even the scientific method) like but that’s exactly where I’m aiming.

  • Establish a target condition or goal
  • Make sure you really know where you stand today. Gather data to be sure
  • Take small experimental steps towards the goal
  • Measure and...
Read More

Working to the Cake-limit

When teams transition from an iteration-based (i.e., Scrum) to a more flow-based (i.e., Kanban) approach to software development, they often face three big risks: no planning, no retrospectives, and no celebrations. Which, when you look at it, just leaves work work work.

Exactly - I wouldn’t want that either.

In this post, I’ll show you a little trick I picked up to handle the last one: no celebrations. I know I’ve stolen it from somewhere, but for the life of me, I cannot remember where. Please enlighten me, and I’ll attribute you accordingly. [UPDATE] I picked this thing up from Joakim Sundén (see comments). Yet another thing he has taught me. Thanks, dude!

In iteration-based approaches to software development, there’s a natural endpoint, a goal for the current work: the end of the sprint or iteration. That’s one of the really great things about Scrum, I think. The little...

Read More

Getting Visual Studio 2012 Test Explorer to work with NUnit, xUnit, and SpecFlow

Yes, this is another “hey, this is a cool feature of Visual Studio 2012” post. If you know all about the new Test Explorer and how to get NUnit, xUnit, and by association SpecFlow to work with it - you can stop reading here. For me, it took a while to get up and running.

I don’t remember where I first read about it, but I remember that I was happy to read that Visual Studio 2012 comes with a new Test Explorer. What’s really cool about it is that it’s no longer limited to just MsTest tests, but can run NUnit, xUnit … you name it.

This means that my SpecFlow tests can be run from the new Test Explorer as well. You know, all SpecFlow actually does is translating the Gherkin lines you write into unit tests of your framework of choice. It should...

Read More

Summer sprints - a time to learn

Sweden is a great country! We even have laws that states that everybody has the right to five (5!) weeks vacation every year. Many people even have 6 or more. And most of us take at least 3-4 of them in a row during the summer - the best time to be in Sweden.

Summer

That’s all good but what happens at the offices do you think?

Well that’s easy to figure out. There’s no-one there. And since not everyone has vacation at the exact same time (normally) this can go on for about 2 months or more. This of course poses a problem for teams that want to work close together.

Even if you don’t have 7 weeks vacation in your country you may find the reasoning in this post interesting. I learned a lot when I thought about this (and from brilliant people I...

Read More

Great Visual Studio Integration - Another of the Many Reasons to Upgrade to SpecFlow 1.9

This is a small tribute to a great tool. Mostly for fun, but there are some great features in the latest release of SpecFlow. Check it out. You can get the tool from the Visual Studio Gallery, but be sure to uninstall any previous versions first.

For a more serious look at some of the code features, head over to Vagif Abilov’s excellent post.

Marcus enters the office. He boots up the computer and opens Visual Studio 2012. With a smile, he thinks about how not only Vs2010 solutions open nicely in Vs2012, but also the new release of SpecFlow works fine for both.

Where was he now again? There was something about the feature file. He opens it and, thanks to the nice color coding of lines, Marcus is reminded of a step that he didn’t have a step definition for.

Screen Shot...
      </div>

      <a href=Read More

Experience report from rolling out agile in a big (120+ ppl) organization

I just ended my biggest coaching assignment in my career. So far. It started in January and aimed to roll out agile in a organization of 120 (and then some) people – 60 on the business side and 60 on the IT-side.

I first thought of writing about how it all went down and what we did, but I then realized that I would reveal way too much about the customer and it’s organization.

So instead I’ll write about a couple of things that I’ve experienced and thought of. Hopefully you can learn something from this - I know I did learn a lot.

Let me first state that not everything in this article is based from experience from this one client. If you read this and work there; not all of this happened at your place. Know this - it’s the same at a lot of places where I’ve...

Read More

What BDD is all about

I got an email from a colleague a couple of weeks back. We were members of the same team for awhile this last autumn. He (and the rest of the team) are great programmers - way better than me. I had some difficulties to keep in step with them, but to some extent that had to do with F# being the language of choice. A first for me!

We had a lot of discussions about TDD and if it’s feasible or pay off. This project made me realize that TDD done backwards (writing unit tests after the production code) is not only NOT TDD but also doesn’t pay off. But as I am dunked deeply in the BDD pool I suggested that we’ve take a look at that and get started that way. I never got through there…

So I was very happy when he wrote me an...

Read More

System.InvalidOperationException No automation provider available MsTest and FluentAutomation

We’ve run into a little issue with FluentAutomation and using MsTest at my current client. I’ve blogged about the setup before but then I used NUnit and everything worked just fine. With MsTest… we had some problems. The first was an exception that was thrown to us like above:

System.InvalidOperationException: No automation provider available

It was a quite awhile since I’ve used MsTest and I’ve forgot about some of it’s quirks. With the combined help of Håkan Forss and Hugo Häggmark I managed to get this to work.

Scroll to the end for the short version, by the way.

The first thing that I had forgot was that MsTest uses a Visual Studio project template of it’s own. You cannot use the Windows Class Library template, but rather should use the Test project (under the Test-category).

Once that...

Read More

Find the control–a way to stabilize UI automation… a bit

I have been diving deep into automating web pages for my current client. I have a love – hate relationship with this. It’s quite cool but I would also recommend against using it. I wrote about why just a post or two ago so I won’t repeat it here.

In this post I will instead acknowledge the fact that we are going to automate against the web page and do our best to handle the brittleness of such tests. One challenge that you are facing when writing code to automate elements of a page is to actually get hold of the elements themselves. This is done in different ways with different automation frameworks, but typically you can search by Id (or other attributes on the elements), order in the page, and position.

In this post, I will examine those different approaches and suggest one way that I’ve found...

Read More