Archive for the 'Development' Category

Plan for a divorce before you marry

Development No Comments »

I promised to give some free advice on how to select your Application Management provider. We’re talking about outsourcing maintenance and continuous improvement of custom applications here. Of course, selecting an appropriate provider is crucial if you want to achieve the desired ROI. And unfortunately it will take time to measure the actual improvement. So I tried so compile the known criteria that make a provider a match for you. Meaning: the criteria you can check before you make the deal.

Here’s the list:

  • Select an Application Management Provider. Not just any outsourcer or software development supplier. Even if you know them and trust them. The reason: It takes a very specific approach to be successful at Application Management. One that is different from the economies of scale known by typical outsourcers. And it’s different from managing software development projects, too. Go ask for what you need and don’t stop short of it: an Application Management provider.
  • Find a provider that understands your business. Of course, that still doesn’t mean the provider knows your application, which is unique. But it will eliminate a considerable amount of communication overhead and possible misunderstandings. After all, the provider will have to make changes to the application as required by your business departments. So he/she’d better known what they business talks about.
  • Technology matters as well: there are different technological ecosystems (AJAX/Java/Unix vs. DotNet vs. SAP vs. Host …) and not all providers know how to optimize all kinds of applications. Development tools may be important, too, in some ecosystems where they are not standardized.
  • Make sure the provider’s operating processes can be matched to your own. Nowadays, nine times out of ten that comes down to: you both speak and live ITIL. That will help to fit the provider in nicely.
  • Check the provider’s methodology for setting up application management for your app. At the very least,  check that there is a methodology. As with any project, the success of application management is determined largely by how it begins.
  • Check the contract offered to you:
    • Define the application and its interfaces. It should be obvious that a clear definition of the scope is necessary. However, sometimes boundaries of an application become fuzzy and their definition non-trivial.
    • Define the service levels you need (no less but also not more: high quality service is expensive – buy it only where it is needed)
    • How do you participate in the efficiency gains achieved by your provider? There should be a perspective for reduced costs for you.
  • For those of you who still wonder how this blog entry got its headline, here’s the answer: before you outsource an application to an Application Management provider (“marry”), make sure you will always be able to source it back in (“divorce”). That requires an up to date documentation and the use of common development environments. Among other things. Make sure your Application Management provider offers you that – without you having to ask for it. Because if you have to ask for it, it is not common practise with this Application Management provider. And it will not become common practise just because of you. Instead, when you need it, you will find out that it never really worked. Insourcing will still be possible, but tiresome then.

This is my list of general rules for selecting an Application Management provider. Plus, there always are your specific circumstances to take into account.

Got more points to add to the list? Let me know! (info@syngenio.de)

Managing inefficiency by objectives

Development No Comments »

Some of you sent feedback on my latest blog entry about Application Management. Application Management is a specific kind of outsourcing, where you outsource maintenance and continuous improvement of custom applications. Two managers asked the same question: “How can it possibly be more efficient to outsource custom applications than to maintain them in house? The outsourcer has no knowledge of the application’s specifics and economies of scale don’t apply! If the Application Management provider really is more efficient, then the in house crew simply hasn’t been doing their job.”

Good reasoning. But we at syngenio have been doing Application Management for years and there has always been a cost reduction through efficiency improvement. Very rarely it is lower than 10%, sometimes up to 20%. How come?

Believe me, it’s not because your employees are not doing their job. It’s because they are. They are working towards the objectives that have been established. And these objectives need to be relatively short term objectives – because management needs them to monitor progress, because your employees need them as feedback on their personal performance. What we are talking about here is the entire process of building and maintaining custom applications, also known as the “application lifecycle”. That lifecycle can be long, several years at least. So it’s no good to set up the objective “Optimize ROI over the entire application lifecycle.” You couldn’t properly evaluate that criterion before you shut down the application.
Instead, other objectives are being used. Let’s look at the project manager of the project that creates the custom application in the first place. He is responsible for time and budget. Of the project, that is. And the project ends with the custom application going live. That way, any responsible project manager is practically forced to compensate for deviations from the plan by cutting short anything out of scope – such as optimizing the application for efficient maintenance. That is the objective we have set for him.

You may hope that the operations department will counterbalance such strategies by bringing in their own requirements. In fact, they can only do that in a very basic way: They can bring up general requirements, not more. They do not know the specifics of the application yet. It is business and development who discuss and define the application. Again, that is the reasonable way to organize it, because the complexity of applications stems mainly from business needs, not from IT needs. So let’s focus on getting the business part right first.

Later, when everything is up and running, there is a new objective for employees: Efficient day to day maintenance. Whether it is set up officially or not, it is in place de facto: simply because it is the only way to meet up to daily requirements. Urgent tasks get higher priorities than important tasks. In the end, the important task of really understanding that custom application and its potential for improved efficiency never gets done.

By themselves, all those objectives make perfect sense: focus on the success of the development project, focus on business needs, focus on availability and mandatory changes first in operations. But in the end, they prevent us from focussing on the real goal: Optimizing ROI over the entire application lifecycle.

Let’s face it: we are actively organizing inefficiency.

What do we learn from it? There is an old saying: “Quality is free.” Tom de Marco wrote years ago that it should better be spelled “Quality is free for those who are willing to invest into it.” Meaning: It is possible to achieve lower cost full quality application operation – if you make the investment to include that separate phase into your application lifecycle: application management setup. Yes, it needs to be a separate phase in order to have its own objective: understanding the application and its potential for efficiency improvement from an operations point of view. Application Management providers include that phase. They convince you to make the investment and thus you get that 10% plus overall improvement.

My advice: select some of your custom applications and outsource them to an application management provider. This will free some internal resources to work on the necessary improvements on the remaining applications.

 Upcoming blog entries: (a) how to select an application management provider and (b) the mechanics of achieving the efficiency improvements. Stay tuned – or stay in contact at info@syngenio.de

Application Management

Development No Comments »

You hear the story over and over again: Business asks IT to design and build yet another custom application. IT resources are limited, so the IT department subcontracts the job to some external software company. Meanwhile, the IT department itself takes care of the existing applications. You think that’s just the way it is? Think again.
What makes the difference between internal and external IT personnel? That your internal staff knows your company better, I’d say. They know more about the way things are run at your place. There are always lots of things that business will forget to write down in the specification – simply because they are taken for granted. Fortunately, your internal IT staff probably considers them as basic standards as well – so they will build them into the application anyway. Not true for external software companies. So take some of your own IT staff, mix them with some externals of the latest technological flavours, stir – and you got yourself a winning team.
Which leaves you with the question how to maintain and improve your existing applications with some internal staff set aside to get that new development project right. Actually, there is an obvious way to do that – just the same way you always did it: subcontract to some external software company. Not any software company, of course. One that specializes in application management. By application management I mean that special flavour of outsourcing, where the outsourcer takes care of a custom application, its maintenance, incident and problem management at a fixed rate. You probably wonder if that’s going to work. After all, your custom applications are not easy to maintain (and no wonder that is – if you let external software companies develop them without internals to guide …). Believe me: It can be done. More than that: you would be surprised how short the time to break even is. Of course, the outsourcer needs to review the application and build up knowledge. And this leads to a fresh view on the software, one focused on maintenance efficiency. Nine times out of ten, this is the first time your application has been scrutinized for maintenance efficiency. Including but not limited to the identification of potentials for automation in incident and problem management. Which is why I am telling you about it in this blog. In my next entry, I will share my thoughts on how to select a matching application management provider. Of course, you can always shortcut the waiting time and contact me at info@syngenio.de

Elmar Borgmeier

Top