How much does it cost to run a one man limited company?

One of the things I wondered before starting my own company was: how much does it cost to run a limited company? How does xxxx ‚ā¨ billed to my company relate to the amount I’m getting as an employee?

To be honest I didn’t make the calculations beforehand. I just went for it. ūüôā But now I know a bit more and I can share my knowledge to whomever out there wondering about starting their own business.

Assumptions and disclaimers

  • You run a limited company (osakeyhti√∂), owned 100% by you. Taxation for sole proprietors is different.
  • Your company is in Finland ūüáęūüáģ
  • You don’t have any employees
  • I’m basing this on my experiences as an IT consultant, I’m assuming you don’t have to invest into heavy machinery or such
  • These calculations may be wrong and probably I’m missing something as I’ve run my company only a few months (please let me know if I’m missing something :))

Direct expenses

  • YEL-insurance ~200‚ā¨ / month (after first 4 years this will be 250‚ā¨)
    • Here we have chosen a relative small annual income for your YEL-insurance (12600 ‚ā¨ / year).
    • This affects not only the pension you’ll some day get, but also the level of basic income in longer sick and parental leaves.
    • (For reference, YEL-insurance for 60000‚ā¨/year income is roughly 1000‚ā¨ / month)
  • Insurances ~30‚ā¨ / month. This is where you will have variance, depends totally what kind of insurances you want to have. I have health insurance and liability insurance.
  • Book-keeping ~65‚ā¨ / month. You can get it cheaper if you wanna do it yourself, but I’ve chosen to hire an accountant and have them also calculate my salaries.
  • Social security payment is roughly 1% of the salary you choose to pay yourself. So with 5000‚ā¨ monthly salary this will be 50‚ā¨ / month.
  • Bank stuff, business debit card and web service interface for accountant ~20‚ā¨ / month.
  • Yearly financial statement done by accountant 250‚ā¨ / year
  • Invoicing software (Zervant) 70‚ā¨ / year
  • Total: ~400‚ā¨ / month.

Indirect expenses

  • Obviously you pay for your holidays, training, and whatever time you’re not billing your customer. Don’t think that you will be billing 37,5h weeks through the year. 80% is a better guess.
  • If you get sick, you get money from Kela only after 4 days. And if you only pay minimum YEL-insurance, you’re not really getting anything.
  • There are unemployment funds, but they’re a lot more expensive than they’re for employees. I’ve chosen not to be part of those and save up some buffer instead.

Indirect benefits

  • You get to buy all kinds of gadgets like computers and phones for your company. This benefits you in two ways: 1) if the gadget is used for creating income for your company (you can be creative here), you can deduct that in your company’s taxes; 2) you can deduct the value added tax (ALV)
  • You can rent yourself a working room from your home

How much salary to pay?

So, how much do you want to pay yourself? One thing to consider here is that even for those “tax free” diviends, you will be paying roughly 27% tax. (20% company tax from the profit and then the smallest diviend tax% is 7,5%). So, I’ve thought this so that I want to pay enough so that my personal tax% is close to that 27%, perhaps a bit less. If I pay too much salary, my personal tax% will rise higher, but on the other hand I don’t want to pay too little, because then my tax% would be “too small” and I don’t reap the benefits of tax progression.

But this area is complicated, and also depends really much on your case. Maybe you want to save more for the company? Maybe you’re investing the money you’re saving up for the company?

Conclusion

For me, the biggest benefits of running a limited company are the ability to control how much salary you pay yourself and the possibility to buy all kinds of stuff for the company. After that there is a lot of micro-optimization to do — I myself haven’t yet done much.

I’d love to hear experiences of feedback about this article! Next I’m planning to write about the bureaucracy of running a limited company.

Osakeyhtiön perustamisesta

Pystytin hiljattain yhden miehen osakeyhtiön, ja ajattelin lyhykäisyydessään käsitellä muutamaa sudenkuoppaa, joiden pohjalla itse käväisin. Tämä ei ole ns. how-to-postaus, koska erinomainen semmoinen löytyy esimerkiksi täältä.

(Disclaimer: T√§ss√§ postauksessa k√§sittelen asioita vain siten, miten ne minulla itse meni. En ota mit√§√§n vastuuta mist√§√§n. ūüôā )

Vinkki 1 РRiippumatta mitä teet, suosittelen kuivaharjoittelua sähköisessä palvelussa

Mene YTJ:n sähköiseen palveluun ja kliksuttele hakemusta läpi. Tee se vaikka samantien, vaikka et edes vielä olisi varma yrityksen perustamisesta. Sinun ei tarvitse lähettää hakemusta, mutta tätä kautta saat hyvän kuvan kaikesta siitä, mitä sinun pitää miettiä perustaessasi osakeyhtiötä.

