Author Archives: Chris

iOS – not quite the Enterprise developers’ best choice

I was recently at a conference where there was a big cheer from the audience when the vendor announced that they were moving away from a model of updating all the customer’s development/test and production systems 4 times a year, to a model of still doing quarterly updates, but updating the dev/test environment one month earlier. The crowd cheered. Wow! (The conference was SuccessConnect, the product SuccessFactors and the vendor SAP, but that is irrelevant for this particular post).

So why on earth would people want to get their software updated later? And why would such a change cause them to cheer? It’s quite simple really! Risk reduction.

risk reducer

 

Reducing Risk

To quote Donald Rumsfeld “there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know”. Whilst it’s blinking difficult to deal with the third category of “unknown, unknowns”, it’s much easier to deal with the known unknowns. In our case of software upgrades, we know that there are likely to be changes, but we aren’t sure exactly what. So having a early release in a system that isn’t critical for the running of our business, means we have the possibility to make those known unknowns into known knowns and deal with them. (hmm perhaps I shouldn’t have quoted Donald, this is getting a bit confusing! – but hopefully you get the point!)

Basically what was being offered was a risk mitigation strategy, and the enterprise just LOOOOOOVES that.

Back to Mobile apps

OK, so what’s this got to do with mobile applications? We’ll basically for mobile applications in the enterprise space we should be able to offer the same thing. I’m not talking here about applications that companies develop internally and deploy to all their staff, but applications found in application marketplaces (app stores if you will) that are used by enterprises.

Say there is this great app out there that allows you to track the driving speed and location of all your delivery truck drivers. It’s great because the same functionality just a few years ago cost thousands of dollars per truck and had to be downloaded manually each night. Now, you have it instantly and at a subscription cost of $20 per user per year, with awesome real-time reporting and everything! Great! But the reason it is so cheap is the developer is selling this software in a SaaS model. They have a multi-tenant architecture and when they make an update they update all customers at once. Now what happens if they push out an “improvement” in the user interface of the solution? Well 90% of your users will probably adjust, but 10% (or more) are suddenly going to be referring back to that print-out of the training material that you sent them getting very confused, phoning the help desk and generally finding an excuse for not doing work. Bad!

But had you known that a change was coming, what could you have done? Well, you could have updated the training material, sent comms explaining the wonderful new feature, etc.

So how could you have know this change was coming? Well the company that you’re subscribing to could have sent you some details about the change. But what if they thought that the change was so insignificant it didn’t need any comms? And  what if it’s just the particular way that your workforce use the app that means that it might need explaining? Then you are going to need another plan.

Another plan

chrome beta

In the Android application marketplace (Google Play) there is allowed the concept of a Beta version of application. Many popular applications (for example Chrome and Firefox) have beta versions of their software that showcase and test out new versions of UI and functionality.

This allows companies to test out new versions of software before their major install base start using it. And because the software is flagged BETA people know that there might be things different. It is a risk reduction strategy for not only the consumers of the software but also the developers. Win-Win!

Apple however in their app store submission guidelines: https://developer.apple.com/app-store/review/guidelines/#functionality

2.9  Apps that are “demo”, “trial”, or “test” versions will be rejected. Beta Apps may only be submitted through TestFlight and must follow the TestFlight guidelines

and from the TestFlight guidelines: https://developer.apple.com/app-store/Testflight/

External Testers (Coming Soon)

Once you’re ready, you can invite up to 1,000 users who are not part of your development organization to beta test an app that you intend for public release on the App Store.

So instead of making a publicly available Beta version they are going to restrict to a maximum of 1000 Beta testers. Not so good for that SaaS developer with over 1000 customers is it? And even then – that functionality isn’t even release to the market yet! The whole TestFlight thing was only announced a few days ago!

In summary

So back to my title – if you’re a SaaS developer and you want to help your customers by reducing your risk and theirs in the mobile application deployment space, build for Android, not Apple. If you care about enterprise, then be aware that risk mitigation is a big thing. The reality is that as an enterprise developer we need to deliver for both Android and Apple devices, but one of them is clearly more enterprise friendly in one particular respect.

