• Home
  • RSS Feed
  • Log in

Your SOA product choices should be based on the QUINT model
Posted by Viktor Grgic in the early afternoon: January 16th, 2008

It is always about well-defined requirements stupid. :-) Building or choosing out-of-the-box software products like an ESB within the company's SOA strategy can be very well supported by a number of requirements distilled from the QUINT2 ISO model:

Functionality: Suitability, Interoperability, Compliance, Security, Traceability
Usability: Operability, Customisability
Efficiency: Time Behaviour
Maintainability: Testability, Manageability, Reusability
Portability: Adaptability, Replaceability

This is the selection from the complete QUINT2 model. It does not mean that other requirements are not important, but usually less than these. If you fill out these requirements properly, which is still a daunting task, then you will have done pretty good requirements gathering. Besides these aspects, there are also security requirements: availability, integrity and confidentiality which should always be considered.

How do companies usually choose such products?

Many of the customers I came across or heard about are choosing SOA products more or less based on vendor reliability and their support. Some of them enthousiastically prepare the proof-of-concepts, which are requested more for political reasons than to objectively see if the product works. If this would be a good way of choosing such a product - even with properly executed proof-of-concepts - then all these companies are wasting their money. It would be easier and cheaper to ask an independent company to periodically do an extensive research and simply buy the results.

But I'm afraid it does not work like that. The problem is that each company has specific needs, which brings us again to the QUINT2 model.

How to define these requirements?

Instead of explaining what requirements gathering is all about, I'll mention only the aspects specific to SOA.

A difficult problem in gathering requirements for SOA products is that stakeholders (especially business people) cannot associate their world with the SOA world (BPM, middleware, infrastructure,...). The QUINT2 model can help by having a workshop about these "ilities" and explaining and matching their definitions to the specific situation. E.g. interoperability is a capability to integrate with other systems. The questions behind it are: what are the future plans (e.g. integration with internal and external parties), what is the type of integration on process / business level, and so on. The answers give you the material to make these ilities specific and quantified.

A properly defined integration architecture could play a crucial part in this process. This architecture is also distilled from business goals and requirements from the projects needing SOA. I find two books the most helpful in this architecture process: Enterprise Integration Patterns and Next Generation Application Integration. The advantage and goal of an integration architecture is to simplify and explain the world of integration by linking their business requirements to choices, risks and consequences in the SOA / EAI world.

Conclusion

Gathering requirements with help of the QUINT2 model in order to choose SOA products is a daunting task, but very important. It helps you choose the right one. It is funny to see that some customers find out that they don't need products like an ESB or a BPM suite at all. But even more important, you will know what to do with them once they are installed.

  • Share/Bookmark

Filed under Requirements Management, SOA | 1 Comment »



One Response to “Your SOA product choices should be based on the QUINT model”



    Erwin Bolwidt Says:
    Posted at: January 18, 2008 at 4:57 pm

    Interesting piece, Viktor. I will definitely check out Quint2 for non-functionals.

    I think you should mention that in the case you describe, a direction for the solution has already been chosen (a SOA architecture) so you don’t need to go through a process of selecting the direction of the solution first.
    That’s very valid, “The solution must consist of an off-the-shelf ESB product” is a perfectly valid requirement (constraint) if it helps to satisfy the needs of a stakeholder. It also represents on externally observable aspect of the system, so even though that requirement is a “design” (a ‘how’), it can still be a good requirement.

    Erwin



Leave a Reply

Click here to cancel reply.

Deployment automation for Java application running on Websphere, WebLogic and JBoss

Archives

  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009

Xebia Sites

  • Xebia Corporate
  • Xebia France
  • Xebia India

Categories

  • Java (282)
  • Agile (109)
  • General (50)
  • Testing (42)
  • Performance (42)
  • Hibernate (36)
  • Scrum (33)
  • Podcast (31)
  • Architecture (31)
  • Spring (28)
  • SOA (24)
  • Maven (22)
  • Project Management (22)
  • Middleware (23)
    • Deployment (14)
  • Flex (17)
  • JPA (17)
  • Eclipse (15)
  • Xebia Labs (15)
  • Quality Assurance (14)

Tag Cloud

    Java Semantic Web esb product owner Lean Poppendieck Spring JavaOne Agile XML Architecture Xebia Hibernate Seam qcon fitnesse IntelliJ Scala Maven Introduction to Agile Functional Programming Grails SOA Ajax Scrum Performance Agile Awareness Workshop Testing Closures Groovy