Day 77 – Where Does the Time Go?

I have started a new habit at work today.

Although my calendar tends towards the full, some meetings finish early, and others get cancelled at the last-minute, and there is some clear time among it all as well.

But it never seems like there is enough time to get everything that I think is important done. Continuous Improvement takes effort too.

I have decided that I’m going to try to track where all my time goes in the week so that I can figure out if there is a better way to spend it. Hard data trumps all.

I’ve gone completely low-tech (comparatively). I have my OneNote. I have created a tab for my time tracking. I create pages for each day, on which I drop a table that has a row for every 20 minute segment of the day. And then I just keep notes as I go along.

I didn’t want to go full-on 6-minute-slices because I’m not a lawyer. And half hours seems too coarse for your average interruption. So I settled on 20 minute slices.

And after a few weeks I’ll see what it tells me.

Day 56 – On The Road Again

And once more I have arrived in Melbourne, safely tucked into a hotel room at the Grand Melbourne. Not as good a view this time, but still, the room is massive as always (photo-rapportage tomorrow). They are now overhauling the existing rooms, so there is a lot of construction going on.

I feel a bit like one of them weird conspiracy-theorists when I arrive.

I go around the room Unplugging All The Devices. This has nothing to do with radiation-whatevers, but more with the fact that most appliances have ridiculously bright leds, mostly blue. They keep me awake when I try to fall asleep. The only one I leave as-is is the tiny light in the smoke detector. I’m assuming it’d be frowned upon if I dismantled that.

I do wonder whether there is perhaps a note on my file that I’m the crazy guy that keeps unplugging the TVs and the clock-radio.

Here are some miscellaneous pictures of my travel.

Day 52 – 10 Years

It whooshed by mostly unnoticed. I certainly hadn’t paid detailed attention myself. Working for a company for 10 years is a long time, but it really doesn’t feel like it has been that long to me.

To be precise, my 10 year work-aversary was on the 18th of August.

For the occasion, which I share with two other developers (Jeff and Peter), Jeff decided to organise a pizza lunch. This probably sounds much more magnanimous than it really is. There is one specific pizza called a Thai Foon that Jeff loves, and he’ll use the flimsiest of excuses to organise a pizza lunch for the excuse of having that one specific pizza.

Not that anyone complains of course.

As a result I do feel rather full and sluggish this evening. Maybe I’ll drag myself out for a walk in the dark later because it’s such a nice evening. Maybe I’ll blog a second time.

Who knows; anything is possible 😉

Day 51 – Fractional Resource Plan

The Problem

I like being systematic and scientific about things where I can. Today I had to figure out what could be done to add bandwidth at work so we can take on more projects.

Let me paint a hypothetical that has slightly easier numbers than the real-world scenario I was working through.

Let’s say:

  • I have no spare bandwidth across my existing employees
  • I have 100 days of work to do
  • Contractors are going to take about 1.5 times as long due to lack of experience with the systems to complete tasks
  • Contractors need oversight, and for every day of original effort I will need to leave an employee on the work for 1/4 day to supervise and explain things

How hard can this be?

Trial-and-Error

I just needed a number, so let’s start from the top:

  • 100 days of work done with contractors will take 150 days
  • 100 days of work will leave 25 days in-house for oversight

Done! … Oh, wait… the reason I was doing this was because I had no in-house resources left, so I need to contract out 25 days of already planned in-house work to free up in-house resources for oversight:

  • 25 days of work done with contractors will take 37.5 days
  • 25 days of work will leave 6.25 days in-house for oversight

Ah, but again, the same problem… still… 6.25 days is almost negligible, I think one more iteration and we’ll have this worked out:

  • 6.25 days of work done with contractors will take 9.375 days
  • 6.25 days of work will leave 1.5625 days in-house for oversight

And let’s just call that a rounding error. So the total then becomes:

  • Contract resource: 150 + 37.5 + 9.375 = about 197 days
  • In-house oversight: 25 + 6.25 + 1.5625 = about 33 days

