Secrets of Modern IT Management

As technologies and methodologies have advanced, a lot of things have changed. So it’s natural that in the revolution of new processes and methodologies in the IT industry, also leadership and management models must be developed in order to be able to meet new challenges. I will briefly discuss about probably two best-known methodologies, ITSM/ITIL® and DevOps, and also correct some misunderstandings.

“Choose your side: ITSM/ITIL or DevOps?”

Headlines like that seem to become more and more common in today’s IT Industry, where organizations are struggling with ever-growing demands; Just On Time –deliveries, resourcing, predicting the future & markets, social media’s opinions, end-user requirements, and of course the need for profitable business.. And then a faceless consultant steps onboard and promises to solve all the problems with yet another “-ism”. While some time ago the “ism” was ITIL, nowadays it’s often DevOps with a touch of some other Agile –derivated method like Kanban or V-model.

Now, who do you believe? Does a highly structured methodology like ITSM/ITIL solve your problems or is it DevOps that releases your internal beast and assures your products and services are top-notch quality?

While some time ago the “ism” was ITIL, nowadays it’s often DevOps with a touch of some other Agile –derivated method like Kanban or V-model.

Correcting common ITIL and DevOps –related Misconceptions

In my latest blog text I wrote about common Misconceptions people have about Cloud Services, so I can continue writing about misconceptions, this time about the ITIL vs. DevOps –combat.. ..which really should not exist in the first place.

ITIL is set of guidelines, the best practices. It’s highly process-oriented approach on organizing the IT Services, including life cycle phases from Service Strategy to Continual Service Improvement. ITIL has somewhat gained reputation as a bureaucratic giant with enormous requirements for documentation while every function should have a lot of resources available for 24/7.

Partly the reputation is deserved, but largely it’s also about misunderstanding the paradigm: ITIL is about a set of guidelines. It’s like a toolbox where you choose the best and most suitable practices – not the whole nine yards. You don’t need to implement all the aspects of ITIL available in order to call your Services “being aligned” with ITIL.

On the other hand, whereas ITIL is missing the essential software development methodologies, DevOps comes in.

DevOps concentrates in software development and delivery process emphasizing on filling the silos between the development and operational phase.

DevOps emphasizes modern sw developmental actions such as continuous integration, testing, deployment and in a way blows new spirit to the old’n’ good sw development industry. DevOps introduces a new kind of culture where the need for collaboration and teamwork is highly appreciated. At the same time DevOps requires a bit different approach to leadership.

I’ve already written about the loopholes and demerits of DevOps here, so I won’t repeat myself.

So, what’s it gonna be: ITSM/ITIL or DevOps?

In case you didn’t quite get it, there is no idea in putting these two against each other, because for the most part they are solving different issues!

I suggest taking the best from the two approaches. ITIL is still today – by far – the best set of guidelines for running the IT operations, but I can recommend DevOps especially from the SW development point of view without forgetting DevOps’ main idea of covering the silos between the development and operations’ phases.

I suggest taking the best from the two approaches.

Attention! Lead your troops General!

How should DevOps –team’s management be organized? Some people say employees shouldn’t be controlled in any way but they should be given a 100% freedom to do their job, while others are on the opinion that the working hours shall be measured and more or less control is needed in order to get the results.

While there are a number of great posts written about managing a DevOps “teams”, for example here and here, there’s remarkably less articles addressing the challenge of leadership, leading the people in the holistic perspective.

 

The majority of executives today probably share the opinion, that when it comes to leading a specialist organization in the IT industry, a traditional  line-organizational management model is dead, because it doesn’t provide adequate set of tools to support leadership in modern IT environment. Those modern, self-guided teams are on the other hand eagerly saying they don’t need to be managed. Don’t listen to them, they don’t know what they are saying!

More than ever, in the era of Agile SW development there’s a pressing need for (good) leadership! A distinguished DevOps team can be working effectively without any outside guidance as long as someone is paying their salaries and bonuses. But bear in mind that a hundred sprints with huge amount of new features in the software don’t necessarily provide anything useful.

Those modern, self-guided teams are on the other hand eagerly saying they don’t need to be managed. Don’t listen to them, they don’t know what they are saying!

Leading and orchestrating the big picture of SW development is crucial for organization’s success. Can you cut it or is your organization going downfall?

1st level issues

