Only Jesus Gets a 5

0

I was in a meeting on Friday where a number of developers were ranking in candidates for a position. The rating scale was a 1 to 5, and every candidate, even the ‘best’ ones only got a 4.5, why because “No one can earn a five”. Why is this ever an issue, why have a 1 to 5 scale when your never going to use 5.

jesus_christ_superstarThis is annoying when your reviewing a candidate, but when this creeps into performance reviews that is a huge issue. One of my friends told me a saying from a former boss of theirs when asked why they never get a 5 in a performance review, “Only Jesus Gets a 5” was his reply.

By the way in case your wondering this picture of badass Jesus is from Jesus Christ Superstar a rock musical, with Ted Neeley portraying the 5 star man himself.

There are a lot of excuses to why people arbitrarily limit the top of the rating scale, and I feel if they do that they should also limit the other end with the logic of “Only Satan gets a 1”.  A little bit latter I’ll go over why the logic of this is a bad motivator.

First I’d like you to think about that logic for a second and apply it to other facets of your life. How would you feel with this replies to some important and common events:

“I’m sorry you can’t get an A+ because no quiz can be completed perfectly”

“You can’t get a max credit score, as everyone has made a bad decision with even a small amount of money”

“I know your entitled to a $1,000 refund but your getting $800, why because the IRS said so”

“Amazon order for 100 Canned Unicorn Meat stuck at 93 out of 100, why because who the hell needs 100 cans of Canned Unicorn Meat?!?!?”

If you can never get a 5 out of 5 then the scale is 1 (or Zero) to 4, 4.5 or 4.9999999999. This can be innocuous in many cases, but when a potential raise or bonus relies on it then it’s time to get serious.

So what are some of the reasons why people thing this way.

  1. It gives people a goal to shoot for as there is always room for improvement
  2. No one is perfect
  3. The question or task can’t be completed fully/perfectly
  4. Its my opinion
  5. I want to control costs in my business unit by keeping bonuses/raises to a minimum

Lets go though these and I’ll give my answer to them.

#1 It gives people a goal to shoot for as there is always room for improvement

No it doesn’t. People will very quickly learn that you don’t ever give out 5/5’s and will say to themselves “4/5, nailed it”. You can’t perpetually Carrot on a Stick people, especially in such a transparent way. Lets say you have a goal where a developer need to write unit tests for their code. The developer, by the time of the review, has 100% code coverage. Do you A only give them a 4/5 or B give them a 5/5? The answer is pretty clear if your being honest. How do you get the developer to grow? Well add a new goal (have 50% of your code integration or approval tested).

This is a very easy conversation to have with someone. “Man Sam, you rocked the unit testing goal this year good job, 5 out of 5 man. Now the goal for next year is 100% unit test coverage and 50% integration test coverage, you ready?”

The person has met the goal, feels accomplishment, gets a reward and continues to evolve and grow.

#2 No one is perfect

Correct no one is perfect, but based on that your measuring imperfect people. I don’t know about you but I’ve never reviewed Jesus and I never will be. So based on that 5 stars is the max for a normal human. Now if I do ever work along side Jesus I would be pretty stoked to get a 4/5, as I think he’d blow the curve up for everyone else.

Objectively this doesn’t make sense. If your reluctant to give out 5 out of 5’s then chances are your being to unreasonable. Nitpicking is toxic to a organization and if your getting to the level of “man Tom’s performance was stellar this year but he did miss 2 days in April last year with a blown sphincter so I have to dock him”. It’s time for some introspection, and to give Tom a donut pillow.

#3 The question or task can’t be completed fully/perfectly

Then this isn’t’ really ratable in a fashion like this. Think about a Yes/No evaluation for it. Or 2 stars incomplete and 5 stars complete. If it can’t ever be complete then frame it as “was it completed or answered satisfactorily?”.

#4 It’s my opinion

Your totally entitled to your opinion, but you have to back this up with objective facts. This should be something you can justify within seconds of thinking it and convey to the person. “Sally I gave you a 4/5 on this because you were rather aggressive in some design meetings this year”. This is good, but “Sally you got 4/5, why because I said so” is not.

#5 I want to control costs in my business unit by keeping bonuses/raises to a minimum

You are a bad human being and an even worse manager of people. You should look at a career path as a test crash dummy or as taste tester for a formaldehyde production facility. If the company can’t afford raises or bonuses then communicate it to your people well in advance of reviews. People have a decent opinion of how well they met objectives and may be planning on that raise or bonus. You not giving them a good evaluation and not giving them a raise or bonus is a double whammy.

