sunny wijeratne

i'm usually more charismatic than this

Productivity with the Getting Things Done method

I am always looking for ways to maximize productivity and get more done in less time. One popular framework that claims to be able to help you achieve this is the Getting Things Done (GTD) method, which has been used by millions of people worldwide. I have been trialling using this in anger and in this blog post, I will explore how to implement the GTD method using two popular productivity apps, Microsoft To Do and Todoist, and compare their features and functionality.

What is the Getting Things Done Method?

The Getting Things Done method is a productivity system that was created by David Allen in the early 2000s. It is designed to help individuals and teams stay organised, prioritise tasks, and complete projects in a timely and efficient manner. The GTD method is based on the premise that the human brain is an incredibly powerful analytical and creative engine, but ineffective at holding many competing thoughts simultaneously. Therefore, the theory is if you can get all of your ideas, tasks, and projects out of your head and into a trusted system, you will be able to free up mental space and energy and focus on what’s most important.

At a high level, there are five steps to Getting Things Done:

  • Capture: anything that crosses your mind. Write it down and free up your mental energy.
  • Clarify: process what you’ve captured into actionable tasks, determine the next iterative step to progress each item. Use action-oriented language.
  • Organise: prioiritise, sort, file away or schedule.
  • Review: regularly review, update and iterate.
  • Engage: get it done!

Getting Things Done with Microsoft To Do

Microsoft To Do is a popular productivity app that is available for free on Windows, Android, iOS, and the web. It is designed to help you organize your tasks, create lists, and set reminders. Here’s how you can use Microsoft To Do to implement the GTD method:

  • Capture: start by creating a list of all the tasks, ideas, and projects that are on your mind. Use the “Add a task” feature in Microsoft To Do to quickly capture everything that comes to mind.
  • Clarify: Once you have captured everything, go through your list and clarify each task.
  • Organise: Use the “My Day” feature in Microsoft To Do to organize your tasks for the day. You can also create different lists for different projects or contexts.
  • Review: Regularly review your tasks to ensure that everything is up to date and that you are making progress on your projects.

Getting Things Done with Todoist

Todoist is another popular productivity app that is available for free on Windows, Android, iOS, and the web. It is designed to help you manage your tasks, set reminders, and collaborate with others. Here’s how you can use Todoist to implement the GTD method:

  • Capture: start by creating a project in Todoist called “Inbox.” Use this project to capture all of the tasks, ideas, and projects that are on your mind.
  • Clarify: once you have captured everything, go through your inbox and clarify each task.
  • Organise: use labels and filters in Todoist to organise your tasks by project, context, priority, or any other criteria that makes sense to you.
  • Review: regularly review your tasks to ensure that everything is up to date and that you are making progress on your projects.


User Interface

Microsoft To Do has a clean and modern user interface that is easy to use and navigate. The app features a navigation panel that allows users to quickly access their lists, while the main window displays the task details and due dates. Todoist, on the other hand, has a more traditional interface that allows users to customise the app to their liking. It features a top navigation panel that displays the user’s projects and filters, while the main window displays the task details and due dates.

Task Management

Both Microsoft To Do and Todoist offer robust task management features, such as task creation, list organisation, and reminder setting. Microsoft To Do allows users to create lists, add due dates, and set reminders for each task. Users can also use the “My Day” feature to organize their tasks for the day. Todoist, on the other hand, allows users to create projects and sub-projects, add due dates, set reminders, and add notes to each task. Users can also use labels and filters to organize their tasks by context, priority, or any other criteria.


Todoist has more robust collaboration features than Microsoft To Do. For example, Todoist allows users to assign tasks to others and add comments to tasks. This makes it easier for teams to collaborate and track the progress of their projects. Microsoft To Do, on the other hand, is focused on personal prodiuctivity and does not offer any collaboration features.


Microsoft To Do is tightly integrated with other Microsoft Office apps, such as Outlook and OneNote. This makes it easier for users to manage their tasks and projects across multiple apps. Todoist, on the other hand, offers integrations with a variety of third-party apps, such as Google Calendar and Slack.


Both Microsoft To Do and Todoist offer free versions of their apps, as well as premium versions with additional features. Microsoft To Do is included with Microsoft 365 subscriptions, while Todoist offers a premium version starting at $6 per month for individuals and $9 per user, per month for businesses.