Would be great for Apple to take this on-board and offer a unrestricted “TestFlight” program for enterprise software developers… We can cross our fingers and hope!

SuccessConnect 2014 – Las Vegas – initial thoughts

Mike Ettling shares SAP/SuccessFactors new commitment to inform customers

(Mike Ettling explains SuccessFactors new commitment to putting customers first)

So I’m in the lounge at LAX – the new OneWorld business lounge – it’s loads better than the old Qantas lounge, they have craft beer on tap for a start, which did lead to rather a few posts:

Which weren’t particularly related to themes I normally post on, but nevertheless probably tell you something, I’ll leave this as an exercise to the reader to speculate on what.

So whilst I’m nice and relaxed after a nice shower and looking forward to heading home, I thought I’d capture a couple of things that happened whilst I was at SuccessConnect this week, and hopefully this will also remind me to expand on them at a later time.

Firstly – customer first

The commitment by SuccessFactors to publish a roadmap to customers is a big win. And It’s not just a win for customers. As a partner it’s much easier to advise a customer when you have a good understanding of what _might_ happen in the near future. By making as much of the solution as possible accessible by the upgrade centre rather than provisioning (an ongoing effort) it removes from customers the need to engage an SI partner for what may well be just an administrative task. Allowing customers to attend the same training that partners can attend is also a great thing – so now there is a real possibility that customers can do some of their support in-house.

Why, you might ask, am I cheering this as a good thing? I am one of those partners who previously customers had to rely on to make these changes. Well, it’s really because I don’t like doing boring stuff. If as an SI all the work I do is very simple, then customers can be a little resentful for paying me as much as I would like to be paid. I see this as an opportunity to get rid of the boring work and instead focus on bringing real value through expertise. We shall see, but I’m hopeful that this is the path SAP envisages as well.

SAP a SuccessFactors company?

With Rob Enslin opening the conference, I got a real feeling of SAP being a full part of the conference, and not it being a SuccessFactors as a separate company anymore. That said, all the “Cloud DNA” was still there and it was interesting to see Lars make a guest appearance. The reaction from the SuccessFactors staff to seeing Lars was remarkable, it was all a surprise, and a nice one for most. However, Fiori making itself felt in the UI development pipeline amongst other “Simple” things shows that the “DNA” exchange isn’t just one way.

Dmitri demoing new features

Phased releases

The public announcement of a phase released of functionality, with updates being released a month earlier on the test instances of a customer is great news. This will help extension developers hugely (although ideally I’d like access to the update another few weeks before the customers get it in their test systems, but can work with this idea!) Customers too have the ability to check out any mandatory (although there are few of those) updates before they get deployed. All in all a great step forward to helping customers manage their solutions – and the spontaneous applause from the audience when it was mentioned shows it’s not just me as a developer that appreciates this.

Righto, that will do for now, Mike Ettling’s flight to Sydney has already left, and mine to Melbourne is going soon. I’ll be catching up with him and the team again for the Sydney version of SuccessConnect, but I’m so glad that I was here this week in Las Vegas, it has been great.

 

Continuous Integration vs Phased Deployment in a SaaS world

I was very interested to read some links that Naomi Bloom posted about how Workday have moved to a continuous integration deployment model rather than a phased release.

As  developer, I love the idea of continuous integration, having a set of tests that can automatically check whether the code I have built will cause an issue in production and then allow me to move it up to prod immediately. It fits with TDD and all the other cool things I want to do. Awesome!

If I were writing code in the internal development teams of Workday or SuccessFactors, I’d want the software to be CI.

However! As a developer of extensions to one of those platforms, I couldn’t think of a worse option! If you look at the “disadvantages” section in the linked Wikipedia article on CI, you’ll notice that one very important thing is to have lots of good automatic test scripts. The problem is, a vendor can only possibly run their own test scripts, they can’t run mine. (Perhaps they could run mine if such an API was built, but could they justify not deploying to prod because a little used partner extension failed a script?) So what if some change that the vendor does breaks a behaviour in my code? Well, that’s bad for me. I’d better hurry up and fix it, because all my customers are now with broken code, and the first I found out about it – when it broke. And likely I’m not going to find out until I have one of my customers complain – unless I have proactively set my test scripts to run every hour and send me a message when something breaks, in which case I’d better be ready to do emergency support 24/7. Yeah, just what I want. NOT!