Vinkki 2 РSähköisessä palvelussa ei voi vapaasti muuttaa yhtiöjärjestystä

Kliksuttele hakemusta läpi ja katso miltä yhtiöjärjestys näyttää. Jos se on sinulle ok, voinet luoda hakemuksen sähköisen palvelun kautta. Jos sähköisen palvelun luoma yhtiöjärjestys ei kelpaa, valitettavasti ei ole oikein muuta keinoa kuin luoda Oy perinteisellä paperisella keinolla. Tähän löytyy starttipaketti täältä.

Vinkki 3 –¬†Tilintarkastajan todistusta osakep√§√§oman maksamisesta ei tarvita

Edellä linkkaamassani ohjeessa mainitaan, että osakepääoman maksamisesta pitäisi olla tilintarkastajan todistus. Ainakaan minun osaltani näin ei ollut, vaan PRH:lle riitti kuitti pääoman maksamisesta kännykän ruudulla (virkailija pyysi lähettämään sen sähköpostitse itselleen). Näin lienee ainakin, kun perustamisilmoituksessa on mainittu että yhtiölle ei valita tilintarkastajaa.

Vinkki 4 –¬†√Ąl√§ laita tilikautta yhti√∂j√§rjestykseen

PRH:n mukaan nykyään ei enää tarvitse. Ja jos tilikauttaan haluaa muuttaa, on yhtiöjärjestyksen muuttaminen kalliimpaa kuin pelkän tilikauden muuttaminen.

Vinkki 5 – Jos haluat y-tunnuksen heti, se maksaa 7 euroa

No big deal. Mutta tästäkin otetaan nykyään rahaa.

Vinkki 6 –¬†Vaikka olisit yhden miehen Oy, hallituksen varaj√§sen vaaditaan

Sisko? Vaimo? Is√§? √Ąiti? T√§m√§ on ihan oikea vastuu, joten lienee kohteliasta kysy√§ hallituksen varaj√§senelt√§ etuk√§teen suostumustaan.

Vinkki 7 –¬†Tee itsesi kanssa ty√∂sopimus

Tuntuu hassulta, koska työllistät itsesi, mutta tämä on ilmeisesti hyvä olla jos kohdalle sattuu verottajan tarkastus. Haluat, että sinulla on peruste maksaa itsellesi palkkaa.

Vinkki 8 –¬†Soita rohkeasti verottajalle

Palvelevat ystävällisesti ja asiantuntevasti. Arvostukseni Suomen virkamieskuntaa kohtaan on noussut yrityksen perustamisen yhteydessä.

Vinkki 9 –¬†Harkitse prepaid-liittym√§n hankkimista tai j√§t√§ puhelinnumero ilmoittamatta

Harkitse erillisen prepaid-numeron ilmoittamista PRH:n tietoihin. PRH:sta tieto menee YTJ:hin, ja sieltä sitä ei saa pois ainakaan ennen kuin yritys on rekisteröity verottajalle. Puheluita tulee paljon. Osa niistä on huijausyrityksiä. Toinen vaihtoehto on jättää puhelinnumero antamatta, se ei ole pakollista.

What agile mindset means to me

Imagine a perfect project in an utopistic world. For you, personally,  would it be more like:

A: We can can prepare for everything beforehand. For project success we create the perfect plan and then execute the plan.

..or perhaps more like:

B: We don’t need to know anything beforehand. Our system can adapt to any changes and surprises that comes along the way. For project success we set the goal and then just start doing.

It goes without saying that these are extreme examples.  We cannot know everything beforehand, and we cannot ever build a system that can adapt to everything.  You need both type A and type B kind of thinking in real projects. But still, are your management efforts more towards type A, or type B? Which one are you pursuing more?

In my perfect world, projects are more like type B. And this is what “being agile” means to me.

From schoolbook Scrum to Kanban without estimates

This is a story about our team’s journey from schoolbook Scrum to Kanban development flow. Everything written here has actually happened. One could say that this is our #NoEstimates approach, but¬†I¬†tend to shy away from that term. I like to think this is more¬†like a story of continuous improvement that has been influenced by many discussions under the #NoEstimates hashtag. For those conversations I’m very grateful.

Background

  • This is an internal multi-year product development program. We are building a product that is installed to customer premises containing both hardware and software. The life cycle of the system will be decades.
  • Team funded for nn months. Unfortunately I don’t know how the team size and the length of the funding was decided. I haven’t seen any detailed work breakdown structures or bottom-up estimates, though.
  • Distributed development. Half of the team and the PO in another country, time difference 7 hours.

Kickoff week

