This blog is about discussing Agile IT Architecture and sharing best practices - comments, how tos with IT architects, project managers, developers. Working from personal experience, experience of people working with me, and articles on the web I hope this blog will be used by people to get good information on this interesting subject. I'm author of a methodology used internally at my company, ILOG, but I'm in the final process to publish and share a piece of this methodology as an open source project part of Eclipse Process Framework. (EPF)
I'm also in relationship with a nice initiative around sustainable architecture which promotes restructuring of IT architecture by focusing on reference data, process and business rules and the methodology to do so.
There is a real need to share knowledge and experience on those subjects.
Agile IT architecture is about designing IT architecture that supports the quick changes in the business goals. Business users wants to run their business better, generate more revenue, reduce cost, deploy quickly new product, new marketing campaign...
It is interesting to note that despites the progresses done on product and technologies business is still complaining about getting quick change of the underlying supporting IT software stack to support change in business.
This is not so dark!. There are a lot of successful projects and applications which are bringing agile application: web front end and portal help to deploy quick marketing campaign, publish content and best practices to help current and future customer on our product....
Early SOA, BPM and BRMS deployments are bringing values and facilities to support business, but still it looks there is some needs and failures. One of the major issue is to be able to access to how-to and knowledge sharing and practices sharing.
SOA, BPM, BRMS, MDM, ESB,.. all those components are needed to deploy an Agile IT architecture and there are a lot of companies using those products to support this ultimate goal: "close the gap as much as possible between IT and business". But it is not so easy to do.
SOA design and deployment are not easy to do. Most of current SOA initiatives are about exposing a legacy application as a set of services we may be able to reuse. SOA is not short term thing, and needs to be approached as a top down initiative to support the future of the enterprise.
BPM helps to design, orchestrate and control the execution of a business process. Well! The business users need to define their processes, spend time on it, and then we can use BPM to partly implement it. Once a process is defined and implemented in a BPM, I'm not so sure it will change a lot. This is interesting in this domain to see that BPM suite comes from workflow, document processing, and are migrating to BPEL and orchestration of services. Does orchestration of service a business process? I can see some parallel but examples are more on application logic flow implemented in BPEL.
BRMS, younger player in the IT architecture, it is still not used enough. This component is bringing a lot of agility, and business users can understand how their policies are mapped to executable rules. One of the issues as of today is the lack of concrete, practical methodology to address the how do I use those set of tools to be able to develop, maintain my business policies. I will discuss about that in next post.
As of today it is easy to forecast, despites the marketing efforts, it will never happen: Business users do not want to change their process, do not want to code or write business rules. They want to run their business better.
And I guess it is better like that. There are different job. I can discuss with my VP sales and study how he is working, his team focus to make sales, manage lead, close deal. They want accurate data on lead, revenue forecast, sale unique view of a customer, track time or results of team members... CIO and IT team has different job. So why trying to merge both? Can you imagine having 150 different business applications designed, developed by business who did that to server a special business need at a given time? This is the excel macro and worksheet pattern. A lot of people can do nice things with excel and get efficient supporting data to manage his own business decision. But is it the IT we want?
In fact I'm pushing the envelop here. There is one important person in a company which is the strong liaison between IT and business: the business analyst. This is true that BPM, BRMS, exposed SOA services will help a business analyst to understand how the business application is running, and even change the policies, but IT is still owner of the application, and manage its availability.
So the subject is big. Lets' discuss about it.