It looks like we end up with an endless series of ever-more-fractional contract resources that we need to hire, but luckily it converges quickly. But I’d rather not work this out step-by-step in the future.

Mathematics to the Rescue

I decided that working out the formulas to get straight to the totals based on variable parameters for oversight and the contractor-multiplier would give me a handy tool to assess ballpark figures in the future, so here goes.

I got out some of my old University textbooks to get some inspiration for the right approach to work this out. Luckily my instinct to go straight to my number theory books quickly delivered a winning strategy.

Definitions

To make the following formulas easier to work with, I use the following definitions throughout:

  • R = the number of in-house effort days to fill with contractors (100 in the example above)
  • M = the effort-multiplier when using external contractors, the more experienced and knowledgeable the contractors are in the systems they will work on, the closer this number approaches 1.0 (1.5 in the example above)
  • S = the supervision-multiplier for the amount of in-house effort that stays in-house as oversight (0.25 in the example above)
  • O = the cumulative total number of in-house oversight days needed to supervise the contractors we need
  • C = the cumulative total number of contractor days needed to resource the extra work

Total Oversight “O”

The formula for “O” is slightly easier to derive, so I’ll start there. First, I’ll quickly recap the example I worked through before:

  • O = 25 + 6.25 + 1.5625 + …
  • O = 100*0.25 + 25*0.25 + 6.25*0.25 + …
  • O = (R*S) + (R*S*S) + (R*S*S*S) + …

To get a completely accurate result I would have to keep going on indefinitely adding further ever smaller pieces of employees. (I hope HR doesn’t find out about my plans to slice employees into ever more fractional parts!)

With a bit of trickery though I can collapse that infinite formula into a much more compact version:

  1. O = (R*S) + (R*S*S) + (R*S*S*S) + …
  2. O = (R*S) + S * ((R*S) + (R*S*S) + (R*S*S*S) + …)
  3. O = (R*S) + S * (O)
  4. O – S*O = (R * S)
  5. O * (1 – S) = (R * S)
  6. O = (R * S) / (1 – S)

Step 1 is our original formula. In step 2 I isolate the first term and split out one “*S” from the remainder of the infinite series. The piece between brackets at the end of step 2 looks very familiar… it’s exactly what “O” is defined to be in step 1! In step 4 I subtract “S*O” from both sides of the equation. In step 5 I factor out the “O” on the left hand side. And a quick division takes us to step 6 with a three-operation formula for the oversight component.

Now, note that the division by “(1 – S)” from step 5 to 6 is obviously only valid if S is less than 1. But then, if your supervision factor is 1 or above there is really no point trying to bring contractors in. I’m sure we’ve all worked with people like that.

Unless you are in the enviable position of having contractors available that are so good they do not need supervision, then S will also never be too close to 0.

My gut feel at the moment is that realistic values for S probably are somewhere in the range from 0.2 to 0.5; where it falls exactly depends on the complexity of the work you want to get done, and how much of the work you are prepared to entrust to contractors.

Using this formula on my original hypothetical suggests that in-house oversight would actually be: O = (100 * 0.25) / (1 – 0.25) = 33.3333…

Total Contract Resource “C”

After explaining the derivation of “O”, doing “C” is actually a little easier. Going back to the example again for a recap:

  • C = 150 + 37.5 + 9.375 + …
  • C = 100*1.5 + 25*1.5 + 6.25*1.5 + …
  • C = (R*M) + (R*S*M) + (R*S*S*M) + …

Solving this infinite series of fractional contractors follows a similar pattern to my earlier attempt:

  1. C = (R*M) + (R*S*M) + (R*S*S*M) + …
  2. C = (R*M) * (1 + S + S*S + …)
  3. C = (R*M) * (1 + S*(1 + S + S*S + …))
  4. C = (R * M) + (R*M)*S*(1 + S + S*S + …))
  5. C = (R * M) + S * (R*M) * (1 + S + S*S + …)
  6. C = (R * M) + S * C
  7. C – S*C = (R * M)
  8. C * (1 – S) = (R * M)
  9. C = (R * M) / (1 – S)