In conclusion, both Microsoft To Do and Todoist are great options for implementing the GTD method. Microsoft To Do has a clean interface, while Todoist is highly customisable. Todoist is great for collaboration, while Microsoft To Do is tightly integrated with other Microsoft Office apps. Ultimately, the choice between the two apps comes down to whether collaboration is important and whether you need integrations into Microsoft 365 or into other third party apps.

Reflections on “The Method”

As with any productivity or time management system, the Getting Things Done (GTD) method also has some limitations. These limitations include:


The GTD method can be complex and require a significant investment of time and effort to set up and maintain. The process of collecting, processing, organising, and reviewing tasks and projects can be overwhelming for some people, especially those who are not accustomed to using such structured systems.

Learning curve

GTD has a learning curve, and it may take time to fully understand and implement all of its principles and practices effectively. This can be a challenge for individuals who are looking for a quick and simple solution to their productivity needs.

Reliance on technology

GTD relies heavily on technology (I imagine this is why you’re here!), such as task management apps, calendars, and other digital tools, to capture, organise, and manage tasks and projects. This may not be suitable for everyone, especially those who prefer paper-based systems or who do not want to trial multiple technology solutions in search of the most suitable option.

Lack of prioritisation

GTD does not explicitly emphasize prioritisation or help you determine which tasks are most important or urgent. While it provides a framework for organising tasks based on context, it may not provide enough guidance on prioritising tasks effectively, which could result in a lack of focus on high-impact tasks.

Overemphasis on external inputs

GTD places a strong emphasis on capturing and processing all incoming tasks and inputs, which can lead to a focus on managing external inputs rather than prioritising and executing on strategic or long-term goals. This can result in a reactive approach to work, rather than a proactive one.

Information overload

GTD encourages capturing and collecting all tasks, ideas, and inputs, which can result in an overwhelming volume of information to process and manage. Without effective filters or strategies for handling this information overload, it can be challenging to stay organised and focused.

Lack of flexibility

GTD is a structured system with specific steps and processes, which may not suit everyone’s working style or preferences. Some individuals may find it too rigid and may prefer a more flexible approach to task and time management.

Time-consuming reviews

GTD recommends regular reviews of all tasks and projects, which can be time-consuming and may require significant effort to maintain. I feel there is a risk of falling into a constant review/optimisation trap.

It’s important to note that while GTD has its limitations, it can be a highly effective productivity method. It may not be suitable for everyone, and it’s essential to consider your own working style, preferences, and needs when evaluating a productivity system.

Communicating Organisational Change

Change is scary. Uncertainty drives anxiety. Feeling like you’re losing control is disorienting. These stresses can fester as quiet resentment or boil over into outright hostility. When you are driving the change, the importance of effectively communicating the change cannot be understated. The size and complexity of the task can also trigger unconstructive behaviours in the change/communication agents in an organisation, so it pays to be prepared and methodical in your approach.

Approaches to Change Management

There are many established change management frameworks, such as the ADKAR Model and the Kübler-Ross Change Curve. An effective communications strategy will consider the people affected, the nature of the change, the impact and the behaviours desired from those impacted. Positive framing can help you send the right message - but if you want to appear genuine, you need to be open, honest, and respond to your peoples’ concerns.

Understanding common reasons for push back or resistance to change can help organisations be proactive in addressing these issues.

Communication Strategy

When devising our Communication Strategy, we’ll start by answering the “Four W’s + H”:

  • Who?
  • Why?
  • When?
  • What?
  • How?


Who are we sending the message to?

Who is impacted? Who needs to hear about this change?

Consider each impacted team or group of people separately.

Who should the message be coming from?

Consider each stage of the communication effort. Whose voice it should it be delivered in? Communications from a CEO/Exec/Senior Manager can have a sense of importance and urgency. While these types of communications can go out across an organisation quickly, they can be impersonal.

Prosci advises although the person driving the change is the best person to communicate the business drivers for the change (why do we need to change?), direct supervisors are the preferred messengers for the personal impact of change (what does this mean for me?). This is due to the trust and personal connection people typically develop with their immediate leaders.