This would be a huge burden on a extension provider, you wouldn’t have a stable platform to build on.

With SuccessFactors being on a phased release rather than continuously integrated to production, it is much easier for me to join in with the testing of my solution before it hits the market. I know that my customers aren’t going to get a nasty shock because something suddenly breaks/changes behaviour, because I have a window to test that before it impacts them. I also know when that window is going to be, so I can plan around it and allocate my resources. Whilst the solution might be wonderfully cloudy and elastic, my skilled pool of extension developers is definitely less cloudy and more finite and fixed.

Now it might be possible to allow partners to have an early access box, and perhaps delay CI deploys to production by a week or so to allow partners to test their code. But that is one hell of an effort that you’re demanding of your partners to do that. And as one of those potential partners, I can say I’d be thinking very long and hard about the risk you as the vendor are putting me at, and probably would decide not to go there.

I think, that in a world where purchasing 3rd party add-ons for your cloud platform will become the norm (allow me my dreams please). And where the power of the platform is driven by these add-ons/apps, having a phased release makes sense. How cool would an iPhone be without any apps from the AppStore, how good would an S5 be without apps from Google Play? They are both great devices, but they are awesome when enhanced by external developer partners. These mobile solutions have phased releases. It’s not because they couldn’t have constant updates, the tech is easily there for that to happen, but because in order to sustain the applications/application developers that make them so cool they need to provide a stable platform.

I’m really glad that SuccessFactors provides a stable environment for me to build on, as I am convinced that HCM SaaS has a huge potential to be enhanced and extended to the better use and consumption of businesses. It’s a real strength of the solution, and I am very happy to be play a part this story, and that SAP and SuccessFactors are carefully considering the needs of the development partner in this scenario.

All that said, it would be cool to be developing in a continuous integration solution, but just not for the partners building on your solution.

If all I hear are benefits, either you aren’t thinking or you are in sales

I just read

http://scn.sap.com/community/cloud/blog/2014/08/04/moving-to-the-cloud–what-the-hell-is-cloud-computing by @Kunal_Pandya

It’s a good piece about the benefits of cloud. And it does a great job of explaining some terminology. However, I came across one bit that I just couldn’t let go.

“What % of your customers are on the latest version of your software?”

If the answer is less than 100%, it is not multi-tenant.

Four times a year SuccessFactors would answer less than 100%. Why? Because some companies have paid to be upgraded slightly later than others so as to ensure that if they are any issues, they are less likely to see them.

Also within SuccessFactors customers, many would not be using the latest tools. Why? Because they have opted not to run those areas, as change management is costly and they don’t see the need, yet. Are they running the latest version – arguably yes and no, they have access to it, but certainly they are multi-tenant within the data centre.

Within the HANA Cloud Platform, one has the option to run an application/database without downtime for 6 months – it will continue to run on the version of the software that was released at the time the application was started. However, the platform is updated every 2 weeks. Bounce your application and it will pick up the newest runtime. Clearly not every customer is using the latest version of the solution. Is the solution multi-tenant? This is perhaps a harder one to answer as even within the same data centre there are different versions. However, all these versions are running within containers that are provided by the same software. So perhaps it is multi-tenant? I’d suggest that it is, but it fails the 100% on one version test.

My points here are 1) it is dangerous to make sweeping generalisations and 2) that whilst there are large benefits to moving to multi-tenant solutions, there is also a real business demand expressed in $$$ to ensure stability of solution, which is a real risk of a “true” multi-tenant solution.

The diagrams of Sven in SaaS and PaaS: a symbiotic relationship delivering enterprise value do well to show the immense value of cloud solutions over traditional onPremise model but don’t hide the downsides either.

I think it’s worth while to show two sides of an argument. When trying to convince someone to buy an apple rather than an orange, point out that the orange is juicier, but perhaps the apple has less risk of spilling juice down your shirt front when biting in to it.

