Doorgaan naar hoofdcontent

Why not do Agile (EAI/SOA) projects?

The Agile approach is not new anymore, but still I see problems with trying to do projects the Agile way.
What I see:
  1. Business plans have to be made with functionality and ROI upfront
    This does not fit the Agile way (Customer Collaboration over contract negotiation). The ROI is sometimes hard to calculate and what you see are naive numbers just to get the project approved. Furthermore it is a long and costly phase. Of course you have to discuss if a functionality is worthwhile.

  2. The business wants to know upfront what the costs are and the needed resources
    This is because resources (people) need to be reserved and hired. They want to know the investments needed in advance because usually budgets are given each (half) year.

  3. A project is divided in several subteams which must be coordinated
    The teams only communicate in the beginning (for the requirements) and at the end (integration testing). They do not communicate during the project and do not integrate during the project. I call this the big bang approach.

  4. Projects do not want to pay for future advantages for the enterprise
    Especially in the beginning architectural decisions, POCs and implementations have to be made. Think of product selection for BPEL, BPM, ESB, etc. The business does not want to pay for all these (needed!) upfront investmentsfor the sake of the enterprise.

  5. Documents are made just to satisfy the QA process
    Technical design, unit test plan for example are written upfront without review or written afterwards. These documents are most of the time outdated and are not maintained.
Ad 1
Begin with small projects where the ROI is easy to calculate and small. Take a small part of a business process. Maybe we should even call it a feature/business process plan instead of project plan and keep them small and manageable.

Ad 2
You could reserve some budget for feature (enhancements) and after each iteration/sprint (or whatever method you use) choose to continue or stop. This way you never go over budget.

Ad 3
If you keep the features small a lot of communication may be circumvented and communication is easier. However in lots of cases the places in which the team work are different. Maybe modern tools like wikis, twitter, use groops, google talk etc may help to communicate better and often.

Ad 4
Some budget may be reserved not only for the business but also for enterprise architecture in general. This way such POCs and product selection trajects may be funded. This means management support is really needed, but this is always the case in such trajects.

Ad 5
I like the use of TDD (Test Driven Development) in which automatic tests are made and ran during builds. It takes some effort but it really is very helpfull during refactoring and regression tests. It also makes designs better because it forces you to think about the testability of the component. Also document only the most important design decisions and why some decisions are made. Those decisions can be very valuable in the future, instead of describing attributes of classes in detail for example. These can be (and should be) documented in the code.

I am curious to hear from you in other issues and/or solutions for these issues!

Reacties

  1. Just when I posted this item, i noticed that a panel on the SOA Symposium is also discussing this item (http://soasymposium.com/conference_agenda3.php

    BeantwoordenVerwijderen

Een reactie posten

Populaire posts van deze blog

Microservices mindmap

"The tree" - See also   my photo page When you are fairly new within the Microservices land, there are a lot of terms fired at you. So also for my own understanding i have made a mindmap. I think it has a good status now, so that i can share it with you. As always feedback is very welcome ! You can download the mindmap here .

OSB 10gR3 and SWA and MTOM

This blog is about using soap with attachments and the use of MTOM within the OSB (10gR3). A service is created that accepts a soap with attachment (DocumentService) and translates it to a service that accepts a binary element. MTOM is used for performance reasons for the second. Some notes: * For the use of attachments you need RPC-style document instead of the usual document-style. This due to the fact that the document-style limits a message to a single . * A service can not have both SWA and MTOM within OSB. First a WSDL is setup for the DocumentService: The $attachments variable holds the attachments and the body holds the attachment data. Also other data is stored within the attachment element (see h

Installing Oracle SOA Suite/JDeveloper 11g

This post guides you through the installation of the Oracle SOA Suite 11g with JDeveloper 11 with the use of Oracle XE database (for Windows). Note: It is assumed that Oracle XE database is already installed. Required downloads Oracle Weblogic Server 10.3.1   SOA Suite   Repository Creation Utility JDeveloper Studio The detailed steps are nicely described here . The next picture gives a nice overview of the directory structure created. Step1 -  Create Schemas for Oracle SOA Suite and Oracle BAM (RCU) Unzip the files Run bin/rcu.bat At the Database Connection Details fill in the XE details. If you encounter the next fault you have probably not started the XE database.   Ignore all warnings Click OK Select all components I ran into the following problem: When you click Ok you see the following error: And this is about the Processes DB Init parameter that is wrong. To fix this goto the Database Home page, Sql Editor and execute the following statements: a