My friction-filled information workflow

Every 18 months or so I find myself feeling that my personal information workflow is working against me. Sometimes I end up diving into an inevitably fruitless quest to find an application that could be ‘the answer to everything’.

Last year I thought that some of the friction might have been coming from where I am able to access each application that I use. In my personal life I have an iPhone, an iPad and a MacBook, but at work I use a Windows laptop. I always prefer web applications as they can, in theory, be accessed from anywhere. However, it’s difficult to find web apps that have all of the features that I want.

My whiteboard from December 2021 trying to work all of this out.

My whiteboard from December 2021 trying to work all of this out.

Mapping out each of the applications was useful; it made me realise that I could move my old documents and notes archive in Evernote over to OneNote, saving money on a subscription. After wrestling with the migration over a few days, that was that. Things got busy and I didn’t look at my personal workflow again. Until now.

After getting ‘the itch’ again, this time I’ve tried to map out exactly what my current personal workflow looks like, regardless of where the applications are accessible. Here is the resulting mess:

My workflow, such as it is, today.

My workflow, such as it is, today. (Click to enlarge.)

I haven’t decided where to go from here. What I do know is that I need to ponder this for a bit before making any changes. Experience tells me that the problems I have (or feel that I have) are less about the applications and more about the purposeful habits that I need to form.

Some disorganised thoughts:

  • There is still definitely an issue with where I can access each of the components from. Every time I need to switch devices, there is friction.
  • Finding apps that are super secure — i.e. those that encrypt data locally before being sent to the application’s cloud storage — do exist, but at the moment they feel like using a cheese grater to shave your legs. Yes, I could use Standard Notes everywhere, but the friction of working with it is much higher than being forced onto my Apple devices to use Ulysses.
  • Some of the apps are replacements for each other in theory, but not in practice.
    • Readwise Reader can keep YouTube videos I want to watch later, but they then become slightly less accessible if I am sitting down to watch them in front of a TV.
    • Readwise Reader can also accept RSS feeds, but at the moment the implementation is nowhere near as good as Feedbin. I tried it through exporting my OPML file of feed subscriptions and importing it into Reader, but when it wasn’t working for me I found I had to painstakingly back out my RSS subscriptions one by one.
  • I’m still searching for a good way to curate my reading backlog. I estimate that I have over 1,000 ebooks1, hundreds of physical books, hundreds of PDFs and nearly 9,000 articles saved to my ‘read later’ app. I’ve already done the maths to work out that even if I live to a ripe old age, there is not enough time left to get through all of the books that I’ve bought. As Ben Thompson has been saying: in an age of abundance, the most precious and valuable thing becomes attention. I have lists of all my books in Dynalist, but still rely on serendipity when it’s time to pick up another one to read.
  • I need to work out the best way to distinguish between the things I have to do versus the things I want to do. Not that these are absolutes; the amount of things that I absolutely, positively have to do is probably minimal. I might save a YouTube video that would be super helpful for my job right now, and want to prioritise this above others that I have saved for broader learning or entertainment. What’s the easiest way to distinguish them and be purposeful about what I pick up next?
  • Similarly, where should a list of ‘check out concept x’ tasks go? These aren’t really ‘tasks’. When is the right time to pick one of these up?
  • I’m finding that using Kanban for projects is much easier than long lists of tasks in a to-do app. At work we use Planview AgilePlace (formerly known as LeanKit) which from what I can tell is the most incredible Kaban tool out there; if you can imagine the swimlanes, you can probably draw them in AgilePlace. But it’s difficult to justify the cost of $20/month for a personal licence. I’m using Trello for now.
  • Needing to look at different apps to decide what to do next is a problem. But how much worse is it than using one app and changing focus between project views and task views?
  • Are date-based reminders (put the bins out, clean the dishwasher, replace the cycle helmet, stain the garden fence) a different class of tasks altogether? Are they the only things that should be put in a classic ‘to do’ tool?
  • One of the main sticking points of my current workflow is items hanging around for too long in my capture tools (Drafts and Dynalist) when they should be moved off somewhere else. Taking the time to regularly review any of these lists is also a key practice. Sometimes I haven’t decided what I want to do with a thing so it doesn’t move on anywhere, which is also a problem. I need to get more decisive the first time I capture a thing.
  • Document storage is a lost art. After I drew the diagram above, I’ve consolidated all of my cloud documents onto one platform — OneDrive — but now need to go through and file what’s there.

