Click here to close now.


Agile Computing Authors: Liz McMillan, Carmen Gonzalez, Pat Romanski, Jayaram Krishnaswamy, Elizabeth White

Related Topics: Microservices Expo, Industrial IoT

Microservices Expo: Article

Agile SOA Governance in SMEs

While we need governance processes to make SOA work, the purpose of SOA is to help IT deliver value to the enterprise

The increased manageability, reliability, and opportunities for reuse promised by a SOA can only be fulfilled with an effective governance structure in place to coordinate service creation, maintenance, provisioning, and consumption.

However, many small and medium-sized organizations struggle when starting their service catalog due to the seeming contradiction between the strategic benefits of SOA and the often negative impact that governance can have on individual line-of-business project schedules. How do we get our projects done while building a service portfolio? This article proposes governance structures that embrace the tactical, project-centric nature of much of our work while acknowledging the strategic importance of services.

The Need for Governance
By definition, services are intended to be shared resources. Sharing resources among stakeholders without a system to govern their use can and often does lead to conflicts over resource management and utilization. Services need to be governed effectively to keep ROI high (e.g., by preventing the re-creation of the wheel) and meet SLAs (e.g., by ensuring that services are provisioned with appropriate computing resources to fulfill the needs of their consumers). Governance also enables enterprises to discover new service requirements and adapt to change.

The Need to Deliver
While we need governance processes to make SOA work, the purpose of SOA is to help IT deliver value to the enterprise. However, the enterprise generates revenue (or other value) through its lines of business (LOBs). It's fair to say that LOBs are the engines of the enterprise and technology projects are merely one of the means at their disposal to accomplish this end. Given this direct linkage to the enterprise's most visible efforts, the timely completion of LOB technology projects is critical.

Some books and articles on SOA suggest a complete realignment of the business in order to drive the efficiencies promised by service orientation. In this way of thinking, all development projects should be pipelined through a SOA governance process that enforces standards and ensures the quality of the architecture as the portfolio grows and changes.

Unfortunately, this approach often makes the incorrect assumption that there is no architectural governance in place already - whether formal or informal. Any new governance process must find its place within the already crowded landscape of formal and informal means of controlling technology projects in any enterprise, many of which have grown organically over time, compete for control, and perhaps impede project delivery to an extent not warranted by the value they add.

For small and medium-sized enterprises (SMEs), this may be especially problematic because they may not have the resources to staff such a process in a way that achieves its intent while enabling LOBs to execute their projects on time. Maybe they can't staff a distinct services team. Maybe they don't have enough architects to review every development activity without bringing development screeching to a halt. As a result, the SOA implementation may be undermined as LOBs lose confidence in the long-term vision of reduced costs and increased productivity. They ask the valid question of whether the current delays are having a bottom-line impact that may not be recovered until after SOA is replaced by the next IT buzzword. They haven't heard about Cloud Computing yet... shhhh.

If we assume that development teams are already delivering value to the LOBs they support then they are designing software that works well for the purposes of the LOB but may not be usable by other LOB development teams because it is tightly coupled, lacks the ability to scale, etc. The fact that this is inefficient at the enterprise level is not readily apparent to the LOB. These development teams are not necessarily looking for opportunities to deliver value to the enterprise - they are focused on their LOB. The perceived value of their work is high. Slowing down delivery of development projects to resolve an enterprise-level inefficiency is unlikely to be popular with the LOBs.

