The business value of reusability

Reusability started in terms of computers and programming but has far wider business ramifications.

Reusability can lead to massive time savings, cost reduction and huge productivity leaps.

What is it? How can you leverage it?

Let’s go through it.

  • The Basics
  • When should you apply reusability?
  • Reusability in IT terms
  • Wrap up

 

[read more=”Read more” less=”Read less”]

The basics

The concept

Maimonides
Image from Wikipedia https://en.wikipedia.org/wiki/Maimonides

Attributed to the medieval Sephardic Jewish philosopher, Maimonides, “Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime.”

The essence of reusability is encapsulated in this approach.

 

 

 

 

 

Is it easier, business wise, to just solve today’s problem, or do we take the harder longer road to have much higher yields?

For those in the IT industry, the term has been widely adopted.  Defined by Wikipedia as: In computer science and software engineering, reusability is the use of existing assets in some form within the software product development process; these assets are products and by-products of the software development life cycle and include code, software components, test suites, designs and documentation.

 

How it works in general

I love to use my analogies.

A fast food restaurant which is part of chain of restaurants.  A person goes into the bathroom and slips on the floor.  The fall causes them a serious injury.  They sue the restaurant and win the court case. Now what to do?

This issue is dreadful.  It shouldn’t have happened but accidents do happen.  All part of the moving parts of life.  How do management and staff deal with the issue going forward?

 

Teach a man to fishThe “feed a man a fish” approach says, just pay the person off.  It shouldn’t happen again.

The “teach a man to fish” approach says, we need to improve the processes and approach to bathrooms.

It boils down to the attitude and approach of the people in the business.

 

Reusability says if we have a better system in place it shouldn’t  happen again.  Steps like:

  • provide training for staff and management to better look after bathrooms,
  • put in regular cleaning rotas to check the bathrooms,
  • advise customers to be careful,
  • put locks on the bathrooms till they can be checked before use.

There are a host of possible solutions.

  • Are they cost effective?
  • Are they possible?
  • How likely is this to happen again?

 

Reactive vs. Proactive

This restaurant accident example is reactive.  Something happened, so we need to do something about it.  Proactive is looking around, seeing what happened to others in a similar situation and doing something before it becomes an issue for your business.

As a manager you have a responsibility to your business.  A business is the living embodiment of the people who work in it.  You are the business eyes and ears.  So what do you have to do?  Depending on the time available you have 3 areas to review.

The first and easiest area is to read the news.  Not all the details.  Not all the write ups or blogs.  Simply the headlines and identify in them people in a similar situation to you.  If an article does crop up similar to yours how would your business handle that situation?  Congratulations, you are now a proactive manager.

If you have a bit more time on your hands, go read journals and magazines and blogs of people who are in a similar field to you.  Their life experiences and scenarios help you better plan your pro-activity.  Let their eyes, ears and words be an extension of yours.  You don’t have to read all the detail, just the headlines to ensure its semi-relevant.

The final area is market research.  In order to get people to buy their product the internet is a great place to read up all about what your competitors are doing.  What are they doing or not doing?

Personal approach

The news apps on my phone

Personally I take time out of a morning to spend 20 to 30 minutes scanning the headlines of news apps.  Just a quick scan.  I’m Irish so for relevance to me I use RTE, BBC, NBC, Fox, CCN, ABC and Reuters news apps on my phone.

I’m just scanning for semi relevant material which may involve my clients or my industry.  My target market is the US so review there is also important.

Some areas are more relevant than others, e.g. I’ll spend more time in the business sections than in sports, lifestyle and entertainment sections.

I share (forward by email) the articles to my colleagues if there is relevance to their roles.  They are another set of eyes and ears and they can ignore the material if they deem it not relevant.

Here is an example article I picked up from NBC today on mental health https://www.nbcnews.com/better/health/adults-need-recess-too-here-s-why-you-should-make-ncna887396

 

When should you apply reusability?

The Man who says he can, and the man who says he can not.

Which approach is right, one off fix or long term fix? Both are.

As Henry Ford said “Whether you think you can or think you cant, you’re right.” which later became attributed to Confucius as “The Man who says he can, and the man who says he can not.. Are both correct”

You can argue that the incident is never going to happen again therefore investing time and effort into a long term solution is overkill, wasteful.

You can also argue that if the incident happens again and we didn’t plan for it, then not only are we negligent but missed an opportunity and wasted money.  The second time, we will still have to pay out and then we’ll put a long term fix in.

Thomas Fuller
From Wikipedia https://en.wikipedia.org/wiki/Thomas_Fuller_(writer)

Thomas Fuller’s, 1732, expression “a stitch in time may save nine” is worth considering as part of your decision making process.  However a more robust approach is required, than just your gut feeling.

 

 

 

 

 

 

Within reasonable means

In IT there is a wonderful security caveat “within reasonable means”   You’re not going to be able to mitigate every risk but which ones can you actually get around to?

The security manager of bxp software Thomas Glennon has been through many security audits, reviews and explorations with me.  The most important work we’ve done together is generating a “risk register” for our business risk and for our clients’ use of solutions.

  • The sun releases a solar flare, how will the data remain safe?
  • There’s a hurricane will the data centre and the data survive?
  • Godzilla strikes what protection on the data is in place?
  • Terrorists in hang gliders with grenades attack the data centre will the data be safe?