To be able to even remotely manage your Orchestra, the following essential 1st level issues must be addressed:

  • What’s in the pipeline (or backlog if you wish)?
  • What’s currently under development?
  • Will the upcoming new features correspond the requirements agreed on with a customer (no matter internal or external customer)?
  • Do the outcomes of your SW development (both released and those still in the backlog or under development) match the organization’s strategic goals? (Assuming there ARE strategic goals defined, of course!)

Now that your things are basically going as planned, you can move on to the next level in management issues. Even though they are 2nd level issues, they are very important. Ignore the possible problems on level 2 and they will become 1st level problems in a way or another.

Ignore the possible problems on level 2 and they will become 1st level problems in a way or another.

2nd level issues

  • Outside the clear SW development issues you have of course other issues to be taken care of, i.e.
    • Resourcing
      • Are you certain people are in their appropriate positions? Need to make any changes?
    •  Sales
      • Are your sales personnel getting deals closed – short or longer term?
    • Hr
      • What’s the rotation speed of your personnel in your organization? Is there constantly coming new people in while those who have stayed longer are leaving? Should you do something about it and if not, why not?
      • Benefits and salaries: are you competitive against your fellow competitors?
    • Business
      • Is your business profitable or are you creating loss?
    • Customer satisfaction
      • Do your customers keep coming back to you or are they changing the supplier?
    • Legal issues
      • Are your legal & compliance issues in order?

The list goes on and on, but the message is clear: leave 2nd and lower levels unnoticed and they will eventually become 1st level problems.

Things listed above are only the tip of an iceberg, but I wanted to shake the buzzed thoughts that a modern SW Development running Agile methods only needs very little management if at all. That’s one of the risks in a well-welded DevOps team; it becomes too self-assertive and slowly ceases to consider the surrounding reality.

More than ever, there’s need for brilliant leadership and management! If someone is challenging my thesis about this, I’ll be glad to participate in the debate.

 

Pictures are from Pixabay.

ITIL® is a Registered Trade Mark of AXELOS Limited.

Cloud Services – the Business perspective

Cloud Services have rushed into the markets relatively rapidly. It’s only been a little more than 10 years ago when we first learnt about the cloud computing.

Cloud computing – where do we stand today?

Last year
(2016) the Cloud computing revenues jumped 25%, and the year 2016 was the first in which cloud computing started to dominate many IT market segments according to GeekWire’s article. In addition to that, Operator and vendor revenue for six segments of cloud computing reached $148 billion during that period, so it’s safe to say Cloud computing is totally mainstream today.

Operator and vendor revenue for six segments of cloud computing reached $148 billion

We all know the recent history of data centers emerging and customers buying monthly-basis fixed priced data computing volume, in volumes. Some customers even ended up building their own data centers instead of using the IT providers’ data centers.

skyscraper-90560_640

 Cloud computing vs. Data Centers

Today there’s an ongoing battle between the Cloud computing vs. Data Centers. I’ve seen many articles addressing the issue, for example Atlantech’s blog has a pretty good, albeit short, comparison between the Private Cloud and Data Center, written by Tom Collins (any relationships between him and the famous cocktail drink are unknown to me! 🙂 )

Cloud Services – the Business perspective

Having said that, I just can’t get over it, that in my opinion most of the above mentioned comparisons seem to lack something. Yes sir/ma’am, you’ve got a number of rows of text explaining the difference between the choices, and features are been unwrapped in tiniest details. But often these comparisons lack the true Business perspective of Cloud computing! Instead of listing the features and differences, one should try to see the world through the customers’, the business’ point of view. And that’s where I’m putting my 20 cents now.

these comparisons lack the true Business perspective of Cloud computing

The business is just so easy: buy low, sell high. Or, produce something (goods, services, whatever) people desperately want or need. The key question is: How can Cloud computing help make me more successful in my business operations?

Business wants answers to the right questions

What the business really needs is for example:

  • Cost efficiency: Business is willing to pay, but only for the time period the business requires, and only the required amount (+ perhaps a little bit more than that, just in case) of services, like computing power, storage, network connections etc.
  • Just in time: Business needs the services right on time! Not two months ahead and most certainly not two weeks, let alone months, too late.
  • Easy buying: transparent pricing, klick-to-buy (limited amount of ready-made choices or _very_ user-friendly configurator tool).
  • Scalability: during the night-time there is might be less usage than during the daytime, and when getting a number of new users to the system, it should be possible scale the platform up very easily.
  • Continual improvement and development: there should be tools available to support the r&d of the system, when necessary.