I know that there are no right answers. However, now that I can see it all, hopefully I can start to work out some purposeful, meaningful changes to how I manage all of this stuff. I’m going to make sure that I measure twice, cut once.


  1. The consequence of slowly building up a library as Kindle books were discounted. Aside from checking the Kindle Daily Deal page, I’ve largely stopped now. Looking back, I don’t think this was a great strategy. It seems much better to be mindful about making a few well-intentioned purchases, deliberately paying full price for books from authors I like. 

📚 A Seat at the Table

I picked up Mark Schwartz’s A Seat at the Table as I have recently been thinking about how we can move away from the perception of our IT team as the people who ‘turn up and fix the Wi-Fi’ to one where we are seen as true business partners. The book took me by surprise in being less of a self-help manual and more of a well-articulated argument as to why the old ways in which we did things no longer apply in the digital age. It is brilliant.

Schwartz has a way of encapsulating key concepts and arguments in short, smart prose. The book contains the best articulation of the case for Agile, Lean and DevOps that I have read. There is so much wisdom in a single sentence, for example:

What is the value of adhering to a plan that was made at the beginning of a project, when uncertainty was greatest?

One of the books referenced heavily in A Seat at the Table is Lean Enterprise by Jez Humble, Joanne Molesky and Barry O’Reilly which I read some time ago. Lean Enterprise goes into more detail in terms of the concepts and mechanics used in modern software development such as continuous integration, automated testing etc. and brings them together into a coherent whole. Schwartz does not cover these topics in detail but gives just enough information to make his case as to why they are the sensible way forward for developing software.

A company may typically engage their IT department as if they are an external supplier. They haggle and negotiate, they fix scope and cost and they then the work starts. This approach does make some sense for working with a truly external vendor where they are taking on some of the financial risk of overrunning and you are able to specify exactly what you want in detail, for example where physical IT infrastructure is being delivered, installed and configured. It makes little sense when you are creating a new software system. It makes even less sense when the IT team are colleagues in the same organisation, trying to work out what investments will make the biggest impact on the company. We win and lose together.

First of all, we came to speak about “IT and the business” as two separate things, as if IT were an outside contractor. It had to be so: the business was us and IT was them. The arms-length contracting paradigm was amplified, in some companies, by the use of a chargeback model under which IT “charged” business units based on their consumption of IT services. Since it was essentially managing a contractor relationship, the business needed to specify its requirements perfectly and in detail so that it could hold IT to delivering on them, on schedule, completely, with high quality, and within budget. The contractor-control model led, inevitably, to the idea that IT should be delivering “customer service” to the enterprise—you’d certainly expect service with a smile if you were paying so much money to your contractors.

For readers who are familiar with why we use Agile software development methods, the arguments against the old ‘waterfall’ approach are well-known. What is more interesting is that Schwartz also points to issues that advocates of the Agile approach have exacerbated. Agile people can be suspicious of anyone that looks like a manager, and want them to get out of the way so that they can get on with the job. Schwartz argues that the role of managers and leadership is to remove impediments, many of which the Agile team cannot easily deal with on their own:

When the team cannot accomplish objectives, I am forced to conclude that they cannot do it within the given constraints. The team might need members with different skills. It might need permission to try an experiment. It might need the help of another part of the organization. It might need a policy to be waived. But if the task is possible and the team cannot achieve it, then there is a constraining factor. My job is to remove it.

What if someone on the team is really just not performing? Perhaps not putting in his or her share of effort, or being careless, or uncooperative? Well, then, dealing with the problem is simply another example of removing an impediment for the team.

The critical role of middle management, it would seem, is to give delivery teams the tools they need to do their jobs, to participate in problem-solving where the problems to be solved cross the boundaries of delivery teams, to support the delivery teams by making critical tactical decisions that the team is not empowered to make, and to help remove impediments on a day-to-day basis. The critical insight here, I think, is that middle management is a creative role, not a span-of-control role. Middle managers add value by contributing their creativity, skills, and authority to the community effort of delivering IT value.

He makes a clear case for getting rid of ‘project thinking’ completely. If you want a software delivery initiative to stay on budget, the only way to do that is through an agile project. The team will cost the organisation their run rate which is almost always known in advance. Work can be stopped at any time, preserving the developments and insights that have been created up to that point.