I think it is imperative that if we are to be trusted as advisers to those that claim that they don’t understand #cloud (and probably those that do too) we should probably discuss the downsides too.

Perhaps that’s bad practise in sales, to point out the bad sides of your product? Perhaps why sales people are consistently rated untrustworthy? Me I’d rather not have someone accuse me of being in sales. 😉

Reader’s Digest Poll – Trusted People 2014

Gallop Poll – Honesty/Ethics in Professions

 

Intangibles, appreciating your employees motivates, performance ratings processes don’t

Sorry, here I go again. I just read Steve Hunt’s post: http://www.tlnt.com/2014/08/04/performance-management-we-wont-fix-the-problem-by-ignoring-it/

And of course I’m all worked up. Why? Two reasons.

Firstly, I strongly disagree on the premise that performance management actually achieves improvements for the employees that are being “managed”. This is using Steve Hunt’s own definition of performance management:

Standardized and defined processes used to communicate job expectations to employees, evaluate employees against those expectations, and utilize these evaluations to guide talent management decisions related to compensation, staffing and development.

This has nothing to do with motivating and improving employees. It’s all about figuring out what is the smallest amount you can get away with paying your staff.

A process that can actually help employees improve is by working with them to find out their interests, find out what they want to do and shape their work around that. This isn’t the world of Gen-X and Boomers any more. People are far more interested in making work part of their life and life part of their work. Will they do that if there is a regimented process that is going to measure them against the cookie cutter mould? No, they won’t. Because no employee is exactly alike and no employer that wants to get the best out of their employees is going to manage that by trying to shape an employee to the employers expectation. We need instead to understand the great whole of the employee’s values and use that to motivate them. An employee that is doing what they feel is valuable and feels that the company supports them in this is far more likely to perform well than one that does not.

We have the tools (in a creepy big brother kinda way) to be able to analyse far more than just our employee’s achievement of our stated corporate goals, but also the interests, engagements, networks and influences of our employees. By better understanding our employees, and then aligning our business goals with their goals, we stand so much more chance of motivating and retaining talent.

Remunerate at the market rate for the skills that the employee possesses, if they gain more skills then pay more. Or if those skills have nothing to do with your business, don’t try and hold on to someone who would be happier elsewhere. Likewise, if the desires of the employee do not align with your corporate goals, don’t attempt to force the employee to comply, you are both better off without each other. Have the frank discussion that their desires and your goals don’t align at all. If their goal is to sit and eat chocolate and drink coffee all day and you don’t have a coffee and chocolate tasting role in your company, then it’s probably not going to work out. But it is good to know this – it’s time to move this employee on. Not because they don’t do what they are supposed to do, but because they have no desire to be doing it. Be frank, you can’t get rid of them if they are doing a reasonable job, but they will never be stellar unless _they_ want to do the work.

Now, I’m sure that this approach isn’t going to work in many, if not most, industries. If you have a load of jobs that people will only do if they are paid enough to suffer through, then this approach will not work. In this case fall back on Steve’s approach, just realise you’re very unlikely to develop or retain any talent.

However, if you are in an industry where people (or at least some of them) work because they love doing the work and are enthused about being the best, then I think my approach has some real advantages. Of course you will get and hire bad apples. This is where I believe performance management comes in. You now attempt to manage that person out of the company and ensure that you are not at legal risk by following a clear process. I’m sure there are risks in only performance managing those you’d rather have leave the company, but there are certainly rewards too.

And now to my second point of why I’m unhappy with this article. It was written by someone with the job title Senior Vice President of Customer Value at SuccessFactors/SAP Cloud HCM

If this is what SuccessFactors believes will drive more customer value, then I’m very worried that innovative and alternative approaches to making talent management work are not likely to get a great reception.

I strongly agree with Steve that we need to find out and measure how well our people are doing, but that does not need to be against a defined set of company goals, but against an slightly less well defined set of individual personal goals that the company can hopefully align with and benefit from. I believe that the next step for talent management solutions like SuccessFactors is to help employers with the analysis of who their employees are and what they want. Then use that information to help align both the business’s needs and the employee’s desires. It’s a huge technical challenge but we have to start somewhere. By at least acknowledging that there might be better ways of doing things rather than just dismissing them, we’d be making a first step in the right direction.

