A little knowledge is a dangerous thing
More than ten years ago I left the employment of a large German software company and ventured out into the exciting and scary world of the independent consultant.
As web technologies, browser capabilities and my own skills have improved I have been able to build more and more sophisticated user experiences for a wonderful group of clients. I was also lucky that my interest in delivering web UI’s out of the ABAP stack coincided with the emergence of the SAP Developer Network. I learnt so much from the many blogs and forum posts of people like Brian McKellar and Thomas Jung.
Strangely I found it difficult to convince other developers of the value and benefits of building applications that leverage the Internet Communications Framework (ICF) and the Business Server Page (BSP) programming model.
I found when I mentioned BSP’s people would roll their eyes, mutter under their breath, and generally disparage and discount my views. It took me a while to figure out why. I genuinely wanted to know if I was right why were so many people wrong, and if they were right how could I be so wrong?
Then one day I spent some time with one of the “BSP doubters” who was also an experienced SAP developer and discovered why she thought “BSP was awfully complex!” Not surprisingly it turned out we had completely different perspectives of the ICF and BSP framework.
I had come at it looking to build completely new user experiences and she had come at it having to support the rollout of the SAP CRM WebClient. Whereas I found a toolbox full of things I could use to build new things, she found something already built that she had to understand and then master. I found something that tickled my imagination; she found something that mandated how things needed to be done.
When she took me through the WebClient UI Framework I quickly saw the source of her frustration. It looks great on paper – a nice layered approach with clear separation of concerns. And the complete solution from persistence through to UI is delivered by SAP.
To support the customisation of the user interface to suit the business needs of each customer SAP provides a set of framework tools.
As you can imagine it takes a bit of up-skilling to learn how to use these tools, and how to make the best choices about implementing new functionality. Even the interestingly named “Easy Enhancement Workbench” has anything but an intuitive user interface. On top of that for many developers SAP CRM was the first time they had been forced to come to grips with object oriented ABAP as well.
Because my friends’ only experience with BSP was through the prism of the SAP CRM WebClient she had not had the opportunity to drill down deeply into the underlying technology to see the potential that I could see. Similarly because I had not previously seen the richness of the CRM WebClient and associated tools it had not even occurred to me that others would find the ICF and BSP to be so complex and difficult to work with.
Here’s the rub. Both of us were regularly consulted about options for web user interfaces and both of us were slightly delusional about our knowledge. My lack of knowledge about the SAP CRM WebClient meant I tended to trivialise what might have been quite extensive modifications. My friends’ lack of deep understanding of the capabilities of the ICF meant she tended to find mountains amongst the molehills. And all this was detrimental to our customers.
In the past couple of years some new labels have been coined by SAP; labels like SAPUI5, OpenUI5, NetWeaver Gateway and Fiori. There is a lot of customer interest in what these things can provide – especially those customers looking for a better user interface for their users. But these customers do not – and should not – have to understand the deep dark workings of these pieces of technology. For example, a few months ago I ran a workshop with about 20 attendees all from current SAP customers. The job titles included things like ‘IT Manager’, ‘SAP Manager’, ‘Senior Developer’ and ‘Development Manager’. They openly admitted they didn’t really understand what NW Gateway, SAPUI5 and Fiori were and asked me to explain this to them.
SAP customers will rightly look to people like my developer friend and I (and you) to advise them about what these technologies bring to the table and their relevance.
When it comes to giving advice I think there are two important things that need to be remembered.
Firstly, it is important to take every opportunity to learn about something if we are going to be advising others on that subject or we expect to be working with it. Simply reading the brochure is not enough if you want to be a trusted advisor. You need to know your stuff.
Secondly, it is important to be prepared to say “I don’t know” if you are asked about something you are not an expert on. Do not try to wing it. It is far better to say “I am not sure about that, but let see if I can help you find the answer”.
Isn’t that what you would expect from your trusted advisors?