As a former PMO head, and with my current responsibilities of running a portfolio of change initiatives, it was interesting to see the approach to ‘business cases’ recommended in the book. Instead of signing off on a set of requirements for a particular cost by a certain date, you should be looking to assess the team on what they want to achieve and whether they have the skills, processes and discipline to give you confidence that they will:

  • be effective,
  • manage a robust process for determining the work they will do,
  • make good decisions,
  • seek feedback,
  • continually improve.

Schwartz gives a brilliant example of how difficult it is to articulate the value of something in the IT world, which gave me flashbacks to the hours I have spent wrestling with colleagues over their project business cases:

How much value does a new firewall have? Well … let’s see … the cost of a typical hacker event is X dollars, and it is Y% less likely if we have the firewall. Really? How do we know that it will be the firewall that will block the next intrusion rather than one of our other security controls? How do we know how likely it is that the hackers will be targeting us? For how long will the firewall protect us? Will the value of our assets—that is, the cost of the potential hack—remain steady over time? Or will we have more valuable assets later?

The word ‘requirements’ should go away, but so should the word ’needs’; if the organisation ‘requires’ or ‘needs’ something, what are the implications for right now when the organisation doesn’t have it? Instead of using these terms, we should be formulating hypotheses about things we can change which will help bring value to the organisation. Things that we can test and get fast feedback on.

Schwartz also argues against product as a metaphor, which was a surprise to me given how prevalent product management is within the industry today:

But the product metaphor, like many others in this book, has outlived its usefulness. We maintain a car to make it continue to function as if it were new. A piece of software, on the other hand, does not require lubrication—it continues to operate the way it always has even if we don’t “maintain” it. What we call maintenance is really making changes to keep up with changes in the business need or technology standards.

Senior IT leaders are ’stewards’ of three critical ‘assets’ in the organisation:

  1. The Enterprise Architecture asset  — the collection of capabilities that allows the organisation to function, polished and groomed by the IT team.
  2. The IT people asset — ensuring that the organisation has the right skills.
  3. The Data asset — the information contained in the company’s databases, and the company’s ability to use that information.

Much of the book comes back to these three assets to emphasise and elaborate on their meaning, and the work required to “polish and groom” them.

The author makes the case that CIOs should take their seat at the table with the rest of the CxOs through being confident, bold, and simply taking the seat in the same way that the others do. To talk of IT being ‘aligned’ to the business is to imply that IT can be ‘misaligned’, doing its own thing without giving any thought to the rest of the organisation. The CFO, CMO or any other CxO does not need to continually justify their existence and prove their worth to the business, and neither should the CIO. The CIO needs to have deep technology knowledge — deeper than the rest of the people around the table — and bring this knowledge to bear to deliver value for the organisation, owning the outcomes instead of just ‘delivering products’.

It follows that the CIO is the member of the senior leadership team—the team that oversees the entire enterprise—who contributes deep expertise in information technology. I do mean to say deep expertise. Increasingly, everyone in the enterprise knows a lot about technology; the CIO, then, is the person who knows more than everyone else. The CIO should be more technical, not less—that is how he or she contributes to enterprise value creation; otherwise, the role would not be needed.

The age of IT organizations hiding behind requirements—“just tell me what you need”— is gone. IT leaders must instead take ownership, responsibility, and accountability for accomplishing the business’s objectives. The IT leader must have the courage to own outcomes.

IT investments are so central to corporate initiatives that it is hard to make any other investment decisions without first making IT decisions. This last point is interesting, right? Perhaps it suggests that IT governance decisions should be made together with or in advance of other business governance decisions. Instead, in our traditional model, we think first about “business” decisions, and then try to “align” the IT decisions with them. But in our digital world—if we are truly committed to the idea that that’s the world we live in—IT should not follow business decisions but drive them.

CIOs and their staff have an excellent “end-to-end understanding of the business, a discipline and mindset of accomplishing goals, and an inclination toward innovation and change.” They bring a lot to the table.

Schwartz makes a case for the rest of the organisation becoming digitally literate and sophisticated in their use of technology. This may extend to people from all parts of the organisation being able to contribute to the codebase (or “Enterprise Architecture asset”) that is managed by IT. This should be no different to developers on an open source project making changes and submitting a ‘pull request’ to have those changes incorporated into the official codebase. We should embrace it, fostering and harnessing the enthusiasm of our colleagues. We should care less about who is doing the work and more about whether the company’s needs are met.