I won’t explain the steps, because the tricks used are pretty much the same as in the previous formula.

The bounds on S were already explained above. M should never normally be less than 1, unless you make a habit of hiring the wrong people. How high M could get depends on how much you are prepared to spend on a contractor.

Once again, if you are in the enviable position of having a contractor that doesn’t need supervision because they are already familiar with your systems due to working with them before, then M could theoretically be 1.

If you are solving this problem for S = 0 and M = 1 though, I suggest that you just hire the contractor already because they are probably practically working for you anyway… and a salary is going to cost you far less than contract rates.

Realistically I’d say M is probably somewhere between 1.25 and 2. With values greater than 2, I’d suggest spending a little more and getting a better contractor instead.

Using this formula on my original hypothetical suggests that the required contract resource would actually be: C = (100 * 1.5) / (1 – 0.25) = 200.

Summary

To summarise, assuming you have no employees available at all in-house, then you can calculate the amount of contract resource and oversight you are going to need by picking:

  • R = number of days an employee could do it in
  • M = effort-multiplier for contractors (probably between 1.25 and 2)
  • S = in-house supervision-multiplier (probably between 0.2 and 0.5)

Then the total amount of in-house resource you will spend is: O = (R * S) / (1 – S).
And the total amount of contract resource needed is: C = (R * M) / (1 – S).

These are obviously fairly idealised formulas, but by playing around with the values of M and S around where you think they should be will give a pretty good sense of what the range of possible real-world outcomes might look like.

And if you have some amount of employee resource available, you’ll probably always want to use that first and subtract it from R before doing anything else.

Day 45 – Work BBQ

Alas, once again no picture. The moment I realised the work BBQ would be the best story for the day, everything had already been packed up.

So instead, I’ll ask you to imagine the following… It’s a sunny 29 degree day in Sydney. The CEO is in town, which is always an ideal occasion to have a social lunch at the same time.

Today’s feast: rolls, BBQ tandoori chicken, sausages, rissoles, beetroot, salads, mint sauce.

I get there relatively early so there is no queue, and I end up enjoying my meal in the shade at the table with 4 managers one level above me. I tend to not pay too much attention to that kind of thing, so it’s not really relevant to the day or my story.

Sorry, nothing scandalous happened.

Then I get up, chat a bit with my boss and the CEO in the sunshine before discovering there is dessert also.

I really should have had a picture of this, because I have no idea what it was. They were donutty balls with a hint of spice and cardamom in some delicious liquid… with vanilla ice cream. And since there was way too much of everything left over, I helped. I’m sure the scales will tell me off for my mistake tomorrow, but today I’m fine at least.

It was very tempting to stay out in the sun, but then work rudely called out its siren song.

Next time I promise to have my phone camera to hand.

Addendum: per Sin’s comment below, it’s totally Gulab Jamun (<- link to image search).

Link Triage – Serious Links

This is a few buckets mashed together for convenience.

Programming

Software Design

(Web) Design

Writing

Other Work-related

Day 30 – Busy Schedule

Today was one of those days…

7am: The alarm on my phone goes off; usually that means I wake up and catch up on my news-feeds while waiting for the FitBit to also decide to wake me. I haven’t been sleeping so well, so I decide to sleep for that extra half hour this morning.

7.30am: The alarm on my FitBit goes off. I tap madly on my bracelet till it stops buzzing. I consider reading my news-feeds. I close my eyes while trying to steel myself to wake up… and fall back asleep again.

8am: I roll over and realise I have a meeting at 10am that I really do not want to miss. I spend another 15 minutes contemplating the day before I actually decide to wake up.

8.15am: Shower, scales, dress. Then I login to my FitBit account and check how I slept… only to realise my mad tapping apparently didn’t register as a wake-up. I wake up the bracelet anyway and adjust my sleep time in the dashboard. Still only 6.5 hours at best; I don’t seem to sleep anywhere near as much as I always think. I consider making my lunch to take, but I’m in a bit of a rush by now, so I’ll just buy my lunch today.