Significant change cannot be managed or communicated in one email, teleconference or Yammer post. A communication campaign must consist of multiple coordinated communication efforts and touch points. For each of these interactions interaction we will seek to do one or more of the following:

  • Inform
  • Get buy-in
  • Get input
  • Drive a behaviour change

Depending on the objective, we must vary the communication format and messenger accordingly.


The timing of your communication is important. Sending an email at 4:30 pm on a Friday afternoon will improve the likelihood it will be missed by most people, and imply you wanted it to be missed. People will smell your disingenuousness and you will instantly lose some of the trust you might have established.

Similarly, delaying communication until every single detail has been ironed out can cause unnecessary stress and anxiety for people. It’s important to balance communicating early and often with having all relevant the information, and be transparent about this.


The content of your messaging matters. When it comes to organisational change, people want to know:

  • What is changing?
  • Why is it changing?
  • How does this effect me personally?
  • How will I be supported through this change?

People will want to know exactly how they will be affected – essentially, how their work day and working life will change.

It’s important to be genuine in your messaging, particularly where there are unknowns. Things people will easily see through include:

  • Glossing over unknown aspects of the change
  • Excessive reframing of potential negative impacts
  • Hiding behind buzzwords


There are many communication channels available to us, each with their own pros and cons. Consider the communication hierarchy, from most personal to least personal:

  • Face to face
  • Video conference
  • Voice/teleconference
  • Recorded video or audio
  • Written/email

The same hierarchy is inverted when you consider the size of the audience you can effectively reach. That is, the higher the fidelity, the smaller the audience and the lower the fidelity, the wider you can be with your communications.

Our Communication Strategy In Action

Let’s apply the 4W + H prompts to a communication campaign.

Consider an office relocation: one of your satellite offices is being absorbed into the main office of its city. You start your change campaign an initial “change is coming” announcement.


Consider the people impacted by the office move:

  • Staff in the satellite office;
  • Staff based in the main office. Why? They will also be impacted as more people are now working from this location;
  • Staff in nearby offices, or even all staff nationally. Chances are, people in other cities or offices will also be impacted. The direct impacts may apply to staff in the impacted town, but those staff likely work with others in the region or across the company. The changes and possible disruptions will have flow on effects to these folks as well; and
  • Clients, customers, suppliers. Anyone who would visit your physical office.

All of these stakeholder groups need to be included in the initial round of messaging.

The messenger will depend on whether you communicate to each group individually, or go broad. Chances are you will at least split the internal and external stakeholder communications. In this case it is appropriate for a CEO or MD, as the public and internal face of the company, to be the voice of the initial communication. Alternatively, your Media/PR spokesperson can handle the external communications.


The purpose of this initial communication is to inform. We want to let all staff know as part of the next 3 year planning cycle, the two offices in this town will be consolidated. More details will be communicated as time goes on, to the relevant people.

Given we are informing, a one-way communication medium strikes the best balance of reach, personalisation and efficiency of communication.


We want to give our people as much notice as possible. You certainly wouldn’t announce the office relocation the week before the movers arrive. We want to announce we have commenced planning an office move, and will be actively consulting our people throughout the process, as well as providing regular updates. The worst thing you can do is announce an office move has been planned over the last three months and has now been scheduled.

If you want people to become anxious and resentful, do the latter. People will wonder why it took you six months to notify them. In that time, they could have made a number of decisions which would have been impacted by knowing their office was moving. They could have spent that time coming to terms with the move, and making changes to reduce the impact of the move. Instead, they feel like the rug has been suddenly pulled out from under them, and valuable information has been withheld.


What information do we need to convey in this initial messaging?

What is changing?

We need to clearly detail which office is moving, where it is moving to, and planned timeframe for the move.

Why is it changing?

Are we moving because of financial drivers, reduced requirements for community presence, lower quality of facilities? Whatever the reason, it’s critical you are honest and genuine. People can smell spin and dishonest reframing a mile away.

If you say:

We are moving to a new office to streamline operations and promote synergy. You will love it!

People are less likely to respond positively than if you say:

We are moving offices. For a long time, staff working at site A have told us they have inferior facilities. We want to provide the best experience for all our staff. This is also a financial decision. We can provide a better working experience for all our team, at a reduced cost, by moving everyone to site B.”