This could easily turn into “why bother, I tried my best met the goals and I still got a 4/5, time to head over to Careers 2.0”. An open, honest and slightly uncomfortable conversation with your employees can go a long way.

Thanks for reading and happy reviewing!

Azure Dashboards: They need to get better

0

I’ve never really taken the Azure Dashboards seriously, or the Metrics page really. For the uninitiated the Dashboard and Metrics pages inside Azure are views into your Cloud Service, VM, Web App, etc. They give you some key metrics about the resource utilization or performance of your service.

2015-03-30_14-34-50

Great right, well personally I’ve always felt it as an incomplete picture. For example on Cloud Services I can’t get Memory Utilization, really Azure no memory utilization? It’s also relative to all the items in the chat, so a chart with 5% may be toward the top if none of the other elements push the max value much higher. This is configurable, instead of using Relative you can use Absolute. But that’s pretty useless if your mixing metrics, for example if you have Disk Read Bytes and it’s 500 it’ll push the chat to 500 and your 50% CPU utilization will be at the bottom.

But one important metric CPU utilizing is something I needed to pay more attention to. You can’t track history out more then 7 days which is rough. But if you can eye-ball it you can get a general feel. For example Resgrid has a Cloud Service Worker Role, if I had to extrapolate it’s CPU graph over 2 years it’d look like this:

chart1

If you have resource utilization increasing over time in a linear fashion like this it’s your metrics shouting “Huston you may have a problem”.

In our case there were some data points that could have been causing the issues. As our customers use the system our data footprint grows, new calls, new actions, new staffing levels, etc.

Every month our worker process would utilize a little more CPU. After a little bit a work and little RedGate ANTS profiling we narrowed down, when we were auto-closing calls we were pull all calls (Closed, Cancelled, Unfounded and Active calls) instead of just active ones.

So some slight tweaking we got to here:

2015-03-30_8-03-10

This is what success looks like, from ~47% CPU utilization to around 15%. PROTIP for Worker Roles don’t let them get past 50% utilization, Azure will just assume there are failing and it will constantly restart it.

The Azure Dashboard and Metrics screens need to give you more then just 7 days, 7 days isn’t enough to establish trends, they also need to give you memory utilization. Hopefully the new Azure Portal will help with some of this and hopefully Microsoft will give Cloud Services some love.

Resgrid is a SaaS product utilizing Microsoft Azure, providing logistics, management and communication tools to first responder organizations like volunteer fire departments, career fire departments, EMS, search and rescue, CERT, public safety, disaster relief organizations, etc. It was founded in late 2012 by myself and Jason Jarrett (staxmanade).

Xamarin: Forms or not to Forms

0

If your starting to look at Xamarin for mobile app development your quickly going to ask yourself one question, should I write my app in Xamarin Forms or regular Xamarin? It’s not as easy of a question as you might guess.

tumblr_inline_mxaqdhiz3J1qzumo9First what is Xamarin Forms? Xamarin Forms is a UI abstraction layer where you write the UI in XAML or C# and it’s translated into corresponding native controls. This is a façade or abstraction allowing for a common, uniformed way to create platform specific controls.

You may think it’s a clear cut case, but as anyone from Xamarin will tell you Xamarin Forms is not the future for all apps. Xamarin Forms will not replace normal UI development, instead it’s a totally different path for different needs.

The one caveat is that Xamarin Forms is very new and is changing all the time. Almost every update will break existing code somewhere and there are bugs that you will run into. Don’t start using Xamarin Forms and expect a mature development platform.

Use Xamarin Forms If:

  • You want a common set of controls that are cross platform
  • You want a common look and feel for your app on all platforms (you can write platform specific UI renders/controls but your going to be fighting the platform)
  • You want a common theme for your app
  • You don’t really want platform specific look and feel
  • You don’t want low level/high customizability controls
  • You don’t want to use the native UI designer for each platform

Xamarin Forms is a great solution for building cross platform data/form centric UI’s, for example Line of Business Applications with CRUD style entry and visualization. For Resgrid Connect app we will be utilizing Xamarin Forms and Xamarin Forms Labs. I’ll be writing about that more in the future as I dive into Xam Forms development.

Resgrid is a SaaS product utilizing Microsoft Azure, providing logistics, management and communication tools to first responder organizations like volunteer fire departments, career fire departments, EMS, search and rescue, CERT, public safety, disaster relief organizations, etc. It was founded in late 2012 by myself and Jason Jarrett (staxmanade).

Go to Top