Friday, 26 October 2018

Hot and Warm Desking: Why I have hot-desking problems and how to fix them

"Where do I sit?"
"Anywhere that's free - it's hot-desking here"
Thinks: OMG - not again . .

We're working to an agile world where people move teams and projects on a regular basis.

We have flexi-time and people work at home some of the time.

We have 'campuses' where there is no 'big office' and there may be multiple buildings in a 'metro-area' with shuttles moving between them.

We are living in the future!

1. Turn up at the office
2. Find the first desk with no-one in it (or working at it that day)
3. Sit down, unpack, plug in, start work!

What's the problem?

There are a number of problems with this approach...

Not all desks are created equal.

In an environment where hot-desking actually works, all the desks have identical facilities. If one desk has a monitor and a phone and 4 power sockets, they all do. This is key for things you need to actually do your work - if a desk is nearer to a window then that's nice but it doesn't, cosmically speaking, matter.

What does matter is if your desk doesn't have an external monitor but all the others do. Or if three of the power sockets have fused and don't work. Or if this is the desk where the chair leaks gas and you end up sitting on the floor after 30 minutes.

Solution: Make all hot-desks identical equipment-wise. Keep maintaining them so there isn't 'That desk with the dodgy monitor' or similar.

Not all desks are hot-desks - and you can't tell

Where it works, hot desks are marked as hot desks. Not by implication of 'hot desks are ones with no name tags on them' - this does not work!

What looks like a hot-desk turns out not to be: "10am: Excuse me, this is my desk." "Is it? How so?" "Well it is, it's assigned to me on the plan, which is in the filing cabinet in the basement next to the sign saying 'beware of the leopard'". Cue packing up, moving, finding no more desks . .

Solution: Label the hot desks explicitly. Ensure people don't take the labels off (it happens!)

"Warm Desks" and the culture of entitlement

"When everyone is special, no-one will be!" - Syndrome, The Incredibles.
(see also "I think I deserve an office, so I've booked this meeting room all day. Every day.")

Some people don't like hot-desking. That's fine but they then start to subvert it. They start setting up 'their' desk with all their equipment and trinkets such as family photos, favourite coffee mug, pot plant etc on it. This becomes 'the desk they always sit at' and eventually 'Derek's desk'. 

Solution: Heartlessly enforce the 'clean desk' policy overnight or first thing. ANYTHING that's not the 'standard hot desk equipment' gets removed and the 'offender' needs to go and get it back.

"Pre-Booking" or "German Towels" (see also "Warm Desks")

This is not as bad as 'Warm Desks' but this is the "OK, I'll be in tomorrow - I'll just leave my laptop here overnight to 'book' my desk for tomorrow. For extra security, I'll lock it to the desk.." approach.

Solution: Again, enforce the 'clean desk' policy. Also provide lockers so that if people want to leave equipment without taking it home, they can.

The 80-20 rule: We only provide desks for 80% of our people

This is the main drive for hot-desking: reduction of costs. Why have 'Andy's desk' if he's off at customer sites 4 days per week? He can hot desk when he comes in on a Friday.

No he can't - not if there isn't a desk available. Or he keeps getting shunted from desk to desk as the 'That's my (warm) desk!' people roll in.

There may be free desks that day, but they have names on them. They're not 'hot desks'. It might be possible to sit there, but how do you tell? Also, they're full of people's trinkets and there is the 'You sat at my desk and moved my monitor! How dare you???' culture - more common than you might think!

Solution: If people with assigned desks are not going to be in, ensure people can find that out. Make sure 'assigned' desks are actually usable by people 'borrowing' them

Solution: Have a 'If there's no desk, you can go home!' rule. It's not your fault that you don't have the equipment to do your job.

"This desk assigned to project Caribou"

This is a combination of wanting team members to sit together (good) and micro-cost centering where every desk needs to be billed to a project or team (bad).

If you're going to do this, why not do it for toilet stalls as well? Or seats in the cafeteria?

Solution: Have team 'areas' not desks. If project 'moose' has lots of people in that day and fills their spaces, then they overflow into project 'warthog' desks. Good grief, it's only a desk!

"Hotelling" or "Pre-booking properly"

In theory, this is a great idea and it can work. Before you come to the office, you go online and see if there are any free desks. If there are, you book one for the day - kind of like booking meeting room - or a hotel room, hence the name!

The problem is, just like booking meeting rooms, this has issues

"I'll book my desk for the week" - great! Except you go to visit another site on Wednesday and you decide to work from home on Friday. You don't cancel your reservation - why would you?

And why not just book your preferred desk for a month? That then becomes 'Derek's Desk'. You could even do it to a meeting room and then you have your own office!