businessmen-2010021_640

These are only a few key factors that the business is looking after when thinking about Cloud computing. Of course there are other factors as well, like user accessibility, security issues, multi-site data replication and so on.

Oh yes, the recommendations!

Now, I never do this, I have never done that before – but I’m about to do it. Do what? Give recommendation! And guess what? I’m going to recommend the Cloud services of my employer, Fujitsu Ltd! This probably ruins my credibility, but as of today, 2nd of February 2017, I’m confident that Fujitsu’s Enterprise Cloud Service K5 is the best Cloud based solution available in the world! Simple as that.

Hyping up the K5 – seriously

No, I’m not getting paid for advertising my employer’s stuff. I just stand behind my opinion, that the Fujitsu K5 meets all the Business requirements I listed above: thoroughly transparent, hour-based pricing, getting the Cloud computing up’n’ running in a few minutes*, ready-made computing packages that are easy to configure, very good scalability options, supports OpenStack and offers an application execution environment service based on the open source Cloud Foundry.

* Means that if you want to run the K5 Cloud in parallel or as part of your own data center’s internal network, then of course it takes more time than a few minutes, but it’s also up to other actors than the K5 itself.

Imagine what you can do, if you are developing software on open source tools, use PostgreSQL, and would like to pay for only the amount of computing power and storage you really need, for only the time-period you need. In K5 you can find support for your sw development and DevOps, yet there’s support for OpenStack, VMWare and Bare Metal. So it’s fare to say you really got options.

Imagine what you can do

Of course it’s not always possible to do that, as quite many enterprises are using Oracle of Microsoft databases and end up paying for millions of €uros to these bloodsuckers I mean distinguished IT companies yearly. Sometimes it might make sense to start thinking of converting the databases towards more cost efficient db solutions.

It’s about a time to change. Why not?

Personally I have, from time to time, given a thought to why do so many enterprises really pay carriages of money to these distinguished IT companies. I’ve only figured out two reasons:

  • “We have always done that” -> that is of course the most rock solid explanation. Why change anything, ever?
  • “No one has ever got fired for recommending IBM” -> this was the key guideline to all the investment bankers during the ‘70s and ‘80s, and is still occasionally a good emergency fake.

To the end I’d say: take a chance! If not anything else, you might find yourself saving loads of money in terms of licence costs.

Pictures are from Pixabay.

License Management – trick or treat?

Sailing through the murky waters of License Management can be frustrating. I’ll share some ideas and pitfalls I’ve gone through with the topic in question, and I’ll make one suggestion which would help people dealing with License Management issues.

That was then…

Once upon a time there was a customer who needed certain software to run his/her business. Back in time everything was relatively easy: customer bought a software (application), which was delivered on a media like 5.25” or 3.5” floppy disk. Customer used the software as long as it was needed and later on bought perhaps a new application.

In case there was no proper software available, customer most probably contacted a software company to help specify the requirements and develop the software in question.

Plain and simple, neat and tidy. Development of hardware was so rapid that one didn’t usually reach a new version of the software until his/her workstation was already outdated.

floppy-disk-214975_640At that time, if there was need to run the software on more than one workstation either you bought another piece of the same software or (probably) violated copyrights by installing the software into a new workstation. But who was ever going to know about that, as your workstations were not networked?

Somebody then came with the idea of licensing: why to demand customers buy yet another copy of the same software, when you could just sell a ”licence” (for example a string of letters and numbers) and grant customer install the software to n pcs of different workstations?

Around the same time more and more workstations joined the network called the Internet and the first concurrent user licenses appeared to the market.

…this is now!

Nowadays it’s a jungle out there! As long as you have a small business with <5 workstations and less than 10 applications you’re doing OK. But once you run even a little bit bigger business – not to mention global scale enterprises, it’s a whole different story.

Let’s dig a little bit deeper into the world of licenses.

Licensing models

Let’s assume you are a CIO in a global scale company and it’s in your best interests to grab the best license agreement with your software vendor(s).

  • ”What should I do?”, you may ask.

Well, I have a rock solid answer that usually works: go to the basics. You should first define and specify certain basic information about the usage of the software you’re about to buy licenses for. Start with i.e. something like that:

  • amount of total users
  • amount of concurrent users
  • geographical locations of your users
  • number of servers
  • number of processors in servers running the software
  • number of cores in processors in servers running the software
  • pretty much anything, all the available information!

 processor-583695_640