Companies that start to embrace the holistic view of the employee rather than the company centric one will, I believe, start to reap the rewards.

I could well be just dreaming, but at least I’ll be dreaming with some of the most motivated and enthusiastic people around who are all trying to achieve their goals in my company.

 

 

On being a dodgy international business empire

Recently I got an email from a company that I hadn’t heard of with an invoice for a month of electronic fax services that I had supposedly signed up for.

Now normally these sort of emails go directly to my spam folder and never see the light of day. But this one rang a bell and also they claimed to have my credit card details and were going to debit automatically!

You see, I had signed up for a service similar to the one mentioned (the ability to send faxes via email) but I certainly hadn’t agreed on any sort of monthly service fee. What I had signed up for was a pay-per-use fax service. If I needed to send a fax, I sent an email, and the cost of sending the fax would be debited from my credit card. But that wasn’t this company, or the service I was being billed for.

A trawl through the unread emails in my inbox found another email from the company now trying to bill me. It seems that they had purchased the small Australian company that I had previously made an agreement with, and had “upgraded” my account to one with a monthly service fee.

So unilaterally they had changed the terms and conditions of my agreement, and only given me notice of this through an email (that very much looked like spam marketing.) It seems that they also had sent another email which came from the company I had an agreement with, but had spoofed the from address – so I had assumed it was spam.

The biggest problem – the company I had originally had an agreement with had passed on my credit card details to this mega-corporation ( just type email fax into your favourite search engine, they’ll be at the top – and probably own the other top ten results too, it seems they are pretty much cornering this business.) So now they had my credit card details and were going to bill me.

Fortunately for me, the credit card I had used for the original service has been cancelled for some time – somewhere along the line, its details were stolen and it was used fraudulently which HSBC thankfully informed me about and I cancelled the card.

So I’m now having a nice email exchange with mega-corp asking them kindly to stop invoicing me for services I did not sign up for and have no intention of paying for. Also asking them to immediately and retrospectively cancel any service that they believe I have signed up for. Whilst they keep asking me for new credit card details (like that’s ever going to happen!) I’ve read on other forums that they can get pretty nasty about this, bringing in debt collectors and the like whilst not cancelling the service and invoicing more and more. So we’ll see what happens.

This said, the nice lady I spoke to when I phoned their customer service department was quite helpful in apparently arranging cancellation of my account. We’ll see how this pans out.

This raises for me some concerns. How is it that a company can be purchased and the new owner is able to make unilateral changes to existing contracts? Surely that is illegal? If not – it should be!

How can an email sent from a different domain than the purported sender (in this case an email from support@faxmate.com.au was sent from cpro30.com) 1) not automatically be assumed to be spam marketing/phishing 2) allow or justify unilateral contract modification.

Should it be legal that a company that purchases another automatically has access to all the purchased company’s records including customer credit card details? I guess to a certain extent that this has to be the case, but in the case where an Australian company is purchased by an international shouldn’t there be some protection about our personal details suddenly being transferred overseas?

I’m glad my credit card was already cancelled, but I’m sure there are many others out there right now in Australia who are trying to figure out whether or not to just pay a few dollars or fight this seriously dodgy business process.

 

 

Scaling or cropping profile images into circles when the source isn’t a square

WARNING CODE AHEAD

<geek>

It took me probably too long to figure out how to do this so I thought I’d share.

circles

To do this in a way that most browsers support wasn’t so obvious (to me).

in the end I did it by (approximately):

HTML

<div class="profile-image" style="background-image:url('profile-img1.jpg')">
 <img src="profile-img1.jpg">
</div>

CSS:

div.profile-image {
 width: 47px;
 height: 47px;
 background-repeat: no-repeat;
 background-position: center center;
 background-size: cover;
 overflow: hidden;
 border-radius: 23.5px;
 -webkit-border-radius: 23.5px;
 -moz-border-radius: 23.5px;
 box-shadow: 0 0 4px rgba(0, 0, 0, .8);
 -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .8);
 -moz-box-shadow: 0 0 4px rgba(0, 0, 0, .8);
 border-radius: 23.5px;
}
div.profile-image img {
min-height: 100%;
min-width: 100%;
 /* IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
 /* IE 5-7 */
 filter: alpha(opacity = 0);
 /* modern browsers */
 opacity: 0;
}