9am: Time to drive to work, with time for a brief stop along the way at Michel’s to get myself a cappuccino. I decide to be good and have myself a decaf.

9.30am: I arrive at work with enough time to spare for some quick prep for my first meeting. I need to get some sizing details for Atlassian products so that I know what I’m talking about in my Confluence meeting.

10am: I have a meeting to discuss migration onto a more reliable server platform for our Confluence installation. The slot I have set aside is an hour-long, but after about 20 minutes it’s clear we’re on the same page. After finishing the meeting I spend another 15 minutes carefully writing an email to set up the needed actions for the migration. And just enough time to prepare for my next meeting.

11am: A quick meeting to discuss raising a project to do some investigative work on one of our systems. I still have to chase the rest of the invitees separately; some days the world conspires against meetings like these and nobody can turn up. Still, progress is progress, even when it isn’t complete.

11.30am: Between interruptions I start preparing my daily noon catch-up; it is essentially a Scrum meeting without the label.

12pm: At 7 minutes today’s wasn’t the most compact ever, but not far off… I think one time I managed to wrap it up in 5 minutes. Still striving for a new personal best, but there’s just always all this… Stuff!

12.10pm: My next meeting is at 12:30, and looking at the rest of the day, if I do not dash for lunch now, I may not get lunch at all. A quick trip to the local shopping centre and I return with my Sushi; grilled salmon pieces and a vegetable tempura roll.

12.30pm: An online meeting with one of the developers to answer any questions about the presentation he will do next week on Wednesday. Mainly focused on the recording tools, but I hope my suggestions about how to present the content will be some help as well.

13pm: This half hour completely escapes me now. I must have been busy because I was trying to finish something before rushing into my next meeting.

13.30pm: Our weekly Development Managers meeting starting with an hour for security related matters. This was a very long meeting all up, taking close on four hours. But I don’t think we wasted any time along the way, which is a scary thought. By the end I have unfortunately managed to both cancel my gym plans and take Panadol for a building headache. One of these days I’ll get back to the gym again I’m sure!

17.30pm: I leave for home again. Another stop at Michel’s on the way home. Another decaf. After winding down, we have left-overs of last nights’ dinner over Breaking Bad… and now, this post. And then, soon, bed I think.

Day 22 – Sherlock and Tea

I wanted to get better pictures for today. But I didn’t. Also, I’m a little drunk right now, but let’s not skip ahead too far in today’s story.

First of all, whenever we’re down here in Melbourne, Hamish and I make a regular appearance at the Sherlock Holmes Inn for lunch. It’s a very quaint little pub downstairs on Collins Street in the Melbourne CBD. The menu seems very typical on the surface, albeit Sherlock Holmes themed in the menu. But the actual food that arrives at our table is far above what expectations we might have every time. Also, the atmosphere is very jovial and friendly.

And that would have been that.

But then we were invited to dinner. With 4 general managers and our CIO and a few other managers. I had suspected we’d go to a place in Chinatown I’d been once before with a similar crowd, and I wasn’t disappointed.

We had great food, and also great drinks. With a wine connoisseur in tow you wouldn’t expect anything else, and I’m always happy to follow along.

Having that much upper management in one place might sound like a recipe for guarded conversations, but it’s surprising how comfortable and jovial every one is. I think there is a really good chemistry between the IT managers.

But…

I think the safest approach now that I’m back in my room is to go lie in bed and read a book. Then have a good nights’ sleep (FitBit will tell me once I get home) and look bright and perky in the morning.

Day 21 – Melbourne

I didn’t have the smoothest of flights this time around. No, not turbulence. Well, not in the typical sense of the word… it appears that perhaps somebodies IT systems are not as reliable as they should be.

In my rush to find the quickest way to make it to Melbourne, I totally forgot to take a picture of the queues. I walked straight past the snaking queues in the terminal entrance; there were easily thousands of people in various queues that did not seem to be moving.