Solution: Treat hotelling like a real hotel. If you don't turn up and you don't cancel before 6pm, you get 'charged' for your desk.

Also, you just book a room in a real hotel. The hotel decides which actual room you get. Allocate desks randomly and move people around. This avoids 'warm' desks.

OK, you don't get charged real money when you book desks at work, but you can use 'booking tokens'. Make people book their desk every day, the day before. They need to electronically 'spend' their booking 'token' to book a desk.

To get the 'token' back, they have to actually turn up and use their desk. Or cancel the reservation.  If they don't, they can't get the 'token' back for the next day and they need to take their chances with what's left.

e.g. On Monday they book Tuesday. They decide to work from home Tuesday but don't cancel. They then try to book Wednesday but they don't have a 'token' to do it and they need to run the hot-desk gauntlet on Wednesday... at which point they get their 'token' back.

If you turn up without a reservation, you can look at the system and see what's free. If there is nothing free (see 80-20 rule) you can make other arrangements. With on-line hotelling, you can check before you leave home!

Saturday, 6 October 2018

Driving in America - my personal guide for Brits driving in the USA

Drive on the right!

That seems to be the standard advice when you look up 'What do I need to know when I drive in the USA?'. After all, everything else is in English, right? How hard can it be?

This is a guide for Brits/UK people who are travelling to America and are going to be driving. If you are an American, all of this should be obvious to you. It wasn't to me! Also, if you are coming from another country e.g. Australia or RSA, things like 'Americans call it x, we call it y' etc might not apply to you.

Note: This is MY INTERPRETATION AND EXPERIENCE. This may be wrong. This is not legal advice! States have 'driver's handbooks' on the internet - you can look them up to find out what the actual rules and regulations are - not just what some guy told you on the internet!

Also Note - traffic laws are defined at the STATE level. Laws can be different from Florida to California to Texas - check first!

My Top 10 "You need to know these - it may save you trouble" hints

(These are the 'Wow - what do I do here?' or 'Avoid getting a ticket/fine' ones)

1. The 4-Way / All-Way / Stop-sign intersection

At a 3 or 4 way crossing/crossroads, you may see a sign 'STOP' sign with 'All-Way' or '3-way' on it. For this, you stop, then you go in the order you arrived at the junction. If there were people stopped at the line before you, let them go then it's your turn. After that, everyone goes in order of arrival.
For some reason, most driving guides don't tell you about this one.

2. The 4-way with no stop signs and the parallel white lines 1 meter apart.

You may come to a cross junction with parallel white lines about a meter (3 feet) apart on all the roads. This means you don't need to come to a stop, but if you need to know who goes first, the 'go in order of arrival' often applies.

3. You can turn right at a red light - but there are rules!

In most places, if you come to a complete stop first, you can turn right at a red light - as long as you are 100% sure there is nothing coming. If in doubt, just wait. In my experience, if you want to wait for the light to turn green, then people don't honk their horns at you and just wait.
From what I understand, if you turn right on a red light, if there is an accident, it's pretty much your fault.
You can turn left on red but only into a one-way street. I've never tried this.
Look out for 'no turn on red' signs - this means what it says.

4. Move over when passing a stopped emergency vehicle on the hard shoulder

If you see a police, fire or other emergency vehicle stopped on the hard shoulder, then move over one lane to the left so you have at least one clear lane with no traffic between you and them. This is a good safety thing, but it's a legal requirement in many states.

5. Don't pass a school bus IN ANY WAY if its red lights are flashing

If you see one of those yellow school buses stopped, with its red lights flashing, you must NOT pass it. This doesn't just mean no overtaking it, it means you can't drive past it even if you are both facing opposite directions. The bus flashes its red lights (and often puts out a red STOP sign) when unloading children. This is a safety thing. They are really hot on this. Don't even think it. Not even at 1mph.

6. Indicate all lane changes on highways and freeways.

I indicate to pull out in the UK, but I don't always indicate to 'pull back in' when I've overtaken something on a motorway and I'm away down the road. You need to indicate any lane change in the US as it's classed as changing lanes, not 'pulling back in'. I've actually been ticketed for this - it was a genuine 'What did I do wrong, officer?' moment.

7. Don't park next to a fire hydrant - or red lines on the kerb

Pretty much what it says - fire hydrants may not have kerb markings next to them, but you still can't park next to one.

8. Put your lights on when it's raining

How heavy does the rain need to be? The usual advice here is, if you have your wipers on, put your lights on.

9. HOV or diamonds painted in a lane means car-shares only

