Should I add bugs-scenarios in my specification?
Right now I’m very impressed with the way that two my colleagues (Hugo Häggmark and Tobias Karlsson) has introduced BDD or rather Specification by example at their client. They have in a very short time gone from people not speaking to each other (analysts and developers) to collaboration around the scenarios of their specifications and demos running from those specs. I’m officially impressed! Another colleague even threw together a speech engine integration that speak the SpecFlow features as they are run. Silly but …Coolness! I got a very interesting and I think common question from Hugo that I thought I’ll share here, since the answer might be useful to others. Hugo asked me if I update my specifications with any bugs found later on. Or if not – where do I keep them? The reason for adding bugs in the same .feature file as the specification itself is of course...
Read More
How I do sprint planning
I haven’t done “proper” Scrum in quite some time now, with the Kanban-ery going on. So when I got thrown into a sprint planning meeting the other day I was happy to see that I still remember how I used to do my sprint planning. Thought I write it down if I need to get back to it later. I will probably upset some people as well… and might even get some feedback that can help me improve. And of course, this is not my own thoughts – I’ve picked up some tricks here and there over the years and probably forgot about as many. Thanks everybody that I’ve learned from, especially Öystein Stave who helped me find my lost excel-sheet that we created together a long time ago. Time boxing and the three constraints As everything in Scrum I plan sprints as a time box. That is I let...
Read More
Some thoughts on KPI’s in agile organizations
At my current client I have been asked to suggest some KPI’s (that’s Key Performance Indicators for us non-business people). This is a bit scary for me of two reasons – I don’t feel to at home with the task and I don’t feel at easy with many of the KPI’s that I hear is being used. Let’s read up on them first and then I’ll talk about the one I suggested and why. What is a KPI anyway? From the Wikipedia page we learn that it’s a “type of performance measurement” and that “KPIs are commonly used by an organization to evaluate its success”. Ok – later down they actually had a section for IT that cited commonly used KPI’s as; Availability, Mean time between failure, Mean time to repair, Unplanned availability. So far it sounded alright and sound to me. But I heard in the corridors of my...
Read More
Some common Kanban questions–my suggestions
I have been talking about Kanban a lot the last couple of years. Sometimes to the point where I think that I must have talked a hole in the head of the those closest to me. But from time to time you get great response, for example; Anna (an Avega Group colleague) attended one of my Kanban introductions and became inspired. She started to implement parts of the practices I’ve suggested at her client and soon ran into some questions. She sent me an email and asked for my suggestions on how to act in certain situations. I of course answered but also felt the questions was not only good, they were also common. So I thought that I’ll share my suggestions here. Bear in mind, as I also told Anna, that Kanban is really just a couple of simple rules – how you apply them in your context is...
Read More
“If you quit today”–make someone happy
I have been working as a contractor for the better part of my career. Due to the nature of consultancy and the IT-business in general I’ve seen a lot of colleagues come and go. Brilliant people in many cases, people that you miss so bad when they have quit. So when the ubiquitous “Thank you for the time here”-mail comes I always try to write them a short sentence saying that I’ve really appreciated their company, competence and just being around them. And it hits me every time; why didn’t I say anything of this while we were colleagues? It’s so stupid. It’s so simple. And it takes about 5 minutes to write. I always find the time when they send the notice that they will quite. So I will try this out – send people a “If you quit today … I would love to have said this first”-note...
Read More
What is agile?
About a year ago I got asked by my project manager to “just give a quick intro and overview; What is agile? 20 minutes or so…” That didn’t feel to bad – but when I got home and started to prepare it struck me; it’s really hard to sum up agile! For me agile has been become more a less a lifestyle and much of the things I argue for or fight against is about agile or being agile. And also, now that agile is 10 years old, the buzzword has gone into the next phase and almost anything good or cool that people does, related to software is branded with agile ™. Is TDD agile? If your not doing TDD are you not agile? Standups? Boards? The list goes on and on and I couldn’t come up with an intelligent answer. Either everything had to be included to be...
Read More
Applying the Switch framework to broken builds
I’m rereading a great book – Switch by the Heath Brothers and it inspires me. The last time I read this book it inspired me to write a post and it’s happening again. The book is about change, how to accomplish change and especially in situations where you are not in power or control. In short – how to talk to and influence others to understand the need for change and follow through on it. One very smart thing is that you can download a cheat sheet that contains the ideas in a nutshell – the Switch Framework – for free. Of course it’s not much use if you haven’t read the book, so you better do that first. Could very well be the best book you read. I thought I would apply the reasoning in the framework to a real life situation and see if I get any ideas...
Read More
Log4Net, RollingFile named by Date and the staticLogFileName setting
We have been chasing some strange logging bugs for a while in my current project. We are using log4net to do our logging and it works fine … until a couple of weeks ago. Some logging didn’t occur, in another case we didn’t get new files… The fix is, very simple, but quite surprising and I thought I’ll share something on what we did to fix it. We are using a RollingFileAppender and common strategy for how to handle the log files; we’re creating a new file for each new date. In order to achieve this we have set the following configuration: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: OK – nothing strange here really. And actually it worked fine for a long time. But all of a sudden we have ran into the problems I described above. The solution is simply to add the...
Read More
Creating a tools only NuGet package
I have started to help out in a new OSS project. The last one was SpecFlow and now it’s Pickles. Pickles is a tool that takes .feature-files from SpecFlow or Cucumber and turns it into a nice living documentation. It’s a great addition to SpecFlow. Ok – one of the things I have been doing in the Pickles project is to create NuGet packages for the project different runners and especially lately the PowerShell runner. This will be the main way to interact with Pickles locally, which basically means that you’ll just write a command in the Package Manager Console to generate the documentation frictionless. Later you will probably run it as part of your Nant or MsBuild build files. I learned a great deal about PowerShell and NuGet when I put that NuGet package together and since it was quite some time since I blogged I thought I’ll write...
Read More
What i learned from 'From User stories to Acceptance tests' with Gojko Adzic
I’ve just returned back home from a course. It’s the first course I’ve attended in over a year and I’m always amazed how much you can learn in a short time; if the course and teacher is good and if you engage yourself in the course. This time I knew it would be great since Gojko Adzic was the teacher and the subject was something that I find really interesting and useful - Specification by example. I would be completely impossible to write down even a fraction of all the stuff I picked up during the two days but I thought I stop at the main points and write down what stood out for me. As I’ve been following the BDD and Specification by example community intensively for two years I had quite a lot of knowledge on before hand - the main points I wanted to get out of this...
Read More