Cucumber / SpecFlow pro tip - push HOW down

I’ve just attended my first ever CukeUp conference, that is given by Skillsmatter each year. It’s organized by Aslak Hellesoy that created Cucumber five years ago. It attracts a nice audience and community that share a lot of interest with me. For me it was extra fun to meet some of my heros and friends that I’ve followed and interacted with for quite some time (Matt Wynne and Gaspar Nagy to mention a few).

As always at conferences the learning is plentiful, even though my focus and nervousness was at my talk for a few hours. I especially like Matt Wynnes talk on Cucumber Pro Tips. There’s two excellent books (The Cucumber Book and Cucumber recipes) that Matt and friends has written that contains loads of tips and pragmatic hands-on descriptions for any Cucumber user. His talk was an extract from...

Read More

Limit WIP doesn't mean doing less

I’m coaching in an organization new to agile practices. This challenges my assumptions, like explaining practices I’ve taken for granted. Recently, a dialogue unfolded:

Me: You’re doing a lot at once here… Product Owner: Yes, but we’ve promised to finish a lot by [date]. Me: Why not limit your work in process (WIP)? It speeds things up… PO: What do you mean? We can’t limit work. We must complete this [pointing to board] now, as fast as we can.

I realized I missed explaining WIP (work in process) and why stakeholders aren’t concerned about it.

First, what’s a WIP limit? It’s a team agreement on how much work to take on at once. It’s flexible and guides our work to flow smoothly.

In Scrum, teams commit to work for a sprint, ensuring balance and commitment. WIP limits serve the same purpose—controlling how much work to take on at once....

Read More

Daily Sync for five teams - and get something out of it

I’m working for Tradera right now and as I’ve blogged about before we have been splitting a big (40 people) team into smaller ones. Getting this to continue to work and the teams to be effective has been my challenging and very interesting task since then.

I can tell you that without great people that care - this would have been a lot harder. With people that care, you can even allow yourselves to try something, fail, and change. That’s great news for someone like me - I fail a lot. And take great pride in doing so, as long as I learn from it.

In this post, I thought I’ll describe a particular part of that process that I have had problems getting to work many times; the daily team sync, Scrum of Scrum, or Syncro whatever you call it. We call it Daily Sync.

The problem

...
Read More

Get MongoDB running on AppHarbour - it's an AppSetting thing

I have been playing around a bit with MongoDB for the first time of my life. It’s really a very nice experience and have a lot of the “just works”-feeling that I have started to get used to from frameworks like NancyFx and Simple.Data.

But when i pushed it to AppHarbor I ran into problems. That all had with me not reading stuff properly…

AppHarbor has a nice feature that replaces stuff in your .config files on deploy. That could be used for setting Production-environment values to your environment configuration. For example changing the connection string for a database.

The add-on for Mongo DB at AppHarbor has a nice article describing this in detail. But I read it quickly and put the connection string in the -node of the web.config.

It should be added as an . As the documentation clearly points out. So you want this:

...
Read More

AppHarbor, Nancy and the "Could not load file or assembly 'Nancy.ViewEngines.Razor.BuildProviders' error"

I’ve built a small application. Just something I threw together with a friend during a hack-session at the client. (It’s a dot voting application and you can try it here, if it’s up :))

As we wanted something out there fast we built it with NancyFx and MongoDB (a first for me) and we host it on AppHarbor with continuous delivery via GitHub. Since all of these (saved Mongo) has served me well in the past I was very surprised when we ran into problem.

When a commit is pushed to AppHarbor the application is compiled and the test (if any) are run. That worked fine for us but then a stage is run that’s called “Site precompilation”.

Image

That failed with the following error:

error ASPCONFIG: Could not load file or assembly ‘Nancy.ViewEngines.Razor.BuildProviders’ or one of its dependencies. The system cannot...

Read More

Between the chairs some thoughts on backlogs and things outside them

At my current client we have split our teams into five smaller (8 people) team. I wrote about that process before, if you want read about that. One of the big concerns that people have had after the split is how we make sure that we don’t miss stuff that “fall between the chairs” for this teams. I think that’s an overstated problem but we sat down together and as always with great people that care - a good solution came out. This post shows our findings and I’ll try to unfold my thinking on why I thought that the problem is overstated as well. Since we’re now brushing on business critical strategies I need to keep this post fairly general, I’ll try my best to make it understandable.

The problem

My client now has five different teams that have separate backlogs and works towards realizing strategical important initiatives...

Read More

Suggested visualization for the SÖS Children Emergency

I have small children (5, 3 and 3 years old). During the winter half of the year that means that they are sick. A lot. No really: like you wouldn’t believe. Ok… like this: last year we had a cold outbreak in october and the next time all three of them was well again was in august. This means that I have from time to time spent some time at the hospital. No - you cannot go during the day since the kids mostly becomes much worse when they have lied down for a couple of hours. Like after sleeping for about 3 hours for example. The people working at SÖS children emergency room is amazing! I very rarely met people that isn’t cooperative and want to do their best, even 0430 in the night. Thanks a bunch for taking care of me and my kids when we have...

Read More

The I am not allowed to do columns like that-problem

Today I talked with someone that was about to create her first ever board, for a team. She was a bit worried as she couldn’t fit her normal workflow on the board. We sat down and discussed for a while and her reasoning and where she got it from made me both sad and upset at the same time.

In this blog post I’ll tell you more and then show why I thought that she had got some really bad advice.

Here’s how our dialog played out: Me: “What do you mean: I can’t fit our workflow on the board” She: “Well, it doesn’t fit within Scrum or agile. We have an old way of working, I guess it probably doesn’t work for us.” Me: “Really?! Tell me about it: what do you do first” She: “Ok - we have a Inbox or list of stuff, and then it’s Analytics,...

Read More

Nancy.Testing - executable specifications through the full stack, in memory

Nancy Logo

When I showed the code from the last post to a colleague (@HugoHaggmark), he remarked: Nice - but that’s no unit test. And he’s absolutely right.

A unit test should test a unit. The tests in the last post, and the test that Nancy.Testing allows us to easily write, flexes the whole stack of our application. In memory (which is super cool) but the full stack. That’s no unit test.

This can still be VERY useful and in this post I’ll show you how to put one of my favorite tools, SpecFlow, in front of what we wrote in the last post, to get an executable specification. Not only that - I’ll do it in a manner that lets you swap it and hit the HTML page if you wanted to.

As the tradition calls - let’s look in wonder at Nancy’s...

Read More

Nancy.Testing - no hat, no shoes with Simple.Data

This is the fourth (oh my!) post in my series on Nancy.Testing. This time we will leave the Nancy.Testing specific stuff and let our gal meet a friend of mine: Simple.Data(.Testing). By marrying these kids together we will have a really cool full-stack-in-memory-testing-experience (FSIMTE it’s gonna be a thing!).

I’ll supply you with some background to Simple.Data and it’s (awesome) testing capabilities, and I probably have to explain the title of this blog post, but then it’s just code all the way down.

The other posts in the series can be found here:

  1. Intro to testing with Nancy
  2. The Configurable bootstrapper
  3. The Browser and Response objects
  4. Hat and shoeless testing with Simple.Data(this post)
  5. SpecFlow and Nancy

Let’s dive right in a say hello to Simple.Data, if you haven’t met him already.

Simple.Data

Simple.Data is a...

Read More