If you have more than one person in the car (sometimes you need 3 people but this is shown) then you can drive in these lanes. HOV means 'High Occupancy Vehicle'. This is why these lanes are often empty when the other 5 (or more - US freeways can have LOTS of lanes) are jammed with traffic moving at 2mph. If you're on your own (and 99.9999999% of Americans are driving alone, then you can't use them)

10. US Police pull up BEHIND you - and want to see your hands and your documents!

If you get pulled over, US police will do it by coming up behind you and switching lights (and sometimes a quick blast of the siren). Keep an eye on your mirror - it's not clever to be driving along ignoring them. If they're behind you, it's you they want to pull over.
When you stop, they'll pull up behind you. Keep your hands on the wheel. Although you MUST carry your documents (License, rental details, insurance etc) in the car with you, don't duck down and try and get them. The police might think you're going for a gun! Wind down the front window then keep your hands on the wheel. One tip, Americans do not understand sarcasm. Policemen especially don't...

Useful Terms and definitions:

  • Pavement: This is what Americans drive on! Pedestrians walk on the sidewalk. You may see signs saying 'drive on the pavement'. This does not mean what you first think it does!
  • Sidewalk: This is what Americans walk on - what Brits call the pavement.
  • Median: The part between the two directions on a freeway. They tend not to have barriers/armco - just big bits of grass. Even though it looks possible, don't be tempted to U-turn over it - not allowed!
  • Semi: This is a large articulated truck. You might know it as an artic. Note that Americans don't know what a 'lorry' is - they call them trucks - both the small pick-ups and the huge 50ft trailers.
  • Trunk (of a car): Brits call it the boot
  • Hood (of a car): Brits call it the bonnet
  • Auto: A car. Americans tend not to call cars cars: They tend to use 'car' for a tram or railway carriage.
  • Shifter: Gearstick for an automatic car. 'Driving Stick' means to drive a manual car - they don't have many of those. 99.999% of cars are automatics.
  • Parking meters: "quarter"=25c, "nickel"=5c, "dime"=10c. confusingly, dimes are smaller than nickels.
  • "Misdemeanour" and "Felony" - one is more serious than the other. Don't try and get either.
  • License Plate: Brits call it a number plate.
  • "Fender Bender" - a Fender is what Brits call a Bumper. A Fender Bender is a low speed collision. Some states have signs saying 'Fender Bender? Move vehicles from travel lanes'
  • "Travel Lane" - a lane on a freeway that isn't the hard shoulder
  • Freeway: What Brits call a Motorway.
  • Interstate: A type of long distance freeway that often goes across multiple states hence the name.
  • Highway: Typically just a road, although it can mean effectively a dual carriageway.
  • Gas: Short for 'Gasoline': Brits call it Petrol. Diesel is still diesel although you don't see it very much.
  • AC or A/C: Air-Conditioning, not Alternating Current. You might be advised to 'turn off AC' on  steep hills.
  • Gas Station: Petrol Station or Garage. Americans keep their cars in the garage, they don't put petrol in at a garage. They don't mend their cars in garages either. If an American needs their car fixing, then it's 'In the shop'.
  • Shops and Stores: To an American, a shop is a workshop. What Brits call a shop, Americans call a store.
  • ZIP code: What Brits call a Postcode. US petrol pumps will ask for your ZIP code. You don't have one. Therefore you can't pay at the pump.
  • Stop light: What Brits call a brake light (on the back of the car). This can also be confusing as some call a red traffic light a 'Stop light' as well. . .
  • Limey: Brit, English or UK person - from when the British navy gave limes to sailors in an attempt to prevent scurvy. I've never been sure if this is an insult or not - kind of like calling an American a 'Yank'. Why do you need to know this? A policeman may call you one . .

Driving an Automatic

If you're driven a European automatic, it's pretty much the same - although bear in mind that the gearstick ('Shifter') may be on the steering column. For the rest of you:

There is no clutch. The car changes gear for you. When you slow down and stop, it engages an 'automatic clutch' (simplified explanation) - don't worry, it won't stall. You can stop with your foot on the brake and the engine will keep running fine.


Automatics have a thing called 'surge' or 'roll'. If you are in 'D'rive and you take your foot off the brake, it will likely roll *forward*. Don't forget this, park in a car park, take your foot of the brake and curse as you roll forward into another car!

Quick 'I've just got off the plane and need to drive to the hotel' guide

Get in. There is no clutch. You don't need it. Foot on brake. Make sure shifter is in 'P'. Start engine. Keep foot on brake. Press lever/button on shifter and put into 'R' to go backwards or 'D' to go forwards. Foot off brake (car will start rolling in the direction you want - beware) and onto accelerator.

Accelerator to go faster. Brake to slow down and stop. When you stop at lights, in traffic etc, just keep your foot on the brake. Don't bother about 'Neutral' - no-one ever does.