The latter message comes across much more genuine. You are more likely to get buy-in with open and honest messaging.

How does this affect me personally?

For those moving, outline the next steps.

For those in already in the consolidated location, let them know how preparation for the move, and the move itself, will impact their workplace.

How will I be supported through this change?

You don’t have to give people all the details up front, it’s sufficient to let people know the office relocation will be performed by professional movers. Staff won’t have to relocate their computers or personal belongings themselves. There might also be an increased IT presence on site for the first week to assist with any teething issues. IT have most likely already planned this activity, but letting people know will help alleviate anxiety about the move.


This initial messaging can be a one way conversation. We are also going wide with this communication. Towards the lower fidelity/wider audience end of the scale we have recorded video and email/written communication.

Consider emails to each stakeholder group as the primary mechanism for the initial, “change is coming” messaging. Additionally, messages via social channels may also be appropriate, depending on the impact to customers.


Change is scary. How we communicate change has a significant impact on the way our people experience change. If we apply the 4W + H method, consider the audience and the messenger, we can be confident we have made a sincere effort to foreshadow the upcoming change.

A Valuable Lesson in Values-Driven Conversations

One the best parts of my job is discussing my clients’ goals and how we can help achieve them. Having a technical background, I find it easy to discuss the technical aspects of a solution. When talking to other technical people, alignment with their values is easy.

Generally, there is a full spectrum of stakeholders to consider. Many of these people are less interested in the technology behind your solution. They care about what it can do for them and their business. In order for your message to resonate with these stakeholders, it has to align with their values.

Define the problem

A solution without a problem is an idea. Ideas are great, but they often fail to create the impetus for action.

Here’s an example of an idea:

ME: Have you considered stocking your office kitchens with ceramic cups and mugs. Everyone says they’re better than paper cups!

CUSTOMER: Sure, I’ll think about it.

To a busy customer this might sound like a good idea, but they have more pressing matters to focus on. I know the many benefits to this course of action, and how it addresses some obvious (to me) issues. If I assume the customer already knows what I know and don’t give them this context, we’re not going to get anywhere.

Consider an alternative:

ME: I noticed you stock your office kitchens with paper cups. That must involve a significant ongoing expense. It’s also not very environmentally friendly. Have you considered the potential cost savings of reusable ceramic cups and mugs?

CUSTOMER: is slightly more interested, but hardly blown away

In this second example, I’m presenting a problem: ongoing cost to the business, then, I’m presenting a solution that will address it.

This is a good start, but the customer is unlikely to buy-in without a clear benefit. To demonstrate the benefit, we have to also articulate the specific value of the solution. That is, we have to explain how the outcome will justify and potential risks, cost and effort involved. To convey this in a way which resonates with our client, we need to ensure we are speaking their language.

Articulate the solution (and be FABulous)

So far we have framed the problem and articulated a potential solution. Next, we need to ensure the solution aligns to the client’s motivations. In the example above, I can dive into the advantages ceramic cups over paper cups:

  • increased durability of ceramic cups
  • superior heat retention
  • low rate of manufacturing errors

This is a habit I have fallen into when discussing the merits of products and technology solutions. It’s so easy to align the solution to my own values, which are technical in nature. Meanwhile, I’ve ignored a raft of business benefits and insights which would have resonated with my customer. So, how can we avoid this trap?

Be FABulous!

What does being FABulous involve? It involves making FAB statements. FAB stands for:

  • Feature
  • Advantage
  • Benefit

Using these prompts I can consider the solution from the client’s perspective. Once I’ve considered the Features, Advantages and Benefits, I can be confident I am presenting a solution which addresses a genuine need on the part of my customer.

Let’s break down an argument for ceramic cups with a FAB statement:

  • Feature: the cup has a handle
  • Advantage: you don’t need to grip a paper cup full of hot tea or coffee directly
  • Benefit: your employees hands are protected from burns

Customer motivations

Once we have determined the most relevant information to present, we need to consider how the client will evaluate the solution. To understand some potential motivations, we can look at three key value drivers for purchasing decisions:

  • Revenue
  • Cost
  • Risk

To build a compelling case for our solution, we need to define the problem in the context of one or more of these drivers. Your solution should then address the specific issues raised in those areas.