The image tag is in there so it’s still possible for the user to interact with the image, i.e. save it if they want, but it is made see through.

So the user “sees” the background image which is positioned such that it covers the div, so all of circle will have content, and the middle bit of image will be shown. The circle is made by making the border radius half the width of the div.

The important bits were the “background-size: cover;” and the “background-position:center center;”

Obvious when you know how.

</geek> (as if!)

 

credits to : http://stackoverflow.com/questions/11552380/how-to-automatically-crop-and-center-an-image for the inspiration!

#SAPPHIRENOW what it meant to a developer

I make no secret that I love developing. My favourite job title is “Chief HR Geek”, I adopt others as the need arises, but as a real in the dirt developer, content is always more important to me than flashy styling.

That’s why I was one of the only attendees at SAPPHIRENow 2014 wearing shorts. It’s fricking HOT in Orlando in June, wearing a suit?! Are you kidding me?

But it’s worth noting that to most businesses in the first instance, flashy styling is worth more than content! BUT – flashy styling with content, that’s awesome.

Fiori

With the announcement of Fiori being available as part of standard maintenance (yar boo sucks to those companies who’ve decided to skip SAP maintenance and have a third party do it) there comes the possibility of a double whammy of flashy styling and good underlying content.

The demo of a CFO drilling down in real-time to underperforming or problematic areas of the business and analysing why was compelling. I think Robbo has written about this as the killer app for HANA. I think he might be right.

But the key thing for a developer here, was the front end that this was achieved with, wasn’t a Business Objects add-on, wasn’t some WDA functionality. It was SAPUI5 over an OData layer exposed by Gateway.

If companies are going to be able to adopt these applications – and more and more of them are coming – there is going to be a clear need to support them.

Using tooling to build UI5 apps using ABAP won’t cut it

Whilst there are some amazing frameworks out there to help migrate stuck-in-the-mud ABAP developers across to building UI5 app, this does not help when there is a need to extend a standard Fiori app. Developers will need to learn JavaScript (or more properly ECMAScript, but that’s just me being pedantic.) If you can’t code JavaScript and refuse to learn, start calculating your redundancy payout because that’s what you’re going to be worth to your company. Alternatively, brush up on your SQL skills – and you can start writing some of the pushdown code for HANA. Either way, ABAP is going to be complementary to either DB manipulation or front-end display, but not a stand-alone skill set.

Fiori extension points

Did you know that many (not all!) Fiori apps have built-in extension points? You can use these to substantially alter the behaviour and appearance of the app. But to do so, there is something you should know – guess what? JavaScript!  Whilst the RDE (fingers cross for R to start meaning Rapid in near future) allows for some pretty amazing WYSIWYG modification to apps, the likelihood is that some form of developer intervention will be required. At the very least someone is going to have to figure out if the business requirement can/can’t be met using this simple customisation. And what skill set is going to be needed to figure out what those extensions can/can’t do? Yep you guessed it, JavaScript.

In Summary

For once I’m going to keep to a simple post without the detail that me as a developer I love so much. Because I want to emphasis this message.the future is fiori

I’m eventually learning to understand, unless you have flashy styling (Fiori), it doesn’t matter how good your content is (HANA) you can’t sell it. Combine the two together, and you have something that will change the marketplace and means developers need to change their game.

Perhaps if I ever attend SAPPHIRENow again, I’ll compromise and wear my jeans.

 

To rank or not to rank, ‘cos that won’t work in the real world will it?

Following up on my recent post about Stack Ranking:

Vijay was puzzled by how I thought that a system that didn’t rank or rate employees might be extended into larger organisations.

Firstly I’d like to expand on the assumption there that it is easier to do in smaller organisations. Why might that be? The obvious reason is that instead of writing down and ranking employees in a systematic manner you are instead doing this in your head – and that is the basis on which you manage your employees, their compensation and rewards.