To change from 'R' to 'D', foot on the brake, press lever/button and move the shifter.

When you get to where you're going, stop, keep foot on brake, put shifter in 'P', turn off engine.

More detailed guide and explanation:

To move the shifter, you usually need to press/pull the lever or button on the shifter. Some combinations (often R to D) don't need you to, but doing it every time isn't a problem.

To get in and out of 'P' (Park) you need to have your foot on the brake. You may need your foot on the brake to start thee engine

P=Park. Shift to this to start the engine and when you park the car and stop the engine. Leave the car in 'Park' not 'Neutral'. Often you can't get the key out without the transmission being in Park. If you stop the engine and can't get the key out, one reason is you might still be in 'D'

(Note: On some cars, 'P'=Park is a separate button off the shifter. On others if you stop at a low speed from reverse, the car will be 'helpful' and put itself in "P" when you stop)

D=Drive / Forwards. Use this to go forward. Just press the accelerator as usual. The car will change gear for you. Just pretend you have one huge gear if you like and ignore the rev-counter.

R=Reverse. Just what you think it is - like drive in the other direction. Be wary - reverse in an automatic can be faster than in a manual.

N=Neutral. I don't think I've ever used this! Unlike a manual (or 'stick shift') you don't start the car in N=Neutral, you use P=Park. Don't bother putting the car in neutral at traffic lights etc - just keep your foot on the brake. Neutral is really used for towing/pushing the car.

L and/or 4, 3, 2: These are your Low gears - used so the car can't change up further than the gear you've set it in. Used to 'engine brake' going down steep/long hills- you may see signs saying 'engage low gear'. Don't bother using these in normal driving - leave it in Drive.
(You may have 'flappy paddles' to move into 4,3,2 etc in some cars. In others you push the shifter left and right).

Freeways/Interstates and multi-lane highways

Lane Discipline - or lack of it

You can usually pass on both sides i.e. in any lane. Don't do it, but watch out for people weaving through traffic at speed - keep an eye on your mirrors.
Some states try and have a 'keep right unless overtaking' policy i.e. trying to drive on motorways a bit more like Europeans. This doesn't seem to have caught on with the US driving population.

Speed, Speeding and '5 over'

Helpful car rental staff sometimes say 'you're good for 5 over on the freeway' - which means if the limit is (say) 55 then you're unlikely to be stopped for doing 60 or less. This is not formal legal advice!

In some states, you must keep up with the traffic flow. This can be scary if all of the traffic is going 10mph over the speed limit!

In general, follow what everyone else does - which is a good guide to most situations!

In some states going slightly over the limit is a misdemeanour and a lot over is a felony. You don't want to be stopped for either.

HOV lanes / "Diamonds" painted on the road

See above


Some roads are toll roads - but you can't pay cash at all of them e.g. the Golden Gate Bridge in San Francisco. You'll need to go online and pay the toll within a certain period of time. Don't think just because you're in a rental car you can ignore tolls - Avis, Hertz etc will chase you for them.

Speaking of rental cars, some have a thing called Plate Pass or similar. This means that you can just drive through toll gates (especially in the 'Tag' or 'Express' lanes) without stopping and your car license plate is read and recorded. This is sent, along with the bill, to the car rental company who will charge your credit card, together with a convenience fee of around $3 to $4 per day. Be aware that once you've gone through one toll, they will charge you the convenience fee for every following day until you give the car back - whether you've used toll roads or not.

Be aware, if you use plate pass for one $0.50 toll on day one of your 14 day holiday and never again, you could get a bill for nearly $50!

If you want to pay cash, keep a supply of quarters and $1 bills ("Singles") handy.

Tailgating and undertaking

Americans seem to drive a lot closer behind you on freeways than Brits do - it doesn't necessarily mean they are trying to 'push past'. A lot of the time, they are very patient and will either wait for you to pull over or just undertake you. Don't panic when someone undertakes you - it's normal.

Disappearing lanes and 'Right Lane MUST exit'

You might think that freeway driving would be relaxing but if you're in the right hand lane, watch out for the 'Right Lane MUST exit' (usually in yellow background) signs. The lane that you are in can suddenly be the 'you MUST turn off at the next junction' lane. You might have been in this lane for 100 miles - but nope, now it's going!

Keep alert. You can end up leaving freeways without intending to - and it can be hard to get back on.

Canadian comedian Kelly Monteith has a line "Hey, let's get 'em going 80 in the fast lane and then put up a sign saying 'lane ends in 10 feet'" - sometimes this seems like it's not far from the truth!

Fuelling up / Putting Petrol in

How hard can this be? Very!

Diesel is Green, Petrol/Gas is black on the pump nozzles/hoses!