As much as I enjoyed the book, there were points where I disagreed. Schwartz argues strongly against purchasing off-the-shelf software — ever, it seems — and advocates building things in-house. He makes the point that software developed for the marketplace may not be a good fit for our business and may come with a lot of baggage. My view is that this completely depends on where the software sits in the stack and how commoditised it is. It makes no sense to implement our own TCP/IP stack, for example, nor does it make any sense to develop our own email client. (Nobody ever gained a new customer based on how good their email system was. Probably.) But I do agree that for software that is going to give us a competitive edge, we want to be developing this in-house. I think that something along the lines of a Wardley Map could be useful for thinking about this, where the further along the evolution curve a component is, the less Agile in-house development would be the preferred choice:

Overall this book is a fantastic read and will be one I come back to. It’s given me lots to think about as we start to make a case for new ways of working that go beyond the IT department.

Using a LeanKit board to manage risks

LeanKit is my favourite productivity tool. Our team has been using it for the past couple years to manage our work across a series of Kanban boards. It is super easy to use, and offers a massive amount of flexibility compared to the implementation of Kanban boards in Jira, Trello or Microsoft Planner. You can configure both vertical and horizontal swimlanes, instead of just the vertical columns of tasks that the other tools offer. It is easy to represent your team’s workflow as it feels like the tool is working with you instead of against you.

Recently we have also started to use LeanKit to manage our department’s risks. At our company, we have an Operational Risk framework used across the organisation that looks like this:

The first job is to reproduce this layout in LeanKit so that everyone can relate the board back to the model. The board editor makes this super easy.

Here the typical Kanban setup of ‘to do’, ‘doing’ and ‘done’ is represented by the ‘New Risks’, ‘Current (Residual) Risk — After Mitigation’ and ‘Closed — Ready To Archive’ lanes respectively:

The man section is then broken down into rows for ‘likelihood’, with ‘severity’ columns in each row. The coloured circles in each of the box titles are emojis that are added when editing the title of each box (on Windows use the Windows key plus ‘.’ to bring up the emoji picker, and on a Mac press ‘fn’ or use the Edit > Emoji & Symbols dropdown in the menu bar). We also have a ‘Themes’ section at the top of this lane — more on this later.

In the ‘New Risks’ column we have a space for a template as well as a ‘For review’ section which has been allocated as the drop lane. By default, new risks will go here when we think of them; we then periodically review them as a team and drag them to the appropriate place on the board.

We then need to configure the board. The Board Settings tab can be used to set a title, description, custom URL and specify who gets access:

In this example, I’m not yet ready to let anyone else use it so I have set the default security to ‘No Access’:

In the Card Types section we define three types of card. The main one is ‘Risk’ but we also create ‘Theme’ to group our risks together. We also left ‘Subtask’ as one of the defaults in case someone wants to use the on-card mini-Kanban board to manage the tasks relating to an individual risk. We pick some colours we like, and delete all of the other default types of card:

We also set up a Custom icon so that we can see at a glance which of our risks are mitigated/accepted, those that we are working on and those where we need to give them attention.

We ensure that every card has one of these custom icons when we create it. During a review we can then filter the board so that, for example, only the red-starred cards appear.

Next we create the template card. First, we set the Card Header to allow custom header text. With templates, I like to leave the board user with instructions such as ‘Copy me!’:

We then create the template card itself. This goes some way to ensuring that all of the new risks get created in a similar way, with similar information. This card will be put into the ‘Template’ section of the board:

In order to distinguish one risk from another, and report them to wherever they need to go, we want each risk to have a unique identifier. We can now go back to the Card Header in the board’s settings and select ‘Auto-incremented Number’ with a header prefix of ‘Risk ‘. This means that new cards added to the board will be called ‘Risk 1’, ‘Risk 2’, ‘Risk 3’ etc.:

The ‘Risk ‘ prefix does have the effect of changing the name of the template card, but this isn’t too confusing:

We can now start adding risks to the board, and linking them to themes as shown below:

Having a visual representation of our risks in this way is so much better than the usual spreadsheet with one risk per row. It’s allowed us to incorporate risk management much more into our day-to-day work. We can assign owners to each risk, and use all of the rich features of LeanKit such as adding comments, due dates etc.