I’d like to say this isn’t what I’d like to do, it may well be the case in many smaller organisations where they have rejected the performance review process, but it’s not what I’d want. So some ideas about my blue sky ideal fluffy HR world:

Why do we currently use performance review results for?

  • succession and career development,
  • workforce planning(?),
  • compensation reviews,

I’d suggest that the use of review results in workforce planning is a dubious idea at best, but it really comes down to why we use it in succession and career development. We use review results to rate the behaviours of our employees and to generalise as to whether they are capable of better things. I’d suggest that because a person is good at their current job is a pretty poor indicator of whether they will be good in a more demanding/different job. You will have heard of the “promoted to their level of incompetence” Peter Priciple. This can only happen if one relies on the ranking/rating of the employee’s current job as a predictor of performance in the next. What if instead we were to look at the skills that the employee is gaining/exhibiting in their current role? Do they have the ability to explain a complex idea? Can they present well to executives? Do the work well in diverse environments? Do they speak French? Whatever! but quantify in yes/no answers (any kind of ranking is difficult to assess) the skills that the employee has. Use these skills along with a description of the higher level role (broken down by the skills required) to decide if the employee is ready for promotion, and or needs more training/experience to carry out their current role better. Use that to manage their career progression and training. It’s going to make your workforce planning a lot easier too as you can start looking at how to get from A to B in a realistic way. If the employee is performing badly in their current role, but has all the skills required for that role, either there is a bad mapping of the skills or the employee is demotivated and attempting to address that via a performance review is unlikely to help…

Finally, the old nugget of compensation and remuneration being based on performance. It seems the fairest way of doing things, good performers get more, bad ones less? Fair! However, beyond a certain level, higher pay does not bring higher performance. It may well help keep your top performers from being poached by the competition. But in my experience, top performers are motivated far more by the work that they do, the level of autonomy they have, the respect they command and their ability to pursue their vision than the dollars they earn. Yes there must be a certain base (other people will not respect you – there are cultural mores around higher performers having more cash (unless you’re a Tibetan monk)). But after that base is reached the motivational payback for cash increases diminishes. I know from my experience my team would much rather have the opportunity to travel to Las Vegas each year to attend SAP TechEd rather than take that as a cash bonus. Why? because we’ve got that discussion about salary and divorced it from performance. I expect good to exceptional performance, but I’m not going to mess with your salary if I don’t get it. Why because not giving you a pay rise won’t improve you.

Perhaps this is where Vijay sees my scheme not working in large organisations, perhaps where you know you will be dealing with poor performers and an expectation that performance equals cash, you have to have a system in place. My point is not to refute that, a system must be in place to provide performance management of poor performers, my point is that giving a rating to anyone isn’t really helpful and those things that we use it for can and could be better managed in other ways.

I hope that clears it up a little 🙂

Stack ranking, one of the worst ways to approach an already flawed idea

There’s a pattern here, Vijay posts up something on HR and I feel compelled to reply but end up writing far more opinionated rubbish than I should…

http://andvijaysays.com/2013/11/26/stack-ranking-it-doesnt-have-to-be-evil/

Nice post Vijay! But I will disagree.

Comparative employee rating (also known as stack ranking, vitality curves, rank and yank…) does not IMNSHO lead to useful or helpful results. In the case where enough employees are available to make bell curves a statistical likelihood (which I think would mean a huge number of employees and a huge variation in management and employee prowess which would most likely indicate a failed recruitment process, rather than a diverse company) then the likelihood that it would be possible to accurately compare one employee with another is very limited, Stack ranking only (doesn’t) works when it is possible to compare the employees. Which means the employees likely know each other, which means it’s probably in their own interests to screw each other’s performance. Check out the well publicised story at Microsoft – http://www.vanityfair.com/business/2012/08/microsoft-lost-mojo-steve-ballmer – under heading “The Bell Curve”.

“If you were on a team of 10 people, you walked in the first day knowing that, no matter how good everyone was, two people were going to get a great review, seven were going to get mediocre reviews, and one was going to get a terrible review,” said a former software developer. “It leads to employees focusing on competing with each other rather than competing with other companies.”