This is the opposite way around from Britain! Don't get them mixed up. Most of the time you won't even see diesel and all pump hoses/nozzles will be black.

Fuel grades 87/89/92 etc

There is a LOT of info about this, but in general, just choose the cheapest one/lowest number, especially if you have a rental car. For those who remember 2, 3 and 4 stars, it's not like that. Nearly all cars run on 'regular' or the cheap one.

Lift up the leaver on the pump / pushing the fuel grade button.

If you're pulling the trigger but no gas/petrol is coming out, you often need to pull up a metal lever on the pump that is under where the nozzle goes when it's hanging on the pump. Push the lever back down again when you've finished. Note that when being helpful (and they nearly always are), Americans pronounce 'Lever' as 'Leh-Ver' not 'Lee-Ver' when they're telling you want to do.

Newer pumps have only one nozzle and you press a button with the number of the grade of fuel you want before you can fill up. Pick the lowest/cheapest one!

Paying with a credit card at the pump/pre-paying for fuel.

Most American petrol pumps won't let you pump fuel unless you've paid first or authorised a credit card.

If you try and pay at the pump with a UK credit card, chances are it won't work as it will most likely ask you for a 5-digit Zip code (What we call a post code). You won't have one of those as you don't live in the states.

Not all pumps ask for a Zip code but most do. The internet will tell you to enter 00000 or just the numeric bits of your UK code with zeroes on the end e.g. 12700 for W12 7RJ. They are usually wrong. It doesn't work.

Go inside and pay the cashier in advance (note the pump number). Come out and fill up.

Some US chains (ArCo am/pm for example) don't take credit cards - check first.

Gallons and US gallons.

Americans price and dispense fuel in gallons, not litres. A US gallon is not the same as a UK/ Imperial gallon! 1 US gallon is .82 UK gallons or 3.78 litres, not 4.55 litres like a UK gallon. Give them *some* slack when your car computer says you're only doing 20mpg.

Prices/Discount for cash/Sales Tax

Most gas stations seem to have a different price for gas, usually a few cents per gallon. The price you see on the sign might not match what you pay - they don't always put both prices on the big sign either.

You don't need to add sales tax to fuel, it's already priced in. Unlike shopping in a US store where you find what you pay is 7 to 8% more than the price on the shelf - unless you're in Oregon or a similar no-sales-tax state.

Fuel Economy

Even though US gallons are smaller, US cars can be really uneconomical compared to what you're used to, especially if you drive a small car, a diesel or both! Coming from a car that easily does 55 to 60mpg, seeing '22mpg' on the fuel computer was alarming.

Don't worry - they really are this inefficient - it's why fuel is so cheap!

Attendant service in Oregon and New Jersey** (check these states)

If you're on Oregon or New Jersey then you don't pump your own fuel. In fact you're legally not allowed to - an attendant must do it for you. Unlike every other person who does anything for you in
the US, people don't usually tip them although you can if you want.

Traffic Lights & Pedestrian Crossings

Don't run over pedestrians when the light goes green

This is not just general advice (See "Drive on the pavement") - there is one trick that the US shares with continental Europe and can really freak out Brits.

You wait at a red light to turn right (for whatever reason). The light goes green. As a Brit, you gun the engine and take off. WTF? There's a pedestrian in the middle of your road!

Yes, this is somehow by design: When your light goes green, so does their pedestrian crossing light for the road across yours. So you get a green to go right and they get a green to cross the road that you're turning into - at the same time. This is by design. I've no idea why but watch out for pedestrians when your light goes green.


Americans call the orange light 'Yellow' or 'Orange' - they use 'Amber' to refer to the jewellery/resin.

There is no Yellow/Amber light between Red for stop and green for 'Go' - it goes straight to green! The first time you'll think 'Did I miss Amber? Was I not concentrating?' nope, it doesn't happen.

Amber does come between green and red when it changes and you have to stop.


America is great for parking - it's not like Britain where using your car is a crime...

Parking Meters

This used to be a 'keep your car full of quarters and dimes' but many parking meters now take credit cards - and they don't need a ZIP code either. Just find a free one, put money in / use your card and park up

Reversing in

In general, Americans don't - and they have really useful herringbone/slanted spaces to help you out. Some car parks actually have 'don't reverse park' - this is because people aren't very good at it and it's to stop bumps and scratches.

Fire hydrants / Red paint on Kerbs

Don't park next to one, even if there is no sign - you might get towed away. Don't park next to a red painted Kerb either.

'Validated' Parking

Although most American shopping parking is free (as in no cost) some shopping malls (shopping centers) do charge you - and it can be expensive, especially in cities.