Number of total users is often used as a pricing basis, but there may be other situation factors as well.

Concurrent user licenses

You have operations, say, in Australia, Poland and Argentina. Your total number of users for this particular software is 9000 users. But the user base is split between the three office sites in different countries, different continents. In this case you should find out if you could agree on paying only for the concurrent users and actually save money by buying software license for 3000 concurrent users instead of 9000 total users.

Concurrent user licensing is relatively fair model of pricing the licenses. The downside is it often requires almost continuous network access. Normally it’s not a problem, but in certain field services –based work it can still be an issue today. The licensing service, which lies on a license server pings workstations at certain intervals to make sure there’s a license in place. It releases unused licenses from workstations and reserves licenses to workstations whenever needed. If you run out of licenses, you usually have to wait until someone stops using the software and the license is released into the license pool. Or you go out to buy some more concurrent user licenses.

Other licensing models

There’s a number of software where licencing costs are calculated regarding the environment they run. In other words you may need to report very detailed-level information describing your data center: number of servers (installed/using the software in question), number of processors (in the server that is running the software in question) and the number of processor cores (in the processors residing in your servers that have the software installed or are using it).

Now, I’m not going to go further into the world of different licencing models. But I want to make a question:

Why has license management been made so god damn difficult!?

It’s everything but straightforward to manage your licences. Buying can be relatively easy, if you have very deep pockets and you are willing to throw your money away. But buying just the licenses you need, for the time-period needed, and the correct amount of ’em.. you name it. It’s like a jungle out there.

 3rd parties showing up

There are companies performing license auditing in favor of the IPR owning companies. For example Microsoft performs – or their license auditing partner company does the job – a so-called ”true-up” auditing for an organization and then they report to Microsoft about the situation, and MS then tells the amount of needed new licences. In the world of volume licensing, true-up –stylish approach is quite good because the idea is that software can be installed wild and free, and then the auditing is conducted once a year to calculate the number of required new licenses. So one doesn’t necessarily need to purchase new licenses at the same time when installing new software, but accounts are being balanced annually.

 Sniffing through the environment

The auditing itself usually consists of investigating the environment. Normally the party that performs the check-up asks for certain figures (numbers of workstations, servers, cores etc.) and they often come up with a small software that sniffs through the agreed networks and creates a report regarding all the foundings (for example, databases).

Quite often the license auditing ends up with the software company presenting a bill to the customer and the customer usually doesn’t have any other choice but to pay the price, whatever it is.

Every license has its price tag

There is basically nothing wrong with this: if you want to use licensed software, you ought to pay for it. But..

..what bugs me in this scenario is the fact that customer pretty seldom has any real possibilities to question the calculations regarding the price tag. Unless customer happens to be one of the Fortune 500 companies or similar size, they don’t have a department filled with software license architects and lawyers.

Customer pretty seldom has any real possibilities to question the calculations regarding the price tag

So the set-up is often like a David and Goliath where David in fact has nothing to fight with. I’m not saying there shouldn’t be a price to be paid if you use licensed software, but the customer lacks the possibility to really check the calculations in many cases.

In addition to that, there are certain loopholes that make it possible to save some money in software licenses. For example, if a customer can prove that usage for certain software is intended to be only temporary, a very short time, or usage of the software differs somehow greatly from regular usage of the software, there might be a possibility to negotiate lower price for licenses under such use cases. However, there’s again need for department of software license architects and lawyers.

In my opinion, the ICT sector is clearly in need of actors working in favor of a customer! There should be consulting companies who take role for the customer regarding licences. These companies could provide end-to-end service for customer companies, all the way from designing and specifying the need for licenses (by evaluating the required platform solutions), then they could play the center role in purchasing required licenses, and yet they could be analysing and evaluating license auditing in favor of customer companies.

The ICT sector is clearly in need of actors working in favor of a customer

For sure, that wouldn’t be cheap. But then again, it’s very easy to waste money by buying i.e. enterprise licenses instead of standard licenses or too much licences ”just in case” etc.

If there were such actors, I’d definitely recommend using their services!

Yadda yadda

This must be – by far – the most hazy, fuzzy, unclear, inconsistent and frustrating blog text I’ve ever written. Partly because the License Management is very treacherous area and partly because I might have tried to swallow and elephant on one bite. I believe I’ll get back to this topic in the future with more specific approach to a limited section of world of License Management.

Pictures are from Pixabay.