We started the development with a co-located kickoff week.¬†One of the days was “process day”. Managers¬†left the room with message “you decide how you want to work”. This is what we decided after the initial confusion:

  • Scrum was chosen as process framework
  • Decided to go with one team approach instead of having two co-located teams
  • Two Scrum Masters, one in each location
  • Common daily using video conferencing
  • Two week sprints
  • One hour weekly grooming session
  • Retrospective after each sprint
  • Planning split into two 2h meetings due to time difference. Between plannings story sub-tasking in pairs.
  • Definition of Done defined

Sprint 0

After the kickoff week we had one week preliminary “sprint 0”. That week was used to set up version control, getting bean bag chairs, video conferencing TV etc. We also had three planning sessions. In one of those we chose a baseline story for estimation. The heuristic was “this feels like medium sized story”, and it was given 8 story points.

Early sprints

After sprint 0 we started working in the way we agreed in the kickoff week. Process improvements were discussed and decided in retrospectives. Here are some of the things we changed during the first sprints:

  • We noticed we didn’t have agreed way to add more work to sprint if we run out of work. –> We decided that we would have a mini-grooming session with minimum of 2 persons to add more work.
  • Due to time difference, other location would have to wait until afternoon to find out what other location did the previous day. –> Decided to use email dailies instead
  • Grooming sessions were painful. Decided to try sub-team groomings. Noticed that things would anyway need to be discussed with the whole team, so changed back to whole-team approach.
  • Planning 2 would only be held if needed. No need to review the sub-tasks with the whole team.

Our early estimating approach

We used planning poker to estimate our stories. Usually the estimation process went like this: lengthy discussion -> “are we ready to estimate?” -> playing poker using online tool. Here’s what happened after the poker:

  • 5-5-5-5-8-8-8-8 -> pick higher
  • 3-5-5-5-3-8-8-8 -> small discussion, pick higher or settle with average
  • 1-3-2-8-13-1-2 -> Whoa! More disucssion and then new game.

Moving away from planning poker

Soon we started to notice our stories were almost every time 3 or 5 points, sometimes 8. An idea came that “what if we just stop playing the poker and agree that it’s 5 points”. Or just count the number. That’s what we did, and amazingly enough that didn’t change anything. Instead of committing to 50 story points we just committed to 10 stories.

From Scrum to Kanban

Working with distributed team with longish time difference made the Scrum start-stop cadence quite large part of the 2 week sprint: demo on Thursday, retro on Friday, planning part 1 on Monday and part 2 on Tuesday. From 10 day sprint that’s actually 40% of the days!

What happened was that we unofficially already worked on items even though they weren’t “accepted” and “committed” to a sprint. We kind of anticipated what was coming next and already started working on it. So, ¬†we decided to make it official and move to Kanban. Here’s what we did:

  • Dropped the phased planning meetings
  • Kept the weekly planning/grooming meeting. Main idea was that stories would be groomed to ready to dev in these meetings.
  • Kept recurring retrospectives
  • Setup the kanban board to Jira, columns were setup in the same way that we already worked in Scrum (ready to dev – in dev – in review – testing – ready to demo – done)
  • Write up kanban policies for the team and rules how tickets move in the flow

Not estimating stories anymore

First column in our kanban board is ready to dev. This means a ticket has been discussed with a team and any developer can grab the ticket and start working on it.

Our entry criteria for story to be accepted to ready to dev is that minimum two team member accepts it. Our heuristic is “can we make it simpler?”. If answer to that question is “yes”, then we try ¬†to peel the story simpler. We also try to prefer vertical stories over horizontal tasks.

Currently, using this approach, our median cycle time is little over 6 days, and mean time 8 days. Cycle time for us is the time that starts when developer starts working on a ticket and stops when it’s ready to be demonstrated.

Changes along the way

Along the way we’ve fine-tuned the process bit by bit. Here are some of the improvements we’ve tried along the way:

  • When¬†we switched from Scrum to ¬†Kanban, first we tried triggering demonstrations on demand (i.e. when ready to demo column reaches certain amount of tickets). ¬†Pretty soon we switched back to regular demo cadence, it seemed to fit stakeholders better.
  • Adding queue columns to the flow, like “waiting for testing”.
  • Adjusting our WIP limits in¬†the flow
  • Adjusting where to test and when are branches merged to master
  • Decided not to talk about implementation details in demos

As I’m writing this I feel we’ve reached a certain plateau. We have a nice flow and even though we make small adjustments to it, we haven’t changed the way we work drastically in the past few months. In a way that worries me.

But wait, we still estimate…¬†

Our team’s high level goal is to get 1.0 out of the oven¬†by the end of the year. Our PO has defined a desired set of features that he would like to have in the 1.0. We have fixed time and fixed cost, so the question has been “are we able to produce enough scope that would make a meaningful marketable 1.0?”

To answer that question, I’ve used our throughput data to produce a forecast. One problem has been — because we groom our stories just in time — we don’t really know how many dev-sized stories does the rest of the backlog contain. To address that, I have simply estimated how many tickets do each of the higher level features in backlog consist of. ¬†I have phrased my answer like “based on our current speed, it seems likely that we will reach that scope by XX”.

