Monday 26 July 2010

Legacy Transformation

Legacy ... or is it?

The Macmillan dictionary has two suitable/interesting definitions for legacy in this context:
  • something such as a tradition or problem that exists as a result of something that happened in the past; and/or
  • something that someone has achieved that continues to exists after they stop working or die.
Generally when people in the IT business refer to legacy they are referring to an older generation application or system that: should be replaced as it is can't meet current business requirements or is technically outdated (costly/difficult to maintain).  I have also heard the term legacy applied to infrastructure (networks, platforms etc) but this is less common as most technologists tend to focus on application.

What I hope to capture here are some thoughts and ideas regarding legacy (or enterprise application) transformation.  The internet is full of methodologies and approaches for achieving this, and I won't bore myself by regurgitating this, but rather capture some key ideas and challenges.

Utopia

So here it is ... the Utopian view of "legacy" transformation.
  1. Build an integration layer (whichever suits your fancy ... or a combination of ... service oriented-architecture, message oriented middleware, enterprise services bus, message brokering, ...).
  2. Define the business (transactional and structural) and technical services.
  3. Insulate the "legacy" and deliver the service.
  4. Build a few additional services, perhaps extending the legacy function.
  5. Build a business process management layer (with associated workflow).
  6. Orchestrate the services.
  7. Link into a new shiny user interface, partner or other channel..
And if you achieve this you can renovate "behind the service" allowing you to replace legacy systems, as and when required.  The service is therefore a mediator or facade.

"Everything changes"

The biggest problem with this answer (assuming there is a question) isn't the solution but rather how people tend to go about realising it. There is a fundamental mindset that the past is wrong and that the people that built those solutions were naive or bad at what they did; and that we now know the answer and will build the future.  Brilliant! or not, as I am fairly sure (having spoken to several senior engineers) that they felt similar in the past.

If there is one thing that I have learnt that is more important that all other lessons, it is that everything changes.  An application implemented today is soon relegated to legacy.  A methodology that is guaranteed to improve quality/productivity/value will be modified or replaced in the future.

Therefore, smart organisations are those organisations that focus on building a core capability that enables them to adapt to change.  Subsequently these organisations will manage those assets that are important irrespective of the underlying technology.

Service Imperfect

Defining perfect business services is as much an art as it is a science.  Service granularity is a topic that promotes a lot of intellectual debate ... so I won't get into it.  However, irrespective of what services you specify you soon find yourself in the very real problem of realising/building those services.

Therefore a magic (the art) middle-ground exists between what business want and need and what you can deliver.   Can the enterprise applications deliver the function that matches that service or does the service need to be "course" and meet the availability of function?

Do you spend a lot of money renovating the enterprise applications to meet your requirements or do you deliver what is available?

Can you break into the middle of a legacy workflow or do you have to trigger the start of it and accept the outcome?  Can you monitor/report on the status of the legacy workflow?

The mythical enteprise business process layer

Looks phenomenal on a layered application architecture diagram.  However this is really difficult (read expensive) to achieve.    One of the big challenges relates somewhat to my ramblings on services.  The reason for this is that many legacy and/or enterprise applications have workflow and business process included within the application.  Unpicking this is very costly and seldom, if ever, delivers the business value need to fund the project.

So assuming that you have to deal with multiple process/workflow/bpm engines you need to figure out if it makes sense to promote one of these to enterprise level.   If so, how will you manage transactions and will you need to "integrate on the desktop" using portal technology?  How will you monitor status across these engines especially with long-running transactions?

A possible solution

Ultimately if you protect what is important and externalise as much of this as possible you will find yourself in a good place.  This includes data/information, business rules and calculations.

Solution components and patterns that help address this include canconical message models, meta data management, master data management, rules and calculation components/engines.

However, achieving this level of enterprise-wide harmonisation (even for a single component) is expensive and few achieve it.  Rather applying domain architecture principles and tackling those areas that you can control is infinitely more achievable. 

Applied this means determining which area you control (start, stop, change direction) when it comes to designing and implementing a solution and then focussing on that.  This could be a vertical (department for example) or a horizontal within the enterprise.   

Now the big downfall is that enterprises have to contend with multiple standards, formats etc.  However, because this is a known it means that it can be managed by design.  Bridging/translating data formats (for example) becomes a core capability and by default the organisation learns to manage change.  Interfacing between partners and applications falls into a similar bucket ... you get the idea.

The big "gotcha" is investment - it does mean that the investment case needs to be realised on a smaller business scope; but the reality is probably closer to this than those business cases that have an enterprise wide adoption assumption.

So what does the architecture look like?

Well this is where it gets really fun.  If you are focussing on the management of change and your response to it, then you can begin to imagine what this looks like.    Think domains.  Think service delivered and contracts.  Think measurement and reporting.  Think blackbox and component paradigms.

Ideally select a domain where you can slice deep into the organisation whilst keep it as narrow as possible.  This will allow you to touch on as many solution elements and layers and therefore tackle risk sooner rather than later.  However, take a horizontal domain or component domain works as well.

But more on this later.

Tuesday 13 April 2010

Brainstorm: Getting on with Green

Brainstorm printed a great article in their physical magazine on Green and accompanied it with this online piece.    I had the chance to talk to Samantha regarding IBM's Eco-Efficiency Jam and our view on rethinking "Green".

Despite the multitudes doing not much, a number of companies have risen to the challenge and gone green

While you’d be forgiven for thinking that green IT is never going to happen (and let’s be realistic – will IT ever be really green?), some companies have taken the gap and started on green projects, green buildings, green data centres and green organisations.