If we decide a risk needs to be reclassified in terms of its likelihood or severity, we simply drag the card to the new location on the board. The card itself will keep a history of its journey in its audit log. If we absolutely have to submit our risks in a spreadsheet somewhere, we can export the board contents as a CSV file and format it in Excel.

The best thing about managing the risks in this way is that we can link any mitigation work directly to the risks themselves. Where we agree a follow-up action, we create a task cards on the appropriate team Kanban boards and then link each of those cards to the risk — the risk card becomes the parent card of the task. In this way, we can see at a glance all of our risks and track the work as it gets completed across the organisation.

What does a project manager need to know?

One of my colleagues has just moved into a project manager position for the first time and he has asked me for pointers to help him get started. In the spirit of ‘share, don’t send’ I thought I would post something on our internal blog (as well as posting here) instead of just emailing him.

I have been working as a project/programme/portfolio manager for almost all of my career and it has been some time since I was asked for project management reference material. The question got me thinking about what a project manager’s role really is right now and I don’t have a single simple answer.

Traditional answer

The basics

Most people would say that a project manager is someone who looks after the plan, risk and issues log, runs status meetings and updates the status report. All of these are true but what is the best way to approach them?

There are three main recognised bodies that are responsible for traditional project management methods. Each has its own reference work which will give you lots of information about what a project manager does:

You can find training providers who will take you through the material and offer you exams and certificates. In my experience you do not need any of these qualifications to work as a project manager—I don’t know of project managers in my industry [ref]Financial Services[/ref] being prevented from getting a job because they didn’t have a certificate. Having said that, the background knowledge of basic ‘classic’ project management is very useful. I did my training through an in-house course at a previous firm that didn’t result in a recognised qualification and supplemented my learning by reading a book called ‘How to Run Successful Projects III’ by Fergus O’Connell which gave me enough of the basics to get going.

You need to know about the following no matter what ‘flavour’ of traditional project management you pick:

In addition, there was a good blog post that I used to recommend to people called ‘How to be a project manager. For free. Starting today.’ which gives a few useful pointers as to how to behave and act like a project manager.[ref]It’s disappeared now but the link takes you to an archived snapshot of the page.[/ref]

At the firm where I work our project managers need to make sure that they are familiar with our programme and project lifecycle and are using the most up-to-date templates for their work. Speak to somebody at your firm to find out what they use.

What experience gives you

You can (and should) read all of the material you want; however, there is no substitute for getting on with managing a project and striving to do the best job that you can. The amount you will learn from just being a project manager and doing the work is immense. You do need the theory, but just like learning to drive you need to try and put it into practice to really build your skills.

Over time I have come to the belief that the best project managers are usually the pessimists in the room. I don’t mean that they always look downbeat, but that they tend to never sit back when things are going well and are always thinking about what could go wrong to derail the project. The developers on the team are usually optimistic (“That shouldn’t take us long at all!”) and it is the project manager’s job to be pessimistic (“What about all of the other work on your plate? What about the fact we need to check the design with the architecture team?” Etc.) On more than one occasion I have had people tell me that “project management is basically risk management” and I think that this is what they mean. I would agree that anticipating things that can go wrong and moving obstacles out of the way so that the team can get on and do the work they have committed to should be the vast majority of a project manager’s day-to-day job.

As you manage more projects you get a deeper understanding of the situations when certain tools are useful. More importantly you get to realise when to put them down. I remember using Microsoft Project for the first time and coming up with an extremely granular plan of some 1,500 tasks which read more like a to-do list (‘Jim is going to be working on this item for two hours exactly 26 days from now’). I spent days and nights with a nagging doubt that I just wasn’t doing it right; I almost constantly needed to change the plan when people inevitably found themselves blocked and just did something else on the list instead. Microsoft Project is extremely useful and you are well-advised to become familiar with it, but over time experience will tell you when to put it down and focus on the delivery as opposed to the plan.

There are such things as bad project plans (tasks that start ‘in mid air’ without predecessors, dependencies being linked to summary tasks, people being assigned to summary tasks, tasks at too granular a level to be useful) and good project plans (every task except for the first one has a dependency on tasks before it, ‘leveling delay’ has been used to move tasks where there is a resource clash etc.) There aren’t too many books out there that go into the detail about what makes a ‘good’ and ‘robust’ project plan but I highly recommend ‘Dynamic Scheduling’ by Eric Uyttewaal—it’s out of print but you should be able to pick up a cheap second hand copy.