Wow was the only word for the eye opening world of risk management. Godzilla… really?

 

Your business Risk Register

It is prudent to sit down and write down everything you can think can go wrong.  Use all the news and other information collected, to think up all that can go wrong.  This is called your risk register and the whole business contributes to it not just the security manager and CTO.

Likelihood: Put a score of 1 to 5 on it on how likely it is to happen.

Impact: If it does happen, put a score of 1 to 5 on how badly it will damage the business.

Risk score: Multiply the scores up and you now have a priority list.

Item Likelihood Impact Risk Score
Godzilla 1 5 5
Hurricane 1 4 4
Solar Flare 4 5 20
Terrorists 1 5 5

Which one should you plan for first?  You will only be able to get around to some of these not all.  Which ones can be solved “within reasonable means”?

 

Reusability in IT terms

The calculator

When you start to learn to program, you will be given basic challenges that build your skills.

Write a program that:

  1. puts “Hello World!” on the screen.
  2. adds two numbers together and outputs them to screen
  3. take input from a user
  4. read two numbers as input
  5. ask for two numbers as input, adds them together and outputs the result to screen
  6. allow two numbers as input, take in a mathematical symbol, perform that maths and outputs the result to screen
  7. support reading of many numbers, a mathematical symbol, perform that maths and outputs the result to screen

Congratulations you just built a calculator, from scratch.  After 4, 1 hour lectures you should be able to do this level of coding in pretty much any programming language.

It’s nothing new, so why are you learning to do it?  Well, you’re learning skills.

What happens when you’re finished?  Well, you delete the code and know you can rebuild it when you need it.  Usually.

 

Libraries

A snapshot from Visual Studio Code of some bxp libraries

Now, instead of dumping that code, what if you put it in a dedicated file that just sits there.  Like a book on a shelf.  You’ve no idea if that book will ever come off the shelf again but you have it available should you need it.

This is how the bxp platform was built.  As for 2018 , there are over 400 libraries available to the developers to draw from.

You write code to solve a problem.  It goes into a library.  If you need that code again, then suddenly instead of starting from scratch, you can take the book off the shelf and the hard lifting is done.

Now.  When you put code into a library you have a choice.  You can pop any old code into the library and it will fix the challenge of today.  What is the better road?  the one off fix for today or making a really good library that will be very reusable in the future?

This is the same choice all the way through this article but this choice happens at an employee level.  You have a choice.

If you put the time in to get the basic functions really well working, tested and robust, reusing them will be a pleasure.  If you don’t put the time in, then reusing them is a risk and you’d prefer to rewrite the functions every time the challenge comes up.

 

Wrap up

Everyone matters

I was privileged enough recently to go on holidays and visit a Hard Rock cafe in St. Maarten

http://www.hardrock.com/cafes/st-maarten/

As we were there I ordered my favourite, a milkshake in warm weather.

Hard Rock Cafe St. Maarten
Visit them online at http://www.hardrock.com/cafes/st-maarten/

“Sorry, we can’t supply that sir.”

“Ok, I’ll have an ice cream instead thank you”

“Sorry we can’t supply that sir.”

I looked very surprised and disappointed and then Valerie, the hostess, in a very calm and serene way, explained something to me.

“I am sorry but we have a lot of things not on the menu sir.  This business is only reopened three weeks now.  We were hit by the hurricane.  It destroyed the place.  The business was shut for months.  We were all let go.  We as staff got together came in and rebuilt the place ourselves, so that we could get our jobs back. 

Hard Rock have very exact standards which ensure a great experience world wide, so some equipment and parts we have stop our refrigerated produce, which is why I can’t give you milk.  I am so sorry for the inconvenience.  Can I get you something else instead?”

I was humbled.  That was such an amazing example of self determination and commitment.  Amazing.  From my position of privilege I got a smack in the chops about real life and what a difference real “in the business” not “on the business” people can make.

I had a delicious mocktail instead, tipped above and beyond, was so grateful for what I got (the story and the service) and left a more grateful person.

 

Your contribution

Reusability in my opinion should always be attempted no matter how painful for staff and the business to implement.  The desire to do less work, take the instantly cheaper road, the shorter time frame will always be attractive and have short terms gains.  Give the man the fish, especially if he’s hungry and screaming for food.  In business there is rarely ever time, or resources available to come back to teach the man to fish.

Reusability is a personal motivation.  You have to want to personally implement reusability for it to be a reality in a business.  What is your motivation?

The bxp software platform arises from the focus and commitment to apply reusability.  It didn’t come without its costs.  Staying till 2 and 3 am to finish code to ensure it was reusable and correct for over a decade has left the business with a stable, reusable, reliable platform.

I have often had heated debates with my colleagues and fellow directors over what approach to use.  Different circumstances lead to different outcomes.  Sometimes I was right, sometimes, within reasonable means, I was wrong.  The aspiration should always be there.

How does your business apply reusability?  How do you?

 

If there’s anything I can do to help you focus your approach or tools which might be able to help please do get in touch, I would be happy to discuss it with you.

 

[/read]

Leave a Reply

Your e-mail address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.