Getting to "yes" in a world of "no"…

Archive for September, 2014

10 Important Questions About Scottish Independence

Scottish Independence – so what happens next? This post gives you the answers to ten of the most pressing constitutional questions currently being asked.

1. What will the new Scottish currency be called?

This has already been decided: the Scottish “Poond”.

scottish-ten-poond-note

2. Will the “Scottish” Banks have to move out of Scotland?

Major banks will continue to be administered from the Cayman Islands, just as they have been for many years.

3. I have property in Scotland but live in England, will I need dual nationality?

As a transitionary measure, HMRC has confirmed that people with majority land assets in Scotland will by default be considered Scottish.

4. Will Her Majesty The Queen need a visa?

Yes, because Queen Elizabeth II will be a Scottish national by default (see question #3 above), she will pay tax in Scotland by default. The cost of keeping the Queen will therefore also fall to Scottish tax-payers. As a result, Her Royal Highness will therefore need a visa to visit Great Britain.

Moreover, Debrett’s has confirmed that because Her Majesty The Queen will be the first Queen of Scotland named ‘Elizabeth’, she will henceforth have to be known as “Queen Elizabeth I of Scotland, formerly Queen Elizabeth II of the United Kingdom”, or (more usually) “Queen Elizabeth I of Scotland“.

5. Will His Royal Highness Prince Charles need a visa?

Because Prince Charles owns more land in the rest of the United Kingdom than in Scotland, he will – unlike his mother – have British citizenship by default. He will therefore need a visa to visit her in Balmoral.

6. Will Her Majesty The Queen have dual nationality?

Until such time as Queen Elizabeth I of Scotland is granted dual nationality by the British Parliament, she will have Scottish nationality rather than British nationality.

Hence Scottish Independence means that Prince Charles will immediately become King Charles III (or perhaps King George VII) of the United Kingdom, and will have to abdicate should Queen Elizabeth I of Scotland become British again and wish to re-ascend to her former throne. According to Debrett’s, her official title would then be “Queen Elizabeth I of Scotland and II of United Kingdom”.

7. What will Scotland’s official name be?

Because Scotland had its own King when the Union of the Crowns began in 1603, the default constitutional position there is that a monarch would need to be put in place immediately following a vote for independence. Its official name would therefore be “The Kingdom of Scotland“, with Queen Elizabeth I of Scotland its first monarch since the 1707 Acts of Union.

The Scottish people would therefore need to hold a further referendum in order to choose whether to become independent of its own Royal Family.

8. What about the Union Flag?

Many historians and political commentators have pointed out that retaining the blue colour in the Union Flag following Scottish Independence would be historically anachronistic.

It has also been widely pointed out that the Union Flag’s current colours do not express the rich cultural diversity and cosmopolitan diversity of the nation: and so it does not genuinely reflect modern-day Great Britain’s ‘Union’ of cultures.

As a result, proposals to replace the blue areas of the Union Flag with the colours of flags representing nations with significant ethnic subpopulations – such as Poland, Pakistan, and India – are currently at committee stage, but no decision has yet been made.

new-union-jack

9. What about North Sea Oil?

This will continue to be passed off as ‘beer’ in Scottish pubs.

10. Are you serious about all this?

Och no. Not at all. Not even slightly.

What is “Technical Debt”?

I’ve seen many different definitions of technical debt (as it applies to software), but most of them are very specific and indeed often tied to some kind of technical debt metrics dashboard that vendor X is selling.

So when a co-worker asked me to define it a few days ago, I thought I’d better come up with something a bit more useful.

For me, “technical debt” is the long-term price companies pay for adding functionality and features hackily, i.e. without really thinking about how those changes impact architecture, documentation, usability, clarity, maintainability, etc. When the things that come back to bite you actually do bite you, you’re paying interest on your technical debt (i.e. you only pay it off completely if you can get rid of it).

Hence to assess your company’s current level of technical debt, you need to assess what proportion of work time a typical engineer spends actually working productively, as compared to performing other ancillary work-time activities that relate to dancing around the accumulated mountain of hacks and increments that it (perhaps laughably) calls its codebase.

Such unproductive activities include:-
* Finding, reading and understanding informal documentation (often left abandoned on internal Wikis)
* Working out how to add new workarounds to work around the current set of abandoned workarounds
* Spending time in meetings with other engineers trying to convince them that changing old code is a good idea
* Fixing regression failures that just happen to reveal old bugs that had previously been untested by unit tests
* Following arcane coding standards that have not been updated to reflect current tools and practices
* Reinventing software wheels because of policies that prohibit code reuse outside formal APIs
* Using log files to debug full stack builds (because they have become too complicated to use gdb etc)
* And so on.

The problem is that as a company’s technical debt reaches 80% or so, the company becomes largely paralyzed: while having a technical debt of 90% is close to terminal, with each engineer having on average only 6 minutes out of each hour being applied productively. Few companies can sustain this level of burden for long without collapsing.

What is not widely understood is that this isn’t just a feature of large companies with old applications. With their explicit reliance on incrementalism, Agile companies too can exhibit all of these problems if they have no engineers with architectural flair or no time explicitly put aside for refactoring. (The “Lean Startup” is no different.)

All in all, high technical debt can be a crushingly huge problem – how high is your company’s level of technical debt? Can you honestly say that it’s less than 50%?