As you get called on to manage more projects you will inevitably find yourself walking into situations where your job is to try to structure order out of chaos. Time and again I have found teams where each person feels that they know what they are doing and how they are contributing to the project but in actual fact they are moving in different directions. Your job is to get everybody together and write down what the project is trying to accomplish, what defines it being ‘done’, what assumptions have been made, what is in scope and out of scope, and play it back to the team (including the project executive or sponsor) so that they can debate it and come to a common agreement.

In many ways your job as a project manager is to act as a ‘mirror’ to the team and senior stakeholders about how things are. Staying up all night fretting about an inbound dependency making your project late won’t help anybody, and it won’t make the task get done any sooner. Your job is to try to anticipate the problem, think laterally about how to solve it to reduce its impact on the work and to let people know what is going on.

I always tell project managers to remember that you cannot actually make anybody do anything—other people are always outside of your control, even those who report into you. You only have influence on what they do and therefore on the project eventually being completed.

Business teams have a reputation for adding scope to the work you are doing. Your job is not necessarily to resist this, especially if it means that the project will deliver something more aligned to what the business needs. However, it is absolutely your job to tell the team what the impact of the additional scope will be (‘mirror’ the impact back to them) so that they can make an informed decision on what should be done.

One of my ex-colleagues, Susanne Madsen, has written a couple of useful books (1, 2) on learning to develop your leadership qualities as opposed to your technical skill. I would recommend this as something to focus on once you feel like you have got to grips with the basics in the section above.

What I would say today

Today I think you need to know ‘all of the above’ as well as getting yourself familiar with agile and lean tools and methods. In 2008 I was fortunate enough to be invited to a presentation by Dean Leffingwell who was promoting his latest book on scaling agile within large enterprises. It was a complete lightbulb moment for me—agile felt as though it was scratching a vast number of the itches I had with the traditional methods that we had been using. I am completely convinced that for a large amount of what we do—delivering unique software products against a backdrop of changing requirements—agile and lean methods are more appropriate than traditional project management.

I find that Agile has a very poor reputation within both the Technology and business teams. It seems as though a lot of people have had a lot of bad experiences with project groups that have said that they are ‘agile’ and then proceeded to mismanage the work. I try to avoid talking about Agile with a capital ‘A’ and instead focus on the things that both agile and lean methods brings to the table, all of which have value:

  • Breaking the work into smaller chunks so that we can:
    • Deliver something of value to the customer/client sooner (a ‘minimum viable product‘ in the first instance)
    • Get early feedback as to whether we are going in the right direction (“I don’t know exactly what I want, but I’ll know it when I see it”)
  • Work out where the pain points are with our delivery process and improve them
    • We can’t release every two weeks because testing takes too long? Automate our testing.
    • We spend too much time integrating all of the code changes and ironing out the defects? Use continuous delivery tools.
    • Estimate the work, measure the speed at which we are getting through it and look at how we can improve our estimates and/or our velocity.
  • Avoid having projects that are ‘green’ until they go red at the last minute and fail (a phenomenon known as ‘carrying watermelons‘—green on the outside and red in the middle)
    • Don’t rely on guesses/approximations of whether we are on track, look at the evidence of what we have delivered and use this to forecast how long the remaining work will take. Show this using burnup charts and other visual techniques such as demonstrations.
  • Avoid getting through 80% of the work quickly and the remaining 20% taking us well beyond the planned end date
    • Tackle the hardest known problems first
    • Use an economic framework such as ‘Cost of Delay divided by duration‘ (CD3) to work out which of our planned items has the highest business value with the quickest payoff and prioritise that

There are a number of agile and lean methodologies that you should become familiar with. Training courses and certifications are available for these as well:

When digging into these you will notice that the ‘project manager’ role is typically not present. For example, Scrum has a role of ‘Scrum Master’ but this is not exactly the same thing. This does not mean that the project manager is redundant. I recently went to a Q&A session with Kelly Waters who proposed that a project manager covers multiple teams whereas a Scrum Master works within a specific team; project managers do the higher-level release planning and coordination.

Agile teams are usually 6–10 people focused around a particular system or product. Scaled frameworks have been developed which take elements of all of the above and adjust them to work across different agile teams and even the entire enterprise. Again, you can study the literature and earn qualifications in these:

What I will probably say in the future

