Jesper Boeg on Priming Kanban
In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Boris Lublinsky on Sep 06, 2008
A recent white paper from IBM Global Services describes the lessons applied by IBM’s Academy of Technology to achieve success in their SOA implementations. They did that by focusing on five priorities:
According to IBM:
To achieve a successful (SOA) deployment, a core architecture leadership team must first be established to ensure consistency of efforts and direct the vision of the architecture. Best practices specific to architecture ... can be grouped into ... distinct themes: reuse, data management,...
SOA reusability goes far beyond traditional code reuse. It has to be raised to achieve architecture reuse - the creation of a reusable architecture framework which facilitates SOA initiatives across the enterprise through careful planning, engineering and management.
You shouldn’t assume that existing Web services comply with standards or that they can be easily composed and integrated. Service composition is highly complex and often includes transactions, unit-of-work boundaries, error handling, security and propagation of credentials, and aggregation of business logic. As a best practice, you need to design services for reuse at the outset and increase reusability as the business case for the required effort progresses
says the white paper.
Many SOA implementations are focused on service implementation and do not pay adequate attention to the data management aspect of SOA. This lack of attention can result in data mismanagement, unreliable data and threats to data integrity. Many practitioners are still living in the realm of traditional point-to-point data requirements.
According to IBM:
As you move toward implementing data as a service, effective information metadata management and use of Common Information Model (CIM) is a key critical success factor. Using CIMs can help speed development by enabling you to establish standards and descriptive metadata for information that can be applied to all interfaces, messages, data structures and data transformations to support reuse. A model driven approach to standardize best practices will also accelerate development and provide for further consistency across interfaces and informational structures. Using this model-driven approach helps reduce the need for transformation, and makes it much easier to design transformations when they are required.
Creating a linkage between IT and a business:
...requires a purposeful effort to link IT to your business processes with a focus on future business process design - that is, you need to envision SOA solutions by examining how the business processes should run, not how they currently run ... Business process modeling provides an effective method for tracing life cycles of key business entities to yield simple, flexible business process models with consistent task granularity to more easily gain consensus among different stakeholders, both at the business and IT level.
Such modeling is only useful if it is based on solid methodology, ensuring that models are correct. If high level business process models are erroneous, it is difficult and expensive to refine them into executable business processes. According to IBM:
Component business modeling (CBM) as well as Service-Oriented Modeling and Architecture (SOMA) both support a best practices approach to modeling. CBM helps you analyze your enterprise by first partitioning it into relatively independent, non-overlapping business components to identify opportunities for innovation or improvement. Service oriented modeling is necessary for the creation of an SOA and for input uses the results of the business componentization analysis as well as business goals and key performance indicators. The output is an SOA which is independent of any specific technology as well as model for how it can best be realized using the appropriate technologies
The greatest number of lessons learned and best practices identified by IBM’s study relate to the impact of organizational factors including:
...moving away from a siloed organizational structure, which tends to limit thinking within the scope of individual projects. Integrating a large number of projects with their own agendas without some central control is nearly impossible and almost always inefficient. A best practice is to establish a design authority to engage technical stakeholders and promote early architecture decision making.
Another key factor to successfully obtain sustained benefits from SOA was identified by IBM as SOA governance which enables business and IT teams to better collaborate on identifying projects which contribute the most to achieve the business goals.
SOA governance should be introduced prior to your first major SOA project, during any initial SOA pilot projects. This positions your organization to successfully handle the complexity of a major project rather than treating it as a training mission. SOA governance should also align with your organization’s enterprise architecture program.
An enterprise wide and cross-project scope is needed to avoid overlapping and inconsistent governance models embedded within individual projects that may lead to confusion and slow downs.
A typical SOA implementation involves many services interacting with each other. Consequently scalability, reliability and high availability are among the most important requirements for SOA implementation. IBM recommends to:
As much as you can, use known solutions to meet reliability and performance requirements. Then design, test, and retest to confirm that your performance, scalability and interoperability requirements are met. Never deploy a solution without properly addressing and testing these nonfunctional requirements.
Another key factor for SOA success is ensuring operational visibility and control of the implementation:
Problem and incident management systems along with problem determination and troubleshooting utilities should provide a sufficient configurable level of information at all levels of your architecture. At the same time, selecting technological solutions that simplify SOA infrastructure management will help limit complexity.
The five factors described in IBM’s paper can help companies and individual SOA practitioners to focus on the most important faucets of SOA implementation ( compare to my previous post), and consequently more efficiently meet their investment objectives as they plan for and deploy a SOA. They will also help to deliver ongoing benefits as SOA is extended across enterprise solutions.
In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
No comments
Watch Thread Reply