3 basic (priorization) assumptions
The last couple of weeks I have talked a lot about prioritization at my current client. In many conversations, I’ve felt the need to go back the foundation of things that I build my coaching and consulting on. For example, I might question how we prioritized as we done, and then I notice that people become defensive - thinking that I am questioning them rather than the way. This has led me to reflect, formulate and then re-iterate three basic assumptions that are increasingly important to me: Everyone did their best, and continue to do so There’s always more work to do than we have the capacity to do We don’t know what will work best Let me describe a little bit more what I mean. Everyone did their best (and continue to do so) This is probably (who knows - my brain … I don’t always trust it myself)...
Read More
Playing with names
At my current client, we are trying to make a change to focus more on flow than on resource utilization. This is harder than it sounds because much of the current ways of working, structures, roles and rewards are built to support another mindset. One of the things that lately have popped up for me are the words we are using to describe the roles we have in different parts of the organisation. This heavily prevailing in the IT-industry and maybe agile actually has helped to cement a few of these (an excellent keynote by Michael Feathers put me onto that idea). This also ties into a great quote from David L. Marquet and his excellent Turn the Ship around book There’s no they on Santa Fee! Let me try to explain. On the sub When David Marquet was the captain on USS Santa Fee (a submarine, read the book...
Read More
What should I pick?
I got a question the other day from Enea Zuliani and Michele Degrassi. It was particularly heartwarming to read as they just read Kanban In Action and now have started to use. Kanban. In action. They now had a question and I asked if I could share that question and my answer here on the blog. They kindly obliged. Here’s the question (I’ve edited it a bit): Dear Markus, let me get back to you with a question. If an agent has to choose between different kanbans (cards) which one to work on, and all the kanbans have the same characteristics (dimensions, etc.) and he can actually decide to work on every one of them, is there any “rule” you might suggest in order to pick a kanban - everything else being equal? Kanbans or not kanbans First of all - excellent use of the word kanban (that literally means...
Read More
Reflections after Agile Greece
I’ve just attended Agile Greece Summit which was a wonderful event. Many awesome speaker, met a few of my heroes (Linda Rising, Michael Feathers, David Snowden and Mark Schwartz) and met new friends (Portia Tung, Alison Coward, Lisi Hocke, Gary Crawford and Gwen Diagram, just to mention a few) and finally had many interesting and challenging conversations throughout the conference. All in all it was a very good event to attened, expertly organised by an awesome team and I consider myself lucky to have been here. As with many conferences an underlying theme starts to emerge from the different talks. I suspect we take inspiration from other speakers and conversations, but I’ve observed this too many times to think it’s a coincidence. I wanted a few reflections that I got during this conference. It can be summed up in a few very strange sentences: It’s all about people, and they...
Read More
Some reflections after a few days as a musician
I’ve had the great opportunity to do some extra work in a very different environment this week; I’ve been a musician in a professional orchestra - the awesome Östgöta Blåsarsymfoniker. It was quite a treat to work in this group and get to play my instrument on a high level. Also, as an amateur, getting paid to play my instrument is … mindboggling. Being part of this group for a few days made me notice a few rituals and practices that I think we can learn from. I wanted to share a few thoughts on them here. Below I will list a few practices and rituals that we did. First I had an idea of writing something about how to translate this into practices for my “home” industry, IT. But I decided against that. Because I wanted to give you the opportunity to find ways. Warming up. Together The first...
Read More
What I learned when installing 33 developer computers in 5 hours
Yesterday I had a very interesting task for a client. I work as (brace yourselves for a cool title) “Head of curriculum” for School of Applied Technology. They create and run bootcamps and the first one we are running is “Fullstack JavaScript developer with React and Express”. That title means that I’ve been creating the content of the course together with the person (Jakob) teaching it. Ok, to the point of this post. Part of this work means that we need 33 students to get up and running with their developer computers super fast. We want code to be written after a few hours. Said and done - I created a set of dotfiles which will configure their computers properly with all the tools and (my opinionated) settings they will need. Yesterday 33 MacBook Pros came to the Aptitud office and 5 hours later I had installed, configured and test...
Read More
Integrate JIRA search results in Google Sheets for fun and profit
As an agile coach working in bigger companies you are sound exposed to JIRA. JIRA - a tool that started out as a good idea and then grew into … a not as good idea. But hey - we got to live with it, I suppose. </rant> In this post I wanted to show you how to easily import data from a JIRA query to Google Sheets (or Excel I presume). That is, in all honesty, not that complicated so I will share a few other tips around this whole process. In short: Tweaking export of JIRA data for fun and profit Creating a filter JIRA has a really powerful tool in searching for issues, through it’s query langauge JQL. If you head on to the search feature (Issues -> Search for issues) we can try something out: Resolution is not empty and labels in (roar-subzero-tech, wtp-unplanned) This will return...
Read More
Keeping copies of charts from Google Sheets updated automatically
At my current gig, we are using Google Apps (Docs, Slides, Sheets etc) a lot. I’m getting quite fond of it. My favourite part is the sharing between the apps. I create a nice diagram in Google Sheets and then I can easily copy it to Slides to present easier. In this short post, I wanted to walk you through how I’ve made a very small hack to keep those slides updated automatically. This is really handy if you’re doing a dashboard, or presentation that is running in a kiosk of sorts. Copy the chart The first thing to notice that there are two ways to copy/paste a chart; as a picture and as a link. For this use case, you want to use a link. Here’s how: Open the spreadsheet that contains the diagram you want to copy Click on the diagram and then click the three dots ......
Read More
Testing a Koa application with supertest using async/await
I’ve been playing around with refactoring a Koa application to use modern JavaScript constructs like async, await => and do away with generators etc. In doing so I had an epic battle with mocha, monk and supertest to use async / await etc. I finally found a good structure for this purpose that I wanted to share. The case This will be small but not too contrived. The test will store an object in a MongoDb database, then will call an HTTP-endpoint (/user/:id) that simply returns that object for us again. To do this we will have to await the call to mongo using monk, then do the request using supertest and finally use supertests own asseration features to ensure that we get back what we expected. I started with a simple setTimeout but thought I would something a little bit more real. Setup Create a new directory, I called...
Read More
Refactoring a Koa app (part V) - refactoring the root app
This is the fifth and last post in a series where I refactor an old (4 years) code base (an API written in Koa) to modern Javascript and tools. Here are all the posts in the series Part I - get the tests to run Part II - where we clean up the test code a bit Part III - where we start to move over to async/await testing Part IV - where finally do something about the production code, and fix the other parts of the application Part V - wrapping up by refactoring the root application - this post The last post ended with us finishing refactoring the individual part applications. The time has come to the orchestration app on top. If you remember from the very first post I had done this to show a feature of Koa where you can compose Koa applications in a nice...
Read More