Agile and the various scaled agile approaches are striking in that they focus around a specific product. This is different to how we currently do it, where we focus around a budget (sometimes known as ‘budget-driven development’). This can cause problems where projects are approved that need to make changes to a variety of different systems, each of which are already undergoing changes for a number of other funded projects. Beyond Budgeting looks to address some of the failings of this approach.

The #noprojects movement is very interesting in that it says that the whole concept of a project is inappropriate a for software/product development. The key reasons are:

  • Projects work to proxies that are set at the start—schedule, budget and scope. This assumes that the value of the entirety of the project is knowable at the start and that there is no value in flexibility. If you have worked on any project before you will know that the world changes around you and so do your requirements; a project could be ‘green’ for schedule, budget and scope as they were initially defined but could actually be delivering something sub-optimal.
  • Projects should be reimagined as streams of value (which might stop one day); don’t ask when the software will be done but instead ask when the software will next deliver value. Focus on the benefits achieved and how recently and often they have been delivered by the team. Address the underlying problems with delivering value on a regular basis. Break the problem into smaller chunks and flow work across the team instead of having them work on a big monolithic project.
  • A projects is by definition a temporary endeavour. Project teams come together and spend time ‘storming’, ‘norming’ and ‘forming’ before they get to the ‘performing’ stage and then at the end of the project they disband, taking knowledge, capability and performance with them. Software delivered by the project lives on and requires continuous changes in response to new business requirements, defect fixes, security patches etc.

I really buy into this way of thinking. However, it is completely disruptive to how things are set up now with annual budget cycles, project business cases and budgets divided up into ‘run the firm’ and ‘change the firm’. Will this be the reality one day?

Further reading

There are a couple of fantastic books that I have picked up recently which are well worth your time. They cover a lot of concepts that relate to the ‘now’ and ‘future’ thinking above:

  • Lean Enterprise by Jez Humble, Joanne Molesky and Barry O’Reilly: This book brings together many of the lean and agile concepts mentioned above and presents them as a coherent whole. I have never been as excited by a business book as this one and wish that everyone I work with had read it. The concepts are extremely compelling and make great sense; this is something for everyone in the organisation to get familiar with.
  • The Principles of Product Development Flow by Donald Reinertsen: For ‘product’ read ‘software’ or anything else that we produce which is unique and not mass-produced. The text is extremely heavy-going and dense but contains a lot of information, presented as 175 ‘principles’ in the categories of economics, queuing, variability, batch size, work-in-process constraints, flow control, fast feedback and decentralisation. Having read it once I know that it deserves re-reading to further deepen my understanding. If anyone else has read it I’d be glad to hear from you so that we can explore the topics together!

 

Of project portfolios and an uncertain future

Earlier this week I was fortunate enough to attend the Gartner Project Portfolio Management (PPM) and IT Governance summit. I approached the event with some trepidation—this is my field and it would clearly be useful to be amongst peers and understand what the latest thinking is, but I expected it to be full of vendors voraciously pushing their wares and lots of attendees who were wrestling with nuances of Microsoft Project and getting ‘resources’ to work with the processes they had rolled out. Although there was indeed some of this, 80% of the content over the two days was extremely valuable. Many of the sessions had big overlaps with topics covered in Lean Enterprise, a fantastic book I read earlier this year which has really honed my thinking about the right way to approach IT and product development work within a large organisation.

The final keynote presentation of the day was extremely thought-provoking. Donna Fitzgerald and Robert Handler gave a talk called ‘Gartner Predicts the Future of PPM’ but it was so much more than just a talk about project portfolio management. The key issue is on how fast the world is changing around us and how quickly we will need to adapt. Early on, they quoted Ray Kurzweil in saying that:

“Our intuition about the future is linear. But the reality of information technology is exponential, and that makes a profound difference.”

The basic messages that I took away from the presentation were as follows:

  • Technological advances are exponential (think Moore’s Law, Metcalfe’s law etc.)
  • Anything that can be automated will be automated.
  • Things that yesterday we generally believed were impossible to automate are being automated (e.g. self-driving trucks, textual analytics etc.—this table from this paper was reproduced in the Gartner slide deck)
  • Only the very highest-level cerebral work will be left, to be done by good people who are seasoned experts.
  • Applying this to PPM, classic project management will be a generic skill, versatility of skills will be a necessity and the role of the PM will be to enable the team to get things done and shift obstacles out of the way.

