marcusoft.net - sharing is learning


function share(knowledge){ return share(++knowledge) }

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

Read on ...

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.

Read on ...

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.

Read on ...

What are you going do when it's really important, then?


I have a very particular set of memories from my childhood, that revolves around me falling, hitting or otherwise hurting myself. If it was just a bruise my father often said to me:

How bad is it? Is it worth crying for, like you do now?

(I was probably exaggerating quite a lot). Of course, it was!

Tell me, what are you going to do if it really hurts, then?

That was maybe not pedagogically correct for a child in pain but it at least got me thinking. Indeed… what comes after screaming and crying? Could I turn this up? Would it make a difference? Would I get … yes, what was it I wanted, really? Maybe just a hug or comfort. Could I get that by other means of communication that the display I was putting on now?

Of course, 7-year old Marcus didn’t reflect on his behaviour this deeply. Hey, 44-year old Marcus barely does that. But at some clients, that thought comes back to me from time to time. In the way deadlines are communicated.

Read on ...

Thinking in flow - some recent thoughts


I talk a lot about flow these days and I’m continuously fascinated how many good things follow by shifting our focus to supporting a better, faster and smoother flow.

In this post, I just wanted to share a few thoughts that have been on my mind lately.

Read on ...

Priority 0 - we meet again


I once worked at a large company where they had so many priorities 1 features that they decided to introduce … bam-bam-ba-baaaa … Priority 0. But after a few minutes, we ended up with about 5 items in that category and we realized the ridiculousness of continue to do Priority -1 etc.

Today I saw this pattern in action again, and a new realization about a missed teaching opportunity washed over me. I wanted to share this with you in this post.

Read on ...

A simple diagram and some conversations on flow efficiency


The last couple of weeks I have been re-discovering an old diagram (eerm … sketch really). You can find it scribbled on close to every whiteboard in our office now. Because it opened a lot of interesting discussions on flow, flow efficiency and optimizations for value delivery.

I wanted to share this with you here, in a few iterations and also share some of the discussion that it triggered.

Read on ...

My top 10 books


I often give out a lot of books tips in lectures and workshops, so instead of me typing and find links everywhere, I thought I’d put together a list of them here.

There are only 10, so if one is added another one needs to leave. That said - they are in no particular order.

For each, I’ve given a short little review and comment on why I like the book.

Read on ...

Futurespective - put the past in front of you


“Wow - this release was awesome. So fast, almost no manual testing and only one bug found in testing,” Sarah exclaimed in joy.

“Yeah, but there was that one bug. It should be zero, huh?”, Marcus responded grumpily from his corner, without looking up from the screen.

“Also - there are still manual testing going on. It should be all automated,” John chimed in, unimpressed.

“Fast and fast … still our build runs in 8 minutes. That is a long time. Way too long if you ask me!” Alex sighed as she pointed to the build log on the screen.

Sarah went back to her desk. Her enthusiasm was gone.

I think we often miss the improvements we made by not looking back and appreciate the journey we made. If we only talk about what is still not great we lose track of how far we have come. This is in particular common among developers I’ve noticed, and even more so in teams that have been under a lot of pressure since they never got around to fixing that thing that we got promised to do 4 months ago….

I wanted to share just a thought about this that has proven helpful for some of those teams that I had the opportunity to talk to.

Read on ...

Review - The art of coaching


Just finished “The Art of Coaching”, by Jenny Bird and Sara Gornall, that taught me a great deal so I thought I’d write down some thoughts and comments.

I honestly don’t remember putting this book into my basket and was quite surprised when it arrived among some other books in my package. Hence I read the book with very open mind and curiosity.

Read on ...

Some thoughts on organizing a team of developers


Got a question in an email the other day, asking some advice. Nowadays when that happens I ask permission to publish the answer here to not waste keystrokes into the email-bin.

The question was from my friend Jonas, that works in a start-up that is growing rapidly. He kindly granted me permission to answer here. He was asking this (my translation):

We are on the brink of a substantial expansion and I was wondering if I could pick your brain on experiences and best practices for how to organize a team of developers.

We’re thinking about a team of 4-6 people that has responsibility for a specific part of the product. What roles and responsibilities should be in, or out, of the team?

And in a follow-up mail:

In particular, the product owner role and what that role does and doesn’t do. I like the PO very local and present, but many people seem to have the PO outside the team as an ordering function. For me, the PO is the one that maximizes the customer value, prioritize the backlog but also helps the team to reach their full potential.

Well… that was a very thoughtful and great question. Thank you for asking me. I’ll try to match the question with an answer at the same level.

Read on ...

Flow and dependencies


I’m talking less and less about agile and even lean, these days. Instead, the poison I’m selling now is flow. In all honesty, it might be better to put it like this:

