Recently I’ve read an article in German Computer Woche which was titled ‘Are ERP systems too slow for business?’. It is about complex ERP systems that are not able to adopt to the fast changing business needs. There was one interesting word by an Ernst & Young partner I had never heard before: Agile Enterprise.
As we do agile software development for our customers I was curious what agile enterprise means. So I asked Google and read some articles about it. A good definition can be found at the Business Dictionary:
Fast moving, flexible and robust firm capable of rapid response to unexpected challenges, events, and opportunities. Built on policies and processes that facilitate speed and change, it aims to achieve continuous competitive advantage in serving its customers. Agile enterprises use diffused authority and flat organizational structure to speed up information flows among different departments, and develop close, trust-based relationships with their customers and suppliers.
Basicly “Agile Enterprise” means that enterprises are forced to change quicker and be more flexible as globalization has changed the way our markets work. Most of the articles I’ve found suggested to use self-organized teams and high interaction between people in an organization. But what does this mean for IT?
Let’s get back to the article. The article is about big ERP systems and about the problems most of the customers have with these systems if raising flexibility and speed of the business hits the IT. The reasons for these problems can be found in the high complexity of these systems, low productivity in development as a result of excessive customizing of the “standard” system. The statement of the article is: “ERP slows business down!”
Most of the arguements in the article are understandable for me and we see them every day in our projects. But not only with ERP systems, but with any kind of big standard software “monsters” – e.g. big insurance core systems. I have always asked myself why people first spend millions for licences and then realize that the “standard” doesn’t fit to their needs and processes. In many cases this leads to big customizing projects that run for some years and change the “standard” so much that you cannot upgrade to newer releases anymore. So every upgrade will be another midsize project. But I still forgot to tell you the best of the story: You pay 20% per year for support of the standard software – which means that you pay the intial millions again – every 5 years!
Unfortunately the article doesn’t give good advices how to solve these issues. The strategy of the big ERP vendors is criticized – especially that the promices of SOA were not fullfilled.
A possible solution is seen in the cloud or in Software as a Service. This realy irritated me. So if I don’t operate the standard “monster” myself and put it in the cloud all my business problems are solved and the IT is flexible and fast enough to keep the new pace!? The statements of the many experts of big consultancy companies really scared me…
Last week I’ve thought a lot about the “Why” for our “Agile Software Factory” and this article and the statements of the experts really helped me to find it.
For me the solution is obvious:
If “Agile Enterprise” means that the business has to be innovative (First Mover) and fast adopting (Fast Follower), than the solution cannot be a standard software. Because “standard” definitly is the opposite of innovation and the monolithic character of the software often means complexity and not flexibility.
In my point of view we should implement the business processes with individual software. The used components can be standard and I don’t want to tell you to write a booking system from scratch. There are many laws etc. that regulate a booking system so that there is no room for real innovation. But the processes around the booking system can be very specific to the business of a company and putting the processes into the internet and offer customers and partners direct access to it could be a competetive advantage. Also a tight integration in other systems can offer more productivity. Wouldn’t it be great to offer one clean and easy to use interface for all applications and processes to the business users?
If software development should be faster and more flexible and the requirments are not fully known at the beginning of a project as we have to deal with a quickly changing business, you have to use a methodology that minimizes the risk of individual software development. Agile software development offers you the needed methodology. We will not be able to deliver business value quickly with waterfall approaches and projects that run for months or years.
And this is exactly why we offer the Agile Software Factory: A proven approach based on Scrum and XP to develop individual software. With years of experience and lots of best practices we can develop software fast and with high quality. We call it a “factory” because we use standardized components and frameworks for our development and do not reinvent the wheel for every new customer.
We use Open Source components as they offer open standards and open sources. This helps us to build software that is very extendable and easy to integrate in the systems of our customers. In addition to that we are not encountered by the politics of the big vendors. Alfresco for ECM, Pentaho for Business Intelligence, Liferay for portal, OpenCms for CMS or Compiere for ERP and CRM are only examples of stable mainstream Open Source components. The individual processes and applications we develop for our customers are based on a lightweight architecture and well known Open Source frameworks like Spring, Hibernate, Drools, jBpm or Mule.
Our agile process gives us the flexibility to deliver running software to the business very 2-4 weeks! So they have new needed functionality very fast and in high quality. This quality is enforced by automated unit-, regression- and system tests, continuous integration, pair programming and automated code- and design reviews.
If this isn’t what “Agile Enterprises” need – we will move to the cloud 🙂