As I sat there in the audience I couldn’t help but drift away from the PPM world and think back to an article I read in Wired magazine fifteen years ago. The article had such a profound effect on me that I can still remember exactly where I was as I read it—on a Northern Line tube train, heading to work one morning. It’s called Why The Future Doesn’t Need Us and is by Bill Joy, then Chief Scientist at and one of the founders of Sun Microsystems.

My main memory of the article was that humans pursue technological and scientific progress for its own sake, because it is in our nature to explore and discover. Out of this could come unintended consequences such as self-replicating nanotechnology that takes over the world in a horrendous ‘grey goo‘ scenario. Over the past fifteen years, this quest for scientific progress has become synonymous in my mind with the quest for continual ‘economic growth‘.

On my way home from the conference, with thoughts from the keynote still fresh in my mind, I decided to re-read the article. Two things surprised and struck me when I did so: (1) first part of the article focused on Joy’s meeting with Kurzweil so the keynote and the article seemed to have a common thread or root and (2) the article didn’t just focus on technology but also economic growth:

“Now, as then, we are creators of new technologies and stars of the imagined future, driven – this time by great financial rewards and global competition – despite the clear dangers, hardly evaluating what it may be like to try to live in a world that is the realistic outcome of what we are creating and imagining.”

“I believe we must find alternative outlets for our creative forces, beyond the culture of perpetual economic growth; this growth has largely been a blessing for several hundred years, but it has not brought us unalloyed happiness, and we must now choose between the pursuit of unrestricted and undirected growth through science and technology and the clear accompanying dangers.”

I tweeted that the keynote had got me “worried about our drive to automation and the unemployed masses” and a friend responded, stating that I should read about the so-called ‘lump of labour fallacy‘.

I did look into this, and found out that this basically says that the following line of thinking is fallacious:

  • There is a finite amount of work to be done.
  • Where work is automated, the overall pool of work is decreased, so the people unemployed by automation will not be able to find new jobs.

The reason it is ‘widely accepted’ as a fallacy is that historically, through technological, economic and societal change there is new work to be done and over time the labour force shifts to having these new skills. Think about the industrial revolution and the jobs that were lost because of the changes and how the population developed new skills over time for new jobs that had previously never existed.

Of the various excellent articles I have read on this, three things make me think that this historically has been a fallacy but may not be in the future:
  1. The speed of technological change. As per the Kurzweil quote at the top of this post, progress is not linear and it is getting faster. The speed of progress means that people may not have time to re-skill within their own lifetime.
  2. If it is true that “Only the very highest-level cerebral work will be left, to be done by good people who are seasoned experts” then how do you become a seasoned expert if there are no lower-level tasks to be done that allow you can learn the ropes? Will your field still be un-automated by the time you get to be a seasoned expert with a couple of decades of experience behind you?
  3. The work to be done may shift and new jobs may be invented, but who is going to do that work? Will it be automated from the get-go?

I think there are genuine reasons to be concerned. Personally, I do not understand how we blindly accept ‘economic growth’ through capitalism as a singular goal that is commonly agreed on as being an aim for a company, a society, a country or humanity. Expanding populations and finite resources surely mean that there are limits to continual ‘growth’. I know that many people much smarter than me must have examined this question and that people can point me towards countless texts where this is considered. What I do understand is that even through something as gigantic as the recent financial crisis we did not come up with anything better than what we have today—even though many great minds were questioning it and reasoning as to where we should go from here—and that while our current configuration is still in place, it is not an option for an organisation to avoid seeking growth in the form of increased revenues and lower costs through technological innovation, automation etc. If you are participating in capitalism and not striving to be the best that you can be then someone else will take your customers and you will be out of business. The pace at which this is happening is accelerating. 50 years ago, the average life expectancy of a Fortune 500 company was 75 years; as of 2014 it was less than 15 years.

I don’t have any conclusions right now. I know that as an individual with a family to look after, a mortgage to pay etc. I am very much an active participant in this process. But as per Bill Joy’s article that I read all those years ago:

“My continuing professional work is on improving the reliability of software. Software is a tool, and as a toolbuilder I must struggle with the uses to which the tools I make are put. I have always believed that making software more reliable, given its many uses, will make the world a safer and better place; if I were to come to believe the opposite, then I would be morally obligated to stop this work. I can now imagine such a day may come.

This all leaves me not angry but at least a bit melancholic. Henceforth, for me, progress will be somewhat bittersweet.”