I have also had an idea to gather throughput metrics for the higher level features, and then use that data to forecast. I haven’t done that (yet) though. The problem with that approach is that the sample size is really small.

Trying to tackle personal biases

This is a true story, but on the other hand it’s my true story. I’m fully aware that my brain is adjusting this story. I remember what I want to remember and I’m putting pieces together to make a more coherent story. I don’t do it consciously, it just happens in my brain. To compensate for that bias, I¬†try to list some of the thing that haven’t gone like they do in books usually:

  • We’ve had a “8 story points” ticket that took 6 months to get done.
  • When forecasting future performance, I’ve ignored dependencies and technical impacts. I’ve just assumed future work is just a big mass of tickets waiting to be chewed.
  • Grooming sessions are sometimes very painful and confusing.
  • We don’t explicitly ask “can we make this simpler?” out loud that often anymore. But I guess we’ve grown into it; cycle times haven’t been growing.
  • We have defined WIP limits to each kanban column, but they’re more like soft limits.
  • We have quite a few horizontal technical tasks and the ideal of just implementing vertical slices is quite far away
  • Our standard deviation for ticket cycle times is quite high. I don’t know if it’s too high to make any kind of forecasts about the future performance.
  • I use kanban and Kanban¬†interchangeably, don’t really remember what was the difference and too lazy to check it up. =P

—-

So that’s my story. What’s yours? Would you like to hear something more? I’m pretty sure I’m forgetting to mention something.

How to forecast project progress without estimating… or not?

Here is a summary of how to forecast project progress without estimating:

  • Do not estimate stories with story points. Instead, just count them. Use some kind of slicing heuristic when taking stories into development. Do not estimate them.
  • Constantly collect throughput data (# completed stories per time period).
  • You know how many stories you have in your backlog.
  • Using this information, you can steer / make decisions about your project without estimating. You can¬†forecast using the team’s throughput and project it to the work remaining. You constantly “steer the ship” by using data, not estimates.

As far as I’ve understood it, that’s the approach Vasco Duarte is explaining here¬†in Agile Riga Day 2012 keynote speech (starts around 30min mark).¬†I like that approach a lot. That’s pretty much what I’m using in my current job. I think it’s a lot better approach than the good old story points + planning poker approach, where we try to estimate the duration of each task.

But.

burndown

Here comes the catch. “You know how many stories you have in your backlog”. Actually, you don’t. ¬†¬†You have two options if you want an¬†approximate number:

  1. You do up front requirements gathering, and groom the stories to the backlog.
  2. You estimate how many dev sized stories does the remaining work consist of.

The approach #1 is, IMO, problematic because it really smells like big up front design. And there is lots of potential waste grooming stories that never actually get implemented. Aren’t we trying to avoid that?¬†The approach #2 is, IMO, a lot better, but it kind of ruins the promise that we had, that we would forecast the project progress without estimating.

Still, I think that estimating the number of stories is easier than estimating duration, because then you don’t have to estimate wait times. Which often are really hard, maybe even impossible, to estimate.

There is actually a third option. It would be to start working and learning. But in any case, even in that approach, you somehow need to approximate how many stories you have left IF you want to do forecasting.

#NoEstimates confusion

So you’re always late. Your friends ask when are you coming, and you always give way too optimistic answer. Or something else happens. In any case —¬†¬†you’re always late. Simply put, there are two possible ways to handle the issue:

  1. Find a solution: You try to be better in estimating your arrival. You take into consideration that traffic affects your travel time. You remember that putting your clothes on takes longer in winter. You add marginals to your “arrival estimates”. This way you are better estimating your time consumption, and as a consequence, you’re more often on time.
  2. Change the problem: You change the setting so that either you don’t have to give an “arrival estimate” or it doesn’t matter that much if you’re late. For example, instead of meeting outside of restaurant before going in, you agree to meet in a bar nearby. So if you’re late, your friends can just have one more aperitif, no big deal. Maybe your dinner party starts with a flexible cocktail party period instead of punctual time. So we change the problem from “How to be on time?” to “How to change things so that my friends don’t need to rely on estimates so much?”

The way I see it , currently #NoEstimates is about option #2 — changing the business so that you lessen the need to estimate. ¬†If you stay within #1, the solution space, I agree that #NoEstimates makes no sense. If someone asks “how long is it going to take?”, you need to estimate to answer, there is simply no way around it!

The key questions here are “How do I change my way of doing business so that I don’t need to ask ‘how much? when?’¬†so often, or if I do, it is for shorter period of time? How do I deliver value sooner? How do I validate my concept ASAP?”

One small addition: in real life, #1 and #2 are not mutually exclusive. You can, and should, usually do both.