Commercial operations need to generate revenue to cover costs and provide value to their shareholders, owners or investors. Thus, maintaining or increasing revenue is a strong driver. If your proposal has the potential to increase revenue, try to quantify this for the customer.


Reducing costs can also translate to increased profits or operational capital. Often, teams or departments will have fixed revenues within their businesses. In these cases, cost is particularly important. If your solution will enable the customer’s business to “do more with less” - share these potential impacts.


Managing risk associated with doing business can be the strongest driver in decision making. Risk can take many forms, such as:

  • the risk of injury to staff, customers or the public
  • the risk of non-compliance in a legal or regulatory framework
  • the risk of reputational damage
  • the risk of losing market share

The conversation

So, what does a values based conversation look like? If we bring it all together, it might look a little something like this:

ME: I noticed you’re stocking your office kitchens with paper cups. Would you like to reduce the ongoing cost associated with replacing them, and the risk of workplace injury associated with paper cups?

CUSTOMER: Workplace injuries?

ME: Yes, ceramic cups and mugs with handles mean your staff aren’t gripping a paper cup full of boiling water. This reduces the risk of burn injuries. According to Safe Work Australia, the average cost of a workplace injury to the employer is $4,350 per incident. The costs to the employee and community are even greater.

Now we have:

  • defined a problem
  • presented a solution
  • framed the solution in terms of its value (Features, Advantages, Benefits) to the customer
  • aligned the solution to value drivers of Cost and Risk

By doing all of the above, we’ve described the value of our solution in terms of the broader business outcomes it will enable.

SharePoint 2019

Bill Baer recently announced the release of the SharePoint 2019 Public Preview.

The focus appears to be mostly about bringing the Modern Experience from SharePoint Online to SharePoint Server. This means things like Team Sites, Communication Sites, Modern Pages and Modern Lists that you’ve grown to love (or hate!) in SharePoint Online are now available to on-premises clients.

The GA release is expected in the second half of 2018.

What’s in?

  • Modern User Experience
  • “Minrole v2” Architecture, which I can’t find any more information about - I imagine this is an incremental improvement (think iPhone 8s)
  • File size upload limit increased to 15GB (but why would you??)

What’s out?

  • PowerPivot Gallery (removed)
  • A small part of the Lists SOAP service (deprecated only, the SOAP services are still shipping with the product)
  • SharePoint Designer (deprecated but continued support for SharePoint Designer 2013 until 2026)
  • InfoPath (deprecated only, still supported)

These are just some things that jumped out at me, not an exhaustive list.


InfoPath, while deprecated, still lives. I can’t say I’m particularly pleased about that. While Microsoft hasn’t provided a suitable replacement, I don’t believe that’s justification enough for InfoPath to still be the default (or even in the mix) for forms development. Even if it still has a place, the use case has narrowed considerably. Realistically, its use should be limited to building very basic forms where the value in being able to deliver them very quickly outweighs the limitations, restrictions and general obsolescence.

For example, I visited a client recently who wanted some help rescuing a project. A contractor had convinced them InfoPath was the right move for a non-trivial data capture solution (in 2018!). Unfortunately, they have run into some well-known and predictable issues. No one should have to live like that in 2018.

Instead of turning this into an InfoPath beat up, I’m going to wrap it up here. I’m excited that the Modern Experience is coming to SharePoint Server, so my on-premises clients can now access some of the latest and greatest from SharePoint Online.

What to do when GetDefaultSiteCollectionTermStore fails

The Problem

I was in the kitchen whipping up a fresh batch of SharePoint 2016 development environments recently. Using Export-PnPTermGroupToXml, I generated some exports from a tasty Taxonomy I had in another environment. Once my deployment scripts had run, I tried to import the Term Sets using Import-PnPTermGroupFromXml only to have SharePoint Server serve me up a steaming pile of nope nuggets:

Apparently PnP was unable to establish a TaxonomySession. As I chewed on this error message for a minute, it started to taste familiar. Depending on how you’re interacting with the Managed Metadata Service, you’ll get various permutations of errors about GetTaxonomySession returning null or default Term Stores not being found if the Managed Metadata Service is not configured correctly.