Validation means that when you buy something or use a restaurant, you can ask them to 'validate' your parking - they will process the ticket so that you don't have to pay (as a 'Thank you' for using their establishment). There is often a time limit on this (e.g. max 3 hours) so check the notices


(or "I couldn't find anywhere else for it to go")

Red Indicators

American cars often have red indicators where we would have orange. Some cars have one light for the night lights, the indicator and the brake light (Americans call it a 'stop light'). It just gets brighter or flashes. Sometimes I fail to notice a red flashing light as an indicator - make sure you don't. Some cars (especially foreign makes) have orange indicators.

Racing off at the front

Contrary to movies and big 'muscle cars', Americans don't seem to do this. In the UK quite often two cars next to each other on the front row of traffic lights will see who can drive off first and fastest - especially for men.
Americans just don't seem to do this - if you rev up and take off, you'll be on your own - or maybe with a policeman. This can be useful if you find yourself in the wrong lane and at the front - it's often possible to out-accelerate everyone even in a piece-of-junk rental car if you need to move over lanes.

Drinking and driving - and beware of alcohol cans and bottles in the car

You wouldn't be so stupid as to drink and drive - but your passengers might. Don't! or at least check the state rules. Often, you can't have opened containers/bottles/cans of alcohol in the car - even if no-one is drinking them. In some states, you can't even have closed containers - any alcohol must be locked in the boot/trunk. Really! Check the state law.

Thursday, 30 August 2018

Writing Technical Documentation like Van Halen!

I write a lot of technical documentation - I've actually written three IBM Redbooks (not all on my own I must add).

Most of my documentation is for customers. Sometimes they ask for it. Sometimes it's 'Just what we do' and I can feel the agile manifesto running away in disgust. Sometimes it's so that I've got a record for future reference.

Most importantly is when it sets out what we are going to do and how we are going to do it. So we can all agree and challenge any approaches etc we don't like.

Question is - does anyone read it? If so, to what level of detail?

Some of the documentation is quite 'powerful' with big implications on some words. Architectural decisions are a great example of this.

"We will (not) encrypt the data in the database as the risk of it leaking is (not) significant"  - adding the words in italics is the difference between 'Your data was secure when we got hacked' and 'We're on the front page of the news!'.

You can run page-turner sessions where you walk through the decisions. You can ask people to read and approve (say) 5 per week. But how do you prove they've actually read it?

(And I care that they did read it - I'm not trying to pull the wool over anyone's eyes here and hope they don't notice something I've just 'slipped in')

Enter the 'Brown M&M clause' approach.

Van Halen are a rock band who used to have a rider of 'M&Ms - WARNING: NO BROWN ONES!' in their contract for performing a concert at a venue.

The rumour was that if they turned up and there were no M&Ms - or there were brown ones present, they could just cancel the concert for contract violation.

The truth was that if there were brown M&Ms - what else had the venue not read? Was the voltage and ampage correct? Could the stage bear the weight? Could they even get their trucks of equipment into the venue? Some of this stuff is important.

So if there were brown M&Ms, they assumed the contract wasn't read - and then went through and checked everything themselves as it's the only way to know. It's true - see here:

So I use the same technique. Examples are:

Data retention: In the event of the disk becoming over 90% full, data pruning will be performed of the historical order records. <Brown M&M>Customer historical records will be deleted based on reverse alphabetical order of their first names, ignoring order dates. In the event a customer has no first name, it will be assumed to be 'Simon'</Brown M&M>

Due Diligence: For every new account to be opened the following due diligence checks will be performed in the folllwing sequence by the BPMN process flow: (1). KYC, (2) KYB, <Brown M&M> (3) KFC</Brown M&M> 

(For those without a banking background, these are anti-fraud legal checks: KYC=Know Your Customer, KYB=Know Your Business. KFC is, of course, Kentucky Fried Chicken)

Both of these have passed at least one review, sometimes more!

OK, it's slightly silly and it brightens up a dull day, but does it matter? Yes it does. We all laugh at warnings that say 'Coffee may be hot' or 'Peanut butter may contain nuts**' but most people don't read most documentation.

Who reads the service agreement on public WiFi for example? There is the case of the agreement whose brown M&M is that you sign over your eldest child! Really!

If it's important, keep it short. Keep it clear. Explain it. Check people have understood it - maybe by asking them what their favourite M&M colour is!

**Peanuts aren't nuts - they are legumes...this is a subject for another day...

Why I want someone else to own my career

"You own your own career"
"You should own your own career"
"You can own your own career"

These three sentences are subtly different in words but hugely in the impact for you as an employee of a company.

Every noticed how successful sports people have two managers? (e.g. footballers).