As I have previously mentioned I think the whole idea of performance reviews and ratings does nothing to help the employees, rather it just helps identify where good and bad management is occurring in the organisation. When we start linking review scores to payment, it gets even worse. Why? Because employees then start linking (even more strongly than they do already) their salary with their perceived self worth. Then when for whatever reason a large pay increase is not possible, the employee values themselves less. In the worst cases of this I have come across organisations where the employee contracts state that a performance review rating of 5 equates to n% of salary bonus payment, whilst a 4 is slightly less, and so on. The organisations have fixed salary/bonus budgets, so in order to pay out, they adjust the employees’ performance rating down (very rarely up!) so that the budget is met. Excellent employees are told that they are just “good” because there isn’t the budget to pay them if we tell them that they really are excellent.

I believe that there is a place for strongly objective reviews of employees, it’s the dark side of performance management. It’s that work that you need to do to be able to fire a disruptive or underperforming employee without having your arse hauled through the courts for unfair dismissal. Probably not an issue in the US I hear, but certainly a consideration in countries where the law is a little more friendly to employees. However, to drag all employees through a similar procedure when you don’t intend to fire them in the end, is not ideal methinks.

crystal ball

 

Peering into the future, short and longer term

Given my thoughts (and of course I haven’t a lot to back that up) that the only real positive value of current performance reviews is to evaluate the effectiveness of the management teams, I suggest that we remove the soul crunching and mainly pointless reviews and replace them with alternative ways of checking manager effectiveness. Google appears to have been doing a good job of this with its Project Oxygen and 360 reviews of managers – read the excellent HBR article http://hbr.org/2013/12/how-google-sold-its-engineers-on-management an excerpt which quotes one of the Google manager which illustrates the value of the program is below:

“I was surprised that one person on my team didn’t think I had regularly scheduled one-on-one meetings. I saw this person every day, but the survey helped me realize that just seeing this person was different from having regularly scheduled individual meetings. My team also wanted me to spend more time sharing my vision. Personally, I have always been inspired by Eric [Schmidt], Larry, and Sergey; I thought my team was also getting a sense of the company’s vision from them. But this survey gave my team the opportunity to explain that they wanted me to interpret the higher-level vision for them. So I started listening to the company’s earnings call with a different ear. I didn’t just come back to my team with what was said; I also shared what it meant for them.”

This approach appears to be working at Google. Perhaps too well! A Google full of managers rather than leaders would be almost as bad a place to work as Yahoo for me. However, the concept of 360 reviews providing actionable areas for improvement, I think, is something that isn’t quite so blue sky. This is an idea we’d be better off implementing right now. I think there is a clear difference between “management” telling you that you could do better in areas compared to the team that you manage telling you that you could improve.

Looking to the longer term, I think it will not be far off where we can use data that we would not have considered analysing previously (social network graphs, semantic and sentiment analysis of work communication, external to enterprise group and social sentiment, etc.) to give us hints as to whether employees are more or less productive, motivated, stretched, likely to leave, etc. What is more, predictive analytics will improve in the HR space (hello HANA and comparing huge sets of data across multiple organisations available due to SaaS set up of the HR tools and therefore comparable data sets). We should start to be able to get that data and the predictions about how an employee is going to act in time to do some real time/preventive management (hopefully). This is going to be far more valuable than the formalised soul destroying performance appraisal process happening once every n months.

I’d go as far as to suggest formal reviews only exist because we have this feeling that we need to have something “objective” to use to manage our people. However, in reality the best/happiest/most productive workplaces are going to be those where the subjective views of the employees are that they are being well and fairly treated. I think we can do an awful lot more in our workplace to help our employees be happy and productive. And most of that improvement isn’t going to come from paying our employees more or telling them where on a scale of 1 to 5 they scored this year. Perhaps we like to think that an objective review feeds a subject view, I don’t think it does (or if it does, it’s rarely going to be positive.)

Edit – to try to clarify a few points here I wrote yet another post  To rank or not to rank, ‘cos that won’t work in the real world will it?