SpecFlow.Assist.Dynamic–how to use it

This is the second post about SpecFlow.Assist.Dynamic – a little tool I wrote to help you write less code in your step definitions, and focus on the actual step instead of infrastructure. You can read the first post here – it explains little about what SpecFlow.Assist.Dynamic is. In this post I’ll show you how some ways I use the dynamic features to and some tricks that you might not know about. Again – this is not the documentation for SpecFlow.Assist.Dynamic – that can be found here. Installation With the power of NuGet it’s super-easy to install SpecFlow.Assist.Dynamic by simply go: Install-Package SpecFlow.Assist.Dynamic (Sidenote: Ha! It’s good to try out your own stuff. Found a bug in the 0.2 version on NuGet. Fixed it with the 0.2.1 version ) That will also pull down the latest version of SpecFlow and other dependencies needed. Test data management I found out that the...
Read More

SpecFlow.Assist.Dynamic–what is it?

NuGet package! I am so proud. Actually it’s just a small extension to SpecFlow and the excellent Assist helpers by Darren Cauthon. But I learned quite a lot about dynamics in the process and I thought I write a post or two on SpecFlow.Assist.Dynamic; what it is, the problem it solves and how it’s made. Later post will be around how to use it and to put it together with Simple.Data to create a real sweet testing experience. Let me say – before I start – that there is documentation for usage on the GitHub wiki. This is a blog posts on how I made SpecFlow.Assist.Dynamic – not the official documentation. The problem It’s not a very big problem I’ve solved – but I grew tired of writing small classes that just was for transporting data. For example for the Gherkin-step: ``` 1: Given the following users exists in the...
Read More

Simple.Data–the testing story

I have fallen for Simple.Data. Big time. It’s so terse and concise that you almost lose the need for data access abstractions altogether. It’s just … there for you. Just see for yourself here. And when have this power at your fingertips it’s easy to forget the testing story. How should I use Simple.Data so that I still can write unit and acceptance tests with code using it? In my unit-tests I do not want to call the database, of course, because that would slow my unit-level tests down. Also if I do automated acceptance I want to go end-to-end, testing the full stack of the application. But there the database access will slow me down, often in the form of a network hop as well. Have no fear! Mr Rendle have set us up with a couple of ways to mock out the actual call to the database on...
Read More

Is Scrum a –ism that doesn’t work for real?

The other day I got my hands on the Scrum Guide 2011. It’s a updated version of how Ken Schwaber and Jeff Sutherland looks at Scrum, it’s practices and state today. It’s well worth a read – especially if you haven’t read up on Scrum in a while. And let me here in the outset of this post also state that I have use Scrum a lot and it helped me and my teams a lot as well. I like Scrum to be short – but (had to be one right) I think that some situations doesn’t fit perfectly with Scrum. After that short side note, let’s get back to the real thing. After I read the article I had an opportunity to sit down with Morgan Ahlström, a fellow lean / agile coach here at Avega Group. We started to discuss about the things we read in the document...
Read More

Kanban-inzg the Avega Group Office–reflections

This is the third post in a short series on how Morgan and me went about to introduce Kanban and some Lean thinking to two support teams of the Avega Group office. You can read post 1 and post 2 before this to get the complete picture. With this post I wanted to do some reflections on how the introduction of Kanban took hold for the teams and also what Morgan and me learned in the process. We are used to do this for IT-projects and teams working with system development or maintenance. Reflection on the result for the teams First week The immediate and positive responses from the group was reactions like: “This is very clear and shows us what we are doing” “I can see dependencies between our tasks. And on the ones where we wait for others” “We have greater understanding for what we do. And other...
Read More

Executable specification - the whole stack or not

This is really an age-old BDD question that pops up from time to time. Just now I got a question from an ex-colleague about it. A bit rephrased it something like this: Should I test through the GUI all the way down to the database? How do you handle test-data in and test executing speed in those cases? Many of us first got exposed to BDD tests through web applications and the way that we could test through the actual web page. We use tools like Watin, Selenium and other automation tools to accomplish that. We structure our automation code with page wrappers to get manageable automation code that can be re-used in our step definitions. For some BDD even implies automation (which is not at all the case). On the “other” side we try to go through the whole stack and go through all the of the application and...
Read More

Kanban-inizing the Avega Group office–getting the show on the road

This is the second post in a small series on how we helped some parts of the Avega Group office to use Kanban to manage their workflow. In the first post we introduced the teams that we coached to a foundations for why you want to limit your work-in-process, what benefits that could give them and some key elements of Kanban and Lean. As a final exercise we helped them to create a simple Kanban board for each team. We stressed the fact that the boards not is complete (at any time!) but should change and this is just a suggestion. Together with the teams we created a simple board, containing the following columns and policies: Inbox – their to do list for a horizon that feel comfortable. We didn’t limit the number of items here, but suggested that they may think about that. Also we told them that the...
Read More

Kanban-inizing the Avega Group office–setting the stage

I have recently returned from parental leave and got to experience office tempo first-hand. Was not prepared for that, but it also had me look around and I saw two teams at Avega Group that was under a lot of stress (they said) and seemed to handle a lot of task simultaneously. Being dunked deeply in the Kanban-pool it made the hair on my neck stand up and I shivered to my bones. WIP is bad you know… Being a Avega Coach I have some time to spend at the office, so I teamed up with Morgan, a fellow Lean/Agile coach here at Avega Group – and we decided to see if we could do anything about it. In doing so we had to sharpen our arguments and think a bit different. They are not creating systems you know. Both Morgan and I have experiences mostly with software development teams,...
Read More

Who writes the specification, now again?

There’s been a lot of buzz around Specification by example lately. At least in my networks and close to me. I hear it almost everyday at the office. A couple of days ago I was asked to do an introduction to the subject to a group of interested people. Striking also is that most people I hear talking about it is not developers (anymore) but rather business/requirements people and testers. One question that I often get asked and that puzzles me is: But who writes the specifications? Business people, developers or testers? Maybe not exactly like that but something close too that. Actually I think the underlying intent is something else and has to do with ownership… I have also discussed the topic with a few of my Twitter contacts that are involved in a project using Specification by example. In this post I’ll give my view on this –...
Read More

Twitter for beginners

I got a question from 3 colleagues on what Twitter is and how we should use it. I don’t claim to be an expert but I use it quite a lot everyday. So here is my introduction to Twitter – with my own opinions on how to use it. There are other introductions, like this by Scott Hanselmann, of course – but since they asked I might as well put it up here. What is it? From Wikipedia we learn that: Twitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as “tweets.” So you send short messages (tweets) that is picked up by anyone who follows you. You can follow a number of people to subscribe to their updates. Everything is public (almost see DM below) and can be viewed by anyone by...
Read More