Their first manager is the one they work for. They do what they are told by this manager. This manager hires, fires decides pay rises etc. You probably have one of these if you are a company employee. This manager works for the football club, cricket team, formula one team or whatever.

Think Jose Mourinho (Man Utd), Toto Wolff (Mercedes F1) or Christian Horner (Red Bull F1) if you like.

The second one is their manager that works for the sports person. This person finds them work, negotiates their contracts and pay rises, manages their image rights, gets them product endorsements e.g. shoes, clothes etc. Sometimes this person is referred to as their agent - for example in acting. They may have more than one of these.

The key thing here is that the sports person concentrates on the sport. They score goals. They win races. They train to score more goals or to drive faster. They concentrate on what their company is paying them for. They work on delivering business value.

They might be the best in the world at what they do - or are trying to be. Conversely, they might be terrible at managing their career. This doesn't matter - they have someone else who is very, very good at it to do it for them.

"Ah" I hear you cry: "You should have a career mentor!".

Nope - that's not the same thing at all. Does my career mentor apply for jobs for me? Do they write my CV? Do the join me in performance appraisals? Do they negotiate salary rises and promotions? No - they give advice as to how I can do that myself.

I admit I'm terrible at that sort of thing - and although I'd like to be better at it (because being better at it might mean I'd be further up the career ladder), I have absolutely no interest in becoming the kind of person who is better at it.

I want to be better at architecting, designing and implementing solutions for my customers. Faster at delivery with higher quality and better responsiveness. Better at mentoring and coaching my team. Better at driving business value. Better at making my customers happier.

So, I'm going to concentrate on that - and I'm also going to go and find someone to manage my career for me. If it's good enough for Lewis Hamilton . . .

Thursday, 23 August 2018

Garratt's first law of . . .

Garratt's 1st law of Agile states:

"Agile is a good thing. It's endorsed by major companies and analyst firms. Lots of people are using it."
"Agile projects get funding - usually for the above reasons"
"My project needs funding"
"Therefore my project is Agile"

See also Blockchain, Containers, Cloud, SOA, BPM, Cognitive...

Is your project using the right technologies and methods for the right reasons?

See also Garatt's 1st corollary of Agile:

"Having agile skills is good for my career and pays well"
"I need Agile on my CV (resumé)"
"Therefore we will use Agile on this project"

See also Blockchain, Containers, Cloud, SOA, BPM, Cognitive...

From an alternate perspective, Garratt's 2nd corollary of Agile:

"Many people and companies want to use Agile and therefore have budget for it."
"I need to sell my products and services"
"Therefore my products and services are Agile!"

See also Blockchain, Containers, Cloud, SOA, BPM, Cognitive...

Monday, 27 November 2017

The Monica Geller excuse – ‘It’s hard for some people!’

(or “The one with Monica from Friends”)

Ross: Monica couldn't tell time till she was 13!
Monica: It's hard for some people!

(Friends, Season 7, “The One with Rachel’s assistant”)

I was having a conversation with a colleague about transport level security (TLS)

“Should we use Server-only TLS or Mutual (Client and Server) TLS?”

“Mutual’s really hard – let’s do Server-only for now”

“Or we could work out how to do it the right way . .”

“Yep, right: We need to do it properly – especially with security!”

How many sub-optimal architectures, designs and implementations do we have because ‘Something was hard to do’?

This is the “Monical Geller Excuse” – not doing something because ‘It’s hard for some people”.

Don’t confuse being easy to use for the end user, which is a laudable aim, with easy-to-architect/implement/design/develop.

“Who is going to know?” isn’t a reason (See front page of the news web sites when it crashes or gets compromised). You’re building up technical debt either for yourself or those who will come after you.

See also “What are the chances of that ever happening?” (Clue: FMEA is your friend) and “What could possibly go wrong?” (See previous).

A lot of sub-optimal, or ‘bodge’ solutions are used because there is a deadline to hit. IF this really is non-movable then at least log the technical debt and fix it properly.

John F Kennedy said ‘We choose to go to the moon in this decade and do the other things – not because they are easy, but because they are hard’.

He set a deadline ‘in this decade’. What most people do isn’t rocket science.

If your excuse is ‘It’s hard for some people’ then maybe you need to get better people . . .

Booking the last 2 seats at the theatre - an alternative way of explaining ACID transactions . . .

How to book two seats when there’s only a row of three in a cinema or theatre.

(Or ‘An alternative and obscure way of explaining ACID Transaction Processing’) 

"There are ways around that!" - David Lightman, Wargames.

You go to make a theatre booking. It’s busy and seats are ‘Selling fast! Book now!’

There are 3 left for your favourite comedian/band/orchestra/throat singers – and they are together! You and your favourite person can go to see the show and sit together. Great!

The following is an anthropomorphised version of the ‘conversation’ you and your browser will be having with the theatre website: 

“L21 and L22 please”

“I’m sorry, you can’t do that – that would leave L23 free which is a single seat and they are difficult to sell.”

“That’s your problem isn’t it? There are 3 left. I want two of them. Is it harder to sell one seat or three?”

“We have a ‘no single seats left’ policy. Do you not have another friend who would like to join you? It’s only £ker-ching for another ticket  . .”

Yes, you do have another friend – and it’s called another browser, or another computer.

How to solve the ‘no single seats left problem’ 

In browser (or computer) 1:

  • Log onto the theatre website and select the 2 seats you want in the block of 3
  • Wait just at the point before it gives you the ‘no single seats’ message.

(No one will want to book three, so you’re in no rush unless anyone else knows this trick)

Now, open up a new different browser/computer - this is browser/computer 2:

This is not a separate window or tab, as you may share the same cookies/session and it won’t work. e.g. if you started in Firefox, open Chrome or Safari for this 2nd part.

(Do NOT log in to the theatre website with your account or userid/password for this part – you must buy tickets as a ‘visitor’ or ‘unregistered user’)
  • In the 2nd browser (or computer) , select the 1 ‘other’ seat in your row of three. 
  • Important: Do not pay for the seat. Do not log in. Do not enter your credit card.
  • Get as far as the ‘Your seat has been held for 15 minutes’ (or whatever) screen.


Go back to browser/computer 1:

  • Click ‘select/buy my seats’ on your original selection – and you’re in!
  • You are able to select the seats now, even though you couldn't before.You might need to refresh and re-select them on some sites, but it should work.
  • You can now pay at your leisure, book meals, donate to the restoration fund, sign up to mailing lists and all the other fun things you can do on theatre websites.

 Go back to browser/computer 2:

  • Leave the seat selection/reservation on browser/computer 2 to expire.
  • (Just close the 2nd browser, or cllck ‘release tickets’ if there is such a button on the screen.) 

Someone else can now buy the ticket. You’re not ‘locking’ that seat for the performance. It’s still available to be sold by the theatre after the 15 minute ‘reservation’ expires. If it’s such a busy show, it’ll sell anyway.

Why does this work?

The theatre website sees you using the 2nd browser as someone else trying to buy the single seat.
They block the seat out for 15 minutes for them to buy it.
No one else can buy it during this period. As far as the theatre is concerned, that seat is sold and they now only have 2 left.

To prove this, after you ‘reserve’ the single seat in browser 2, if you go back and search the site in browser 1 for tickets, you will see that there are now only 2 left, not three. You can’t ‘see’ the seat the ‘other person’ is in the process of buying.

(This is the reason you ‘cue up’ the 1st browser with your seat selection ready to go in the instructions above– anyone else looking at the same time will see the two free seats and might grab them before you do)

If some site-developer wises up to this loophole and detects that there are two browsers on the same computer (maybe by checking your IP address rather than a session cookie), simply use your phone to ‘block out’ the single seat you don’t want. Your mobile provider will have a different IP address range to your land-line/ADSL/Cable ISP and you will still look like a different person.

Enjoy the show. You’re welcome.

What does this have to do with ACID/XA transactions???

(The following refers to 'database ACID transactions' this is equally applicable to other ACID/XA transaction systems such as MQ/Messaging, Application Servers such as IBM WebSphere, Mainframe transaction systems such as CICS etc etc)

The ‘reserving the seat for 15 minutes’ is a ‘soft transaction lock’ i.e. putting a marker on that seat to say that it is selected and locked for update and that no-one else can update it (book the seat), or even see that seat to select it.

This is how database row updates work under ACID (Wikipedia) transactions. When you select for update, the rows you want to update are locked until you commit the transaction. Most databases won’t let you lock for 15 minutes though. They do, however, have lock timeouts and will unlock the row (give back the seat) if you take too long!

The ‘I’ in ACID stands for ‘Isolation’. This means that if user 1 is updating the rows in the database, user 2 can’t see those updates until user 1’s transaction is committed.

This is the same as you not being able to see the single seat in the theatre when the ‘someone else’ is booking it.

This does give us a problem in databases. If user 1 has a transaction lock on row 10 and user 2 tries to read row 10, what does user 2 see?

This depends on the transaction read settings in the client and DB engine.
Option 1: User 2 sees the row as it was before user 2 started their transaction
Option 2: User 2 gets a ‘This row is locked’ error. More likely, user 2’s request will wait until user 1’s update has finished. In computer speeds this is rarely more than a few seconds (normally it’s a few milliseconds). After that, they will see the row after user 1 has made their updates.