Approaches to resolving this dilemma typically involve driving change from the top and parallelizing all service development into a separate specialized team. This is rational and capitalizes on popular approaches to increasing development throughput (if ignoring Brooks' Law). With the CXOs on board, one would expect the outcome to be a well-resourced services team standing at the ready whenever needed to implement services in support of the main development team's efforts. However, the mission of this team is not to provide the best results for the LOB, but for the enterprise. To achieve this, the services team needs to be strategic in its creation of services. It must take the requirements of a given LOB team and research them to determine if they are already generic enough to work for other teams. It must assess the scalability and manageability issues of the service across consumers. In short, it must be careful. Being careful takes time. In a small enterprise, projects have short delivery timelines - often less than a year, very frequently one business quarter or less. How can the services team serve the mission of being careful while delivering in short timeframes?

Make It Work, Make It Right, Make It Fast
The job of governance is to help identify opportunities for increasing efficiency in the development of software across the enterprise. While the enterprise needs governance to help it realize the full value of a Service Oriented Architecture, we need to ensure that the governance is enabling not limiting. The focus should not be on preventing mistakes, but on encouraging success. Kent Beck's famous exhortation "Make it Work, Make it Right, Make it Fast" doesn't start with Make it Right because that leads to a quest for perfection in the absence of a completed work product. What if the organization identified a potential new service during the course of the normal work of a LOB development team, but allowed the team to continue its work implementing the new service for itself (perhaps even as a library) while tasking another team to determine whether the function(s) were worth expending the effort to turn into a service and planning that work? From the enterprise perspective, we would be starting to Make It Right even while the LOB was getting started Making It Work. This seems like the best of both worlds.

Unfortunately, many governance models serialize the processes of governance and development - governance is a gate through which all projects (or even ideas) must pass. The creation or modification of a service has an enterprise impact and so must be carefully considered. It can get crowded at this gate and projects needed by the LOB can get stuck there while the governance team debates the merits of the project functions in relation to the SOA.

When the services have been identified, it is a common recommendation to pass the service requirements on to a team specializing in service creation / maintenance / management. This is another potential bottleneck as the delivery of services to the main project must be carefully coordinated to ensure the project delivers on time. A quality enterprise service that considers the needs of multiple stakeholders can take as long to design, implement, and test as the main project.

Agile SOA Governance
There is without doubt merit in both of the core concepts commonly presented in the context of SOA: the need for governance to coordinate on services; and the advantages of creating a team with skills and experience to focus on services. The problem is in the process that manages work across these expert groups and the line-of-business development teams. Figures 1-3 present alternative approaches to this flow.

In all of the alternatives presented, requirements are collected and passed through the filter of an architectural review panel which serves the governance board for services among other duties. This panel determines whether the project incorporates concepts that appear to be candidates for services. Some of these will have already been created and are planned for use in the project. Some will have already been created, but their use was overlooked by the analysis team. Still others will be candidates for the creation or modification of a service.

This review is meant to be light so as not to impede the flow of development as we make the assumption that we should first Make It Work and that opportunities to Make It Right and Fast will exist down the road. What happens after this filter determines how rapidly the project can be delivered and I would assert how successful the adoption of SOA will be in the enterprise.

Figure 1 presents a fairly conventional linear approach to the problem. If a service exists, its use is required and fed into the design phase of the relevant LOB development iteration. If it does not exist or is inadequate in its current form, the requirements are fed to the services team, which then goes through a standard development cycle of elaborating on the requirements in the enterprise context, designing a solution, developing and testing it, and finally deploying it for incorporation into the LOB development cycle. This can be problematic if the service is fundamental to the application, and development of other parts of the software is dependent on understanding and utilizing the service. The problem arises from the fact that the LOB development team is not aware of the service interface and other characteristics until the completion of the service project. Without careful planning, this may have the impact of serializing the services project and the LOB project, thereby undermining the intended effect of a separate services team.

Figure 2 takes the problem of late information and deals with it by providing earlier communication between the services and LOB teams. In this approach, the LOB team receives the planned interface for the service from the services team after it completes its design phase. Depending on approach, it may get more than just the interface. For example, it may get mocks, stubs, or tests as well. All of these things will help it move forward in developing the software in its system that depends on the service, thus decreasing the bottleneck effect. If during implementation, the interface needs to change, that should be communicated to facilitate the refactoring of dependent code. If the LOB team develops a local proxy or business delegate, this should make it easier to refactor. Later, when the service is fully implemented, integration testing can be performed. Nevertheless, the final integration testing and deployment are dependent on the completion of the services team's work. While we have provided more information earlier, allowing for a more adaptive and accurate approach to concurrent development, the enterprise work may still delay the LOB work.

The final approach depicted in Figure 3 assumes that the LOB development team can develop either a service or library itself locally that satisfies its needs for project work to proceed rapidly without dependencies across teams. Ideally, it will anticipate the creation of a service that will replace its local implementation and hide its implementation behind a business delegate. Whenever the services team completes its work, the LOB team should refactor to replace its implementation with the service. Communication between teams about evolving interface definitions will minimize later rework.

While the final approach is inefficient from the perspective that we have two teams concurrently working on developing very similar functions, both anticipate fulfilling the SOA vision. They understand that this is a tactical decision that minimizes the schedule risk of the LOB while enabling the enterprise to move in the direction of its strategic objectives.

On a project-to-project basis, organizations have to determine which of these processes is appropriate. Some enterprise services are more rapidly developed than others. The capabilities of development teams vary. The impact of a service on the application will depend on how core it is to the application. All of these variables factor into the decision-making process and help the organization devise the best approach.

More Stories By Chip Temm

Over the past decade, Chip Temm moved from North America to Europe and on to Africa where his company anthroLogik solutions provided analysis and development services organizations across seven timezones. He is currently back in Washington, DC where "remote development" means working from home and "wildlife" means raccoon.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@ThingsExpo Stories
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in high-performance, high-efficiency server, storage technology and green computing, will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/Big Data, HPC and Embedded Systems worldwide. Supermi...
As more intelligent IoT applications shift into gear, they’re merging into the ever-increasing traffic flow of the Internet. It won’t be long before we experience bottlenecks, as IoT traffic peaks during rush hours. Organizations that are unprepared will find themselves by the side of the road unable to cross back into the fast lane. As billions of new devices begin to communicate and exchange data – will your infrastructure be scalable enough to handle this new interconnected world?
"Matrix is an ambitious open standard and implementation that's set up to break down the fragmentation problems that exist in IP messaging and VoIP communication," explained John Woolf, Technical Evangelist at Matrix, in this interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Nowadays, a large number of sensors and devices are connected to the network. Leading-edge IoT technologies integrate various types of sensor data to create a new value for several business decision scenarios. The transparent cloud is a model of a new IoT emergence service platform. Many service providers store and access various types of sensor data in order to create and find out new business values by integrating such data.
Too often with compelling new technologies market participants become overly enamored with that attractiveness of the technology and neglect underlying business drivers. This tendency, what some call the “newest shiny object syndrome,” is understandable given that virtually all of us are heavily engaged in technology. But it is also mistaken. Without concrete business cases driving its deployment, IoT, like many other technologies before it, will fade into obscurity.
There are so many tools and techniques for data analytics that even for a data scientist the choices, possible systems, and even the types of data can be daunting. In his session at @ThingsExpo, Chris Harrold, Global CTO for Big Data Solutions for EMC Corporation, will show how to perform a simple, but meaningful analysis of social sentiment data using freely available tools that take only minutes to download and install. Participants will get the download information, scripts, and complete end-to-end walkthrough of the analysis from start to finish. Participants will also be given the pract...
WebRTC services have already permeated corporate communications in the form of videoconferencing solutions. However, WebRTC has the potential of going beyond and catalyzing a new class of services providing more than calls with capabilities such as mass-scale real-time media broadcasting, enriched and augmented video, person-to-machine and machine-to-machine communications. In his session at @ThingsExpo, Luis Lopez, CEO of Kurento, will introduce the technologies required for implementing these ideas and some early experiments performed in the Kurento open source software community in areas ...
Electric power utilities face relentless pressure on their financial performance, and reducing distribution grid losses is one of the last untapped opportunities to meet their business goals. Combining IoT-enabled sensors and cloud-based data analytics, utilities now are able to find, quantify and reduce losses faster – and with a smaller IT footprint. Solutions exist using Internet-enabled sensors deployed temporarily at strategic locations within the distribution grid to measure actual line loads.
“In the past year we've seen a lot of stabilization of WebRTC. You can now use it in production with a far greater degree of certainty. A lot of the real developments in the past year have been in things like the data channel, which will enable a whole new type of application," explained Peter Dunkley, Technical Director at Acision, in this interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
The Internet of Everything is re-shaping technology trends–moving away from “request/response” architecture to an “always-on” Streaming Web where data is in constant motion and secure, reliable communication is an absolute necessity. As more and more THINGS go online, the challenges that developers will need to address will only increase exponentially. In his session at @ThingsExpo, Todd Greene, Founder & CEO of PubNub, will explore the current state of IoT connectivity and review key trends and technology requirements that will drive the Internet of Things from hype to reality.
There will be 20 billion IoT devices connected to the Internet soon. What if we could control these devices with our voice, mind, or gestures? What if we could teach these devices how to talk to each other? What if these devices could learn how to interact with us (and each other) to make our lives better? What if Jarvis was real? How can I gain these super powers? In his session at 17th Cloud Expo, Chris Matthieu, co-founder and CTO of Octoblu, will show you!
Today’s connected world is moving from devices towards things, what this means is that by using increasingly low cost sensors embedded in devices we can create many new use cases. These span across use cases in cities, vehicles, home, offices, factories, retail environments, worksites, health, logistics, and health. These use cases rely on ubiquitous connectivity and generate massive amounts of data at scale. These technologies enable new business opportunities, ways to optimize and automate, along with new ways to engage with users.
Through WebRTC, audio and video communications are being embedded more easily than ever into applications, helping carriers, enterprises and independent software vendors deliver greater functionality to their end users. With today’s business world increasingly focused on outcomes, users’ growing calls for ease of use, and businesses craving smarter, tighter integration, what’s the next step in delivering a richer, more immersive experience? That richer, more fully integrated experience comes about through a Communications Platform as a Service which allows for messaging, screen sharing, video...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo in Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 17th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal an...
WebRTC converts the entire network into a ubiquitous communications cloud thereby connecting anytime, anywhere through any point. In his session at WebRTC Summit,, Mark Castleman, EIR at Bell Labs and Head of Future X Labs, will discuss how the transformational nature of communications is achieved through the democratizing force of WebRTC. WebRTC is doing for voice what HTML did for web content.
SYS-CON Events announced today that Sandy Carter, IBM General Manager Cloud Ecosystem and Developers, and a Social Business Evangelist, will keynote at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA.
The Internet of Things (IoT) is growing rapidly by extending current technologies, products and networks. By 2020, Cisco estimates there will be 50 billion connected devices. Gartner has forecast revenues of over $300 billion, just to IoT suppliers. Now is the time to figure out how you’ll make money – not just create innovative products. With hundreds of new products and companies jumping into the IoT fray every month, there’s no shortage of innovation. Despite this, McKinsey/VisionMobile data shows "less than 10 percent of IoT developers are making enough to support a reasonably sized team....
As a company adopts a DevOps approach to software development, what are key things that both the Dev and Ops side of the business must keep in mind to ensure effective continuous delivery? In his session at DevOps Summit, Mark Hydar, Head of DevOps, Ericsson TV Platforms, will share best practices and provide helpful tips for Ops teams to adopt an open line of communication with the development side of the house to ensure success between the two sides.
The IoT market is on track to hit $7.1 trillion in 2020. The reality is that only a handful of companies are ready for this massive demand. There are a lot of barriers, paint points, traps, and hidden roadblocks. How can we deal with these issues and challenges? The paradigm has changed. Old-style ad-hoc trial-and-error ways will certainly lead you to the dead end. What is mandatory is an overarching and adaptive approach to effectively handle the rapid changes and exponential growth.
Today air travel is a minefield of delays, hassles and customer disappointment. Airlines struggle to revitalize the experience. GE and M2Mi will demonstrate practical examples of how IoT solutions are helping airlines bring back personalization, reduce trip time and improve reliability. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Dr. Sarah Cooper, M2Mi's VP Business Development and Engineering, will explore the IoT cloud-based platform technologies driving this change including privacy controls, data transparency and integration of real time context w...