GijimaAST’s new head office in Midrand is a green building, although as there are several buildings involved, the word ‘campus’ is probably more appropriate.

Jan Smit, DCS business unit executive driving green IT at the company, says that Gijima has engaged with green IT and is busy establishing sustainability around not just green IT, but how organisations can reduce their carbon footprint, be more environmentally friendly and adapt to the pressures around global warming.

“Nobody’s really doing it,” he agrees. “We’re all talking about it and how good we are but no one has gone out and said, ‘Here, we can prove it’. So we’ve started a business unit for it and said we’ll go green, become environmentally friendly and use that experience.”

Net App has revamped its data centres to good effect. Giancarlo Scaramelli, NetApp EMEA IT field services manager, who is part of the ‘Net App on Net App’ program that deals with the company’s internal IT, says that by working aggressively to make its data centres as efficient as possible, the company has saved 40 000 kWh per month.

“We started retro-fitting our older data centres and building new ones with green in mind. The only way to do it was to take a holistic approach, and not just look at what we do (storage) but the whole centre.

“We started in the California data centre. The temperature was often far too low – we needed to work out the optimal operational temperature and so we’ve gone from 11 degrees to closer to 23 degrees. This saves a lot of energy because the need for cooling has reduced. We also looked at whether or not we need to cool the air all the time. In California we can use free air cooling 70 percent of the year.

“Many data centres were designed years and years ago. We still see centres with raised floors, which require pressure to get cold air to the ceiling, so we decided to do it the other way and pump cool air in from the top and let it fall naturally to the floor.”

Installing plastic sheeting, like that used in supermarket coolers, to separate hot aisles and cold aisles proved an inexpensive way to keep air flows apart.

Global view

While many see green as a CSI initiative, or at best a cost-saver, IBM CTO Clifford Foster has a slightly different approach: “People seem to have a fairly narrow view and quickly revert to talking about is a processor green or efficient, where the way I like to look at it is if you work on the assumption that green is doing more with less, i.e. how can we have a positive impact on the environment and the bottom line by doing more with what we have, then green certainly has ROI. You have no need to buy more, which has a direct and equal impact on the environment, or at least less impact.”

In January, IBM convened a Global Eco-Efficiency Jam – a massively-scaled online discussion centred on this strategic, business-critical issue. The Jam enabled senior representatives to co-operatively determine the best actions that can be taken to meet goals for a sustainable future. For 51 hours, thousands of public and private sector sustainability leaders pooled their knowledge and experiences through a series of focused discussions on Green Infrastructure, Sustainable Operations, Intelligent Systems, and Raising the Bar.

It’s something IBM, which started its green initiatives in the ‘80s, takes seriously.

“There’s a wide spectrum of options here,” Foster says. “If you look at the entire dimension of an organisation, even from a data level, if you are managing information and data in your enterprise well (through deduplication, archiving historical information and so on), it requires less storage to keep it. As you move up the stack, the same starts to apply, so you can buy less, and less is manufactured. If you look at applications working on the data, if those are more efficient, you can reduce the processing required, need less processing cycles and have an equal impact, and that goes on and out.

“Look at servers, data centres, the actual building the data centres reside in. Go up the food chain and look at how the organisation can optimise internally, and optimise with trading partners. It becomes a most compelling case for green IT as well as directly impacting effectiveness of the organisation,” he states. And he’s right too.

Tuesday 6 April 2010

Engineering News: As urbanisation gathers pace, African city managers are urged to adopt technology

Engineering News published this great article on the presentation that I delivered at the IDC Africa CIO Summit - linked and copied here for reference.

By 2050, city dwellers are expected to make up 70% of the earth’s total population and Africa has the opportunity to build intelligence into the infrastructure of its cities, says information technology services and solutions provider IBM chief technology officer for sub-Saharan Africa Clifford Foster.

“Africa has the opportunity to learn from the rest of the world’s mistakes and build ‘smartness’ and intelligence into its infrastructure. Cities are the microcosm of all the significant challenges and opportunities facing the planet,” he says.

There are a number of ways to infuse intelligence into cities and make them smarter. Smart telecommunication can enable cities to interconnect systems and lay the groundwork for longer-term economic growth. This includes smarter traffic systems, healthcare systems and food systems.

Foster says that smart transportation could improve transit experiences, reduce congestion and limit the effect of transport on the environment. Road user charging, electronic fare management and transportation information are examples of smart transportation in cities.

He points out that smart healthcare can provide opportunities to improve healthcare quality, accountability and sustainability. Health information exchanges can allow more time for treating current illnesses than the current system does, which is based on medical histories, and consumer portals can allow customers to proactively manage their own health.

Smart energy and utilities can provide opportunities to manage energy supply and demand smartly. Smart grids can detect and pre-empt problems and possibly reroute energy flow, and smart water management could detect water leakage and loss as well as contamination. Foster says that all buildings should also be built to consume energy better.

Further, cities can nurture their most valuable resources, their citizens, by using smart education, such as smart classrooms, which make remote educa- tion more interactive, and smart administration.

Citizens and communities can be protected by smart public safety systems that turn data into insight. Crime data aggregation, emergency management integration and smart surveillance are a few examples of how cities can become safer environments. He says that smart government services can also be implemented to infuse intelligence into needed services, stimulate economics and save taxpayers time and money. This will promote government accountability and integrate service delivery.

“From an African perspective, it is cheaper to implement these technologies when building infrastructure than installing them later on. One should consider how to embed intelligence into a system when building is first taking place,” Foster concludes.