Why and how to do Software Capitalisation?
Most CTOs are focused on people, processes and products (especially in the context of a SaaS), but very few of us are actually focused on financial performance from a technical perspective. In this article I'd like to share my knowledge to you, my fellow CTOs on how to implement software capitalisation is a very simplistic and efficient way if you are using Jira as your ticketing tool.
What is software capitalisation?
Is the process of registering internally developed software as fixed assets.
Why do software capitalisation?
By capitalising the software as an asset, a company can delay full recognition of the expense on the balance sheet. Meaning the company will be more profitable for investors, banks, etc
Are all engineering team tickets and meetings capitalisable?
Quick answer: no, but, there is a lot that you can capitalise. As a general rule, activities within a Sprint are capitalisable, pre and post Sprint activities are not. Please scroll down to the bottom of the articles, where I am giving a more complete list.
Very important:
- Bug fixing and documentation within the sprint (prior to handover to operations) are capitalisable. If a feature goes live, you cannot capitalise on it anymore
- Incidents and problems (aka bugs) are expensed (sorry, I don't make the rules)
- New Features and Improvements are capitalisable
Can you give more examples of benefits from software capitalisation?
By implementing capitalisation @ L1NDA, we have actually shot 5 birds in 1 go :
- Capitalisation
- Time tracking
- Agile success management (done by the PO who has full read rights)
- WBSO reporting (Dutch research and development funding scheme)
- Enable engineers to be aware of the value they are bringing to the company. This is an important one for me especially when discussing evaluation, salary increases, etc
Sounds good, how can I do it for my company?
I have done this for our Jira tickets, but the principles will very likely stay the same for other ticketing tools
- I have installed various Jira Apps, but the clear winner has been Tempo (not the cheapest option, but definitely the best ROI based on my tests) https://marketplace.atlassian.com/apps/6572/tempo-timesheets-time-tracking-report?hosting=cloud&tab=overview
Make sure you define your team and you add all developers to the team. You can also edit their rights an allow them to change/edit the time they have booked or restict who can visualise the time bookings. I have add/edit own permissions to everyone in the team and I have add/edit/view all permissions for the PO and CTO.
- Together with our Product owner we have added labels "CAP" or "EXP" to the JIRA tickets being assigned to any engineering team member (Please see list of categories below). I have also asked developers to not work on tickets without these 2 labels.
- I have created two tickets for booking meetings and other activities
- Capitalised meetings ticket: Cycle planning, daily standup, Agile retrospective
- Expensed meetings ticket: Ticket Estimates, Dev-leads meeting, 1:1 / Touchbase meetings, Coffee dates, Sync meetings, Company updates meetings, Kick off , Checkpoint, Product demo, onboarding meetings
When you book a meeting you need to add to the description the purpose of the meeting
A developer can book times directly in the ticket they are working on or they can enable their calendars and directly book a meeting.
Can I book periodical meetings?
Yes, Tempo gives two options: log and plan
And the planning form looks like this
You will need to confirm the pre bookings, but it is definitely faster than logging every day.
How do I create the Tempo reports?
- First you need to create 2 filters. One on the "CAP" label and one on the "EXP" label
- Generate a new report in Tempo and choose the previously created filter as a filter. I personally like to view either by User or by Epic -> User
Aren't you forgetting something?
Probably not, but you might be forgetting to send the monthly overview to your CFO. Once you have everything in place you can export your report and send it to him/her. These counts of hours will be linked with the hourly rate of each team member and the actual value will be calculated.
Practically how much can you actually capitalise? Is it worth these efforts?
Realistically, if you implement Agile Scrum you should have an average software capitalisation of your engineering efforts between 50% and 75%. I personally think it is worth all the efforts, especially for start-ups and scale-ups.
Some of the determining/success factors:
- quality of functional specifications (the better the quality, the less time developers spend on asking questions)
- development efficiency: coding standards, documentation and clear architecture/design standards, automation of peer reviewing
- automation of non development tasks, like for example CI/CD
- quality assurance to a high level: the more you flag during the sprint, the more you can capitalise
- automation of testing: the more tests you have automated, the more you will prevent bugs and that means your developers will have time to develop new features.
List of capitalisable activities:
Preparing User training (the actual training is not!), UX/UI Design, Coding/development, Bug fixing through improvement, Technical architecture and design, Release Testing, Automation of testing, Stress testing, Provisioning new environment, Sprint planning, Retrospective, Implementation documentation/diagrams done as part of the sprint, Deployment plan, Performance improvements, Daily standup
List of non capitalisable activities:
Stakeholder management, Requirements gathering/refinement, backlog grooming, Business analysis, Write business case, Research (technical or non technical), Brainstorming, TCO, Refactoring, Bug reproducing, Kick off meeting, Work estimation, Performing User training (the preparation is capitalisable, see above), Knowledge sharing, Post go live Documentation (technical or non technical), Update known errors/issues repositories, Incidents diagnosis and solving, Problems solving, Migration, Data analysis/conversion (ETL), Sprint Release, Performance monitoring, Technical monitoring, Any technical support activity, Archiving, Cloud hosting costs
Foot note
Every country has different accounting rules. Please double check with your CFO and accountants on what is capitalisable or not.
Extra resources:
I hope I've persuaded you to implement this for your department. You might have to export your time tracking from your existing widget/app but it is well worth the efforts. If you have questions please feel free to reach out to me.
Director, Resiliency Analytics, Technology Resilience and Reliability at Scotiabank
4yLong time no hear. Fun to see your post. Hope all is well.