I went through security and found the first gate with a near-empty Virgin desk and briefly spoke to a very helpful staffer who directed me to Gate 45 where the Service Desk is. I dutifully followed instructions… and still found myself in a queue with at least 60-70 people in front of me, and it was barely moving.

Not My Original Ticket
Not My Original Ticket

A quick call to the corporate booking agent later though, and they had my original ticket cancelled. I was to take an alternate flight with Qantas. So, from Terminal 2 to Terminal 3 I dashed. I arrived with a few minutes to spare before boarding.

After all that I found my way to Melbourne on the same schedule that I had originally planned for, albeit quite a bit sweatier than intended. I’m sure when I get back home my FitBit will have a great story to tell about today.

It also briefly tickled me to think how many stairs one of the FitBits with the altimeters built-in might have thought I had taken after flying. That must easily equate to several weeks’ worth of calories in stair-climbing. Alas, mine doesn’t track that, so I’ll have to limit myself to real exercise only.

My Room on the Corner
My Room on the Corner

Whenever I arrive in Melbourne, I go on a quick shopping trip. I normally don’t find time to have dinner before I get all the way here. From the moment I leave the office at 4pm, get home and ready for the taxi by 5pm, and then taxi-plane-taxi to the hotel, it’s around 9pm and I’m usually starving.

I cannot say that I make the best dinner choices in this state *coughcideranddonutscough*, but once a month after 5 hours of rushing about, I really have little willpower left to do the right thing.

Above is a picture of my room this time around, as seen from street-level outside. One of my evenings this week I’ll blog a post about the hotel, because it has a very quirky out-of-time feel. I wouldn’t at all be surprised to encounter the TARDIS in one of its rooms.

Stow-away Cookies
Stow-away Cookies

And as a final note; it appears someone might have tampered with my luggage between the time I packed it, and when I arrived here because I have no knowledge of the package shown above at all. I will not vouch for the contents (other than to say: nomnomnom).

And now I must go do a little work before I go sleep.

I may have to head in for an 8am start as well! *shudder*

Day 19 – Study for Work

I had a pretty ambitious to-do list for today. I didn’t do everything on my list, but I am happy to say I achieved something in each group; I played with the camera some more and I played some Isaac, I cleaned the floors and did the laundry, I did my “Virtual Teams” homework.

As you can see in the header image, I was all set up for some extensive studying today. Computer for notes. Book on Virtual Teams to read. Snacks in the middle.

It was a bit of a marathon, but luckily there were only seven chapters for me to read over about 170-180 pages. And as with most self-improvement/business-process books, the material sprawled over more pages than strictly was needed. I think maybe that’s a thing you only notice when you read quickly; it quickly became clear that certain themes recur over and over.

How I’d summarise the most important lessons from the book:

  • Shared communication is important; email is not as good as wikis or forums can be
  • Face-to-face communication is essential for remote team members, especially at the start of projects, or at least once a year; this is both with their manager as well as with their fellow team members
  • Changing team composition has a negative impact on co-located teams, but this is exacerbated for virtual teams due to the investment needed to get them to gel in the first place; every change undoes a lot of crucial work
  • Use technology to your advantage, but don’t use more than the smallest number of tools that can do the job; every added tool reduces the effectiveness of the other tools already in place
  • Make goals: Specific, Measurable, Aligned, Realistic, Time-bound (I had heard this acronym before; the authors manage to mix up the definitions of Aligned and Realistic though)
  • Establish clear guidelines and processes surrounding communication; who needs to give input? who needs to be informed?
  • Team processes should be documented in such a way that anyone can step in; for example: meeting structure should allow anyone to step in when the usual leader is unavailable

They also speak a lot about establishing trust, but that is also identified as flowing from face-to-face engagement and successful collaboration, so I’m putting that down as a logical result of performing the above well.

I cannot say that there were any shocking truths in the book, but it organised some of the ideas I already had and gave me some ideas on how to make them interlock better… it probably was worth the 3 hours of my life.

Time will tell.