My very first job out of university was in a big company with locations all over the world. Whilst there are benefits to working with a team that operated within an international framework, one of the downsides was the manic software ecosystem they had grown in. I remember I had filled out the back page in my notebook with a “software (or program)” glossary. Each time I would hear of a new program’s name, I would note it down and write its core functionality. This list grew substantially in the first few weeks.
The size of the list wasn’t my biggest annoyance; it was the trends appearing in the functionality I was noting down. For instance, I noted there was a separate program for each of these: payroll, expenses and invoices. Yes, these systems work independently from each other, but at the core of their functionality, they dealt with the finance and accounting aspects of the business.
With this being said, it was a few years ago when I was working there, and SaaS (Software as a Service) integrations were still making people sceptical, so I can safely say that company has now changed many of their operational workflows to take full advantage of understanding their ecosystem.
So, what is this ecosystem?
When we think of an ecosystem, typically we think about how it applies to nature and how each element of that natural space works together towards improving its health and longevity. Essentially, everything in existence serves a purpose. Disruption to that purposeful environment, such as competing plants, or even if something is removed entirely, can have flow-on effects far greater than the original disruption.
When thinking about natural environments and potential disruptions, let’s look at the behaviour of weeds. Just hearing their name makes any green thumb grimace. So, what elicits this reaction?
Is it the fact that pulling them out is almost a lost cause because they always come back? Or is it because they are slowly crawling over the beautiful plants in your garden and suffocating them from blooming growth? Or maybe it’s the fact that they can only sometimes be removed with harsher, chemical methods, that could harm the other plants? In all honestly, it’s most likely a combination of all three.
Paralleling the incessant nature of weeds with software and how it can disrupt a healthy ecosystem, let's look back to my first job reflection at the beginning of this article.
Yes, weeds annoy me as did the number of systems we used. Although the root of my frustration (no pun intended!) was derived from the number of systems we used that were all so similar. Yet, this didn’t seem to surprise anyone, or they didn’t think too much of it, because it was just the normal operating procedure of the business. In gardening, when one weed appears, it opens up the environment for more to creep through and continue handicapping the growth of the garden.
In my role, I get to hear various company’s goals for the future of their business. A common theme in these goals is growth. A parallel we can draw between professional settings and our garden is the idea that weedy disruptions to environments have an inverse effect on growth.
If we look at growth in a business as efficiently maximising the profit margin (amongst other things), we need to consider costs that decrease that margin. Whether it's bespoke or off-the-shelf - software costs money. Operational programs, such as Asana, HubSpot and Xero, are widely used by many businesses for day-to-day proceedings. They are necessary programs. Where the issues arise is when a business uses Xero for payroll, but MYOB for invoicing. Or HubSpot for their CRM but MailChimp for their EDMs. What is happening here is the double up in functionality across these programs which is costly to sustain, timely to maintain and can be a nightmare when it comes to training and knowledge transfer; these pain points are our weeds! If you're interested in estimating the cost of custom software you can find information on that here.
A Few Weeding Techniques
1. Program Overall Cost
- Catalogue the programs your business pays for. A great place to start is your bank statements. Keeping in mind payments for programs can be carried out through different avenues and may be in various sizes (e.g. monthly vs yearly subscriptions/contracts).
- List them out on a spreadsheet with the software pricing in the next column.
2. Subscription Level
- Most SaaS products have different offerings for different subscription levels.
- Next to the cost column, note the subscription level on the same spreadsheet.
3. User Count and Cost
- Typically, each subscription model has a certain user count payment fee, note what the cost is per user/group per month/year (top tip: also note if the program can have certain users at one level and others at another – this could be very helpful later).
4. Organisational Users
- For each program, note down who has accounts, what level of permissions they hold and their last activity date (usually found in settings).
- Also, note (use indicative highlighting here too) whether or not that account holder is still a member of the company.
5. Program Audit
- Next, add in a features list as per the subscription you are paying for (i.e. if you are paying for the entry tier, there's no need to list out the enterprise-level offerings).
- This one will take some time, but the best advice here – use the program’s marketing website’s pricing page and add anything else in if you need to. (top tip! If you start to pick up double-ups of features in this column, highlight the duplicate features so that you have one colour per repeated feature – this will make the next couple of steps much easier).
- Also, note down if the program (at the subscription level you pay for) integrates with other platforms you pay for.
6. Operational Use
- Make an inference to how much this program is used by the business on a percentage scale: 0%: no use to 100%: can’t live without it. If you like conditional formatting, use a colour scale on this column to note where the biggest contributions to your business lie.
The Next Step: Assess!
1. Program Overall Cost
- Note which programs are costing you the most and consider how this ties in with the percentage of operational use? Are you paying the most amount of money for a program you only use 5% of the time?
2. Subscription Level and Program Audit
- Assess the features offered for the subscription you are paying for and ask yourself, “do we need all of this?”
- Also, evaluate where the colours lie in the program list, can whole program functionalities be covered in another program that rates higher on your Operational Use scale?
3. User Count and Cost and Operational Users
- How many people are actively still using the system? If the date of use is outside a month (take the average of the current users), it would be safe to say that this program isn’t used as widely as previously thought (and check your operational usage percentage again).
Integrations - they've made a world of difference in delineating the complexity of ecosystems in recent years. The advice here is to note what kind of integration it is. For example, a visual integration means that there might be a panel on each program that shows the status of the linked item between the two. Whereas a data integration could work so that when a piece of data is updated in one program, it is configured to also update in another program. I would recommend understanding which integrations work best for the programs you have, and the operations you are using them for.
Once this assessment has been completed you will have a pretty good idea of the level of complexity in your software ecosystem and can start to make decisions about the necessity of each program. This task may take a while to complete, so I would recommend giving yourself a couple of weeks, if not a full month.
After the assessment and actions have taken place, save your spreadsheet! It will be a great live document to add to if more programs are added to your business's software ecosystem in the future.
If multitudes of individual software solutions are getting you down you can always consider investing in a custom software solution.