I navigated over to the Managed Metadata Service Proxy’s configuration and found that the Service Application Proxy was a little undercooked:

The Solution

This service application is the default storage location for Keywords and This service application is the default storage location for column specific term sets are both key ingredients unless you have multiple Managed Metadata Service Applications. Tick those boxes and you’re good to go.

The Recipe for Success

The above will work in a bind, but I was only in this predicament because my new build script was missing key ingredients. To make sure your Service Applications are al dente every time, you should configure them programatically as part of your deployment.

You can bake this into your build scripts by making a call to Set-SPMetadataServiceApplicationProxy with a pinch of -DefaultKeywordTaxonomy and -DefaultProxyGroup. Here’s one I prepared earlier:

Set-SPMetadataServiceApplicationProxy -Identity "Managed Metadata Service Application Proxy" -DefaultProxyGroup -DefaultKeywordTaxonomy

Bon appétit!

SharePoint Farm Passphrases and Configuration Cache

While adding a server to a client’s farm we discovered that they had lost track of their farm passphrase.

What now?

No biggie, Set-SPPassPhrase to the rescue, right?

I threw down one of these and expected I’d be good to go:

$passphrase = ConvertTo-SecureString -string "y0L0$wag" -asPlainText -Force
Set-SPPassPhrase -PassPhrase $passphrase

When it came time to add the new server to the farm, I got one of these for my trouble:

Failed to connect to the configuration database.

An exception of type System.ArgumentException was thrown. Additional exception information: Error during decryption. Ensure the passphrase is correct.

I knew the passphrase was correct, you don’t forget a passphrase like y0L0$wag (like y0L0$wag, not actually y0L0$wag but equally memorable).

The culprit: cache.

Clear your configuration cache

I adapted this Clear-SPConfigCache script to flush the configuration cache on all core SharePoint Servers. You don’t need to worry about SQL, SharePoint Add-In hosts or Office Online Servers. Once complete, I was back on my merry way, adding servers left, right and centre.

SharePoint Server Hardening and SPWebConfigModification

Some notes on SharePoint Server hardening. I’ve been applying these to SharePoint Server 2016 but these are IIS-level fixes so all of this should be applicable to SharePoint 2013 (and probably 2010 as well).

HTTP-only cookies with secure flags

Whether you like it or not, SharePoint bakes a lot of cookies and doesn’t secure them by default, leaving them potentially vulnerable to XSS attacks. Lock down the old cookie jar by ensuring your web.config sets the following flags:

<httpCookies httpOnlyCookies="true" requireSSL="true" />  

Cache management

You may want to go with no-cache, no-store or both. Keep in mind no-cache != don't cache and choose accordingly. Consider performance impacts.

<add name="Cache-Control" value="no-store" />


As a general rule don’t want to be hacking away at your web.config files manually. Particularly if you’re working with a multi-server farm, or virtually any production scenario. That’s where the SPWebConfigModification class comes in. Changes applied to the a web application’s WebConfigModifications are:

  • applied to all servers that host that web application
  • automatically applied to any new web front-end servers added to your farm
  • automatically applied when you extend the SPWebApplication to a server that wasn’t previously hosting that SPWebApplication
  • tracked and managed centrally

Here’s an example adapted from Sam Betts’ blog post on custom response headers that will set the httpOnlyCookies and requireSSL flags discussed above.


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$WebApp = Get-SPWebApplication $TargetWebApp

$configPath = "configuration/system.web"

$configModAccessControl = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configModAccessControl.Path = $configPath
$configModAccessControl.Name = "httpCookies[@httpOnlyCookies='true'][@requireSSL='true']"
$configModAccessControl.Value = "<httpCookies httpOnlyCookies='true' requireSSL='true' />"
$configModAccessControl.Sequence = 0
$configModAccessControl.Owner = ""
$configModAccessControl.Type = 0

if (($WebApp.WebConfigModifications | where-object { $_.Name -eq $configModAccessControl.Name } | measure).Count -eq 0) {
    Write-Host "Adding " $configModAccessControl.Name -ForegroundColor Green

else {
    Write-Host $configModAccessControl.Name already exists. skipping. -ForegroundColor Blue    

To review an SPWebApplication’s web config changes, simply call:

$WebApp = Get-SPWebApplication https://mywebapp