Opening peoples eyes for the benefits focus on flowing work smoother and faster, alleviates discussions about lean and agile later.

Flow is an eye-opener and shifts your perspective. Things that previously was paramount (ensuring people are not idle, for example) becomes irrelevant or uninteresting. New ways, practices, and innovation quickly spur.

But also new problems occur. One of the most common ones is the fact that flow is severely hurt by tasks that have many dependencies. I think I talk to teams about 4-6 times a week about this.

In this post, I will offer a few thoughts on how to handle this type of situations.

Read on ...

Values and living them


As a consultant, you get to see many, different organizations and look deeply into what makes them tick. This is a great benefit of my job, but at the same time quite hard to find from time to time. The reason for that is that most organizations have very lofty and worthy values but what is lived out is something else.

But I’ve found… who am I kidding … stolen a way that make values more tangible and important in our everyday life. It’s a simple trick that you can start using tomorrow.

Read on ...

Summarizing and filtering data with QUERY and a Google Sheet drop-down


I had another opportunity to learn a thing or two about Google Sheets and it’s internal functions. Again. On a similar topic as last time.

This time around I had to summarise the data from 4 different sheets and then let the user filter the data dynamically.

To do this, I had to look up a lot of things, learn a little bit about the QUERY-function and then jump through some hoops. I write this down here so that I don’t have to learn this again. You can read it if you want to.

Read on ...

Some thoughts on backlogs


I was asked to join a team for a backlog grooming session. We went into the room and opened the backlog in JIRA. It was exactly 99 items long. Not too shabby, but still… 99!? Ninety-nine items of work we hadn’t done. Yet.

This of course triggered this jolly team to start singing and we soon where humming along:

In this post, I wanted to share how we cut the backlog in half in 45 minutes. And then share some thoughts on backlogs that I have running in my head.

Read on ...

Respecting slack time


As a consultant and coach, I find it very fascinating to see how the same topic has a tendency to arise in many different place and conversations I’m in. All of sudden everyone needs to chat about flow, or estimation or what-have-you.

I like telling stories, as a mean to teach and explain abstract concepts. Often when I’ve told a story once it has a way to surface back into conversations in the near future. I partly blame it on my limited imagination, but when it fits the conversation it’s interesting to notice how you tell the same thing several times a day.

The last couple of days people have been asking me about slack, and I’ve related a story about the pastor that married me and Elin. He was excellent in manage his own time and respected a good slack!

Read on ...

Create a dynamically updated chart in Google Sheets


When I started my blog, almost 12 years ago, I often wrote posts of things that I would need to look up again. Sure enough, I sometimes stumble into my own posts when searching for solutions to problems I have.

This post is one of those posts. I was asked to conduct a survey throughout our department and needed to do some slicing and dicing of the stats. I used Google Forms to collect the data and then did the analysis in Google Sheets.

It all came out pretty nice and allowed people throughout the department to drill down into the data in a quick and simple way.

Read on ...

Viral Change and some thoughts about tools


The other day a co-worker (Anders - awesome guy!) pointed me to a change management tool/methodology called Viral Change. I read about it and got quite hooked I have to say, but I’m not yet ready to make a report on how it works or it’s merited.

However, in one of the documents I read they made a little remark that I found very interesting as it brushes on many of the problems that I often have when trying to “do” agile or change into agile.

This post is about that but I have to give a little backstory and my current understanding of Viral Change.

Read on ...

Review of A seat at the table


I’ve just read a classic. Mark my words - we will mention, refer to and hear a lot about Mark Schwartz great book “A seat at the table”.

It’s an amazing book - you have to read it.

Read on ...

Limiting WIP and some rules of thumb


Writing a book (psst - there’s another one on its way) has changed many things for me and opens so many doors in my career. But my favorite thing is when I get to talk to people that have read my book, learned something and is applying kanban in their everyday life. Sometimes I get some really insightful and interesting questions.

Massimiliano Spolverini, for example, presented me with one of those questions just the other days:

I have been reading your book the second time and I have found it brill. Though, there is a doubt playing on my mind which I cannot sort out.

The 2nd rule of thumb to find a WIP limit (page 111) explains that when the WIP is set too high, then the team can see some work items not being worked by anybody, which no one is responsible for.

On the other side, at the bottom of page 117, when the “Drop down and give me 20” approach is presented, it is said that “…if too many work items are idle, you can go back up to the level you had before”. In other words, it says that if one sees idle work items, he’d better move back to higher WIP. Isn’t this last statement in contradiction with the 2nd rule of thumb?

Massimiliano kindly let me answer the question on this blog and in this post I wanted to share some of my thinking about this situation. I don’t claim to hold a one-and-only-answer but rather wanted to explain and expand a bit further.

Read on ...