Enterprise Agility Partners with its Clients to Focus on Creating
a Competitive Marketplace Advantage
Achieving sustainable marketplace advantage is akin to nirvana
for any organization. It is a compelling notion that suggests
a company will always be ahead of its competition. There is only
one way for an organization to create sustainable advantage, and
it is not through the latest technology, or necessarily the implementation
of a new product, service or idea. While these factors may contribute
to some temporary advantage, the advantage is fleeting and will
decrease over time as new technology is brought to market or a
competitor’s product commands the lead. Competitive advantage
is only realized through the institutionalized process that helped
create and implement the new product, service or idea.
Enterprise Agility helps clients realize a competitive marketplace
advantage through the development of repeatable and institutionalized
product and service development lifecycle processes that span
both business and IT. We are not talking about pure product and
service development, but the underpinnings that help an organization
leverage the core competency that results in superior products
and services. Building this capability is not trivial. The creation
of sustained advantage requires the development of a number of
interlocking components tailored to meet the specific needs of
the organization. The sum of these interlocking components is
what we call the Business-IT Lifecycle Process. While this may
be a fancy term, it loses curb appeal for anyone who is not prepared
for a little work. There can be significant effort involved in
building this process, including development of a practicable
lifecycle methodology; a sound and right-sized software development
process; business and IT architecture; and a framework for implementing
business process management.
Other areas requiring attention and integration are a sound testing regime, training and a change management process that all parties can use and understand. We also recognize that throughout such an evolution, people should be mentored so they can continue the role of change agent and help propagate best practices across the organization. Of course, no organization wanting to establish a Business-IT Lifecycle Process tackles all of this at once and succeeds. Small deliberate steps are desirable. Pilot projects are more the rule than the exception. And a committed management team is crucial. Recognizing this, we partner with our clients to deliver measurable solutions that positively impact their bottom line in the near-term while building the foundation and framework for a progressive transformation to a vision of the process that can be achieved.
The next section outlines what we feel are necessary components that help our clients take the right deliberate small steps while not losing track of the big picture. Each focal point describes activities that are valuable sources for discovering how to define and build the underpinnings of the Business-IT Lifecycle Process that make sustainable marketplace advantage possible.
Focal Points within the Enterprise Agility Business/IT Lifecycle Service Offering
It’s our experience that, while a repeatable process is essential for facilitating business and IT change, most organizations are not prepared to adopt one in wholesale fashion. In fact, a monolithic process, given the diversity of team composition (including breadth and size) from one project to the next, is almost never appropriate. Enterprise Agility mentors organizations in the development of industry best practices, standards and processes that are tailored to meet a client’s specific situation while ensuring both business and IT have the tools and techniques necessary to manage business change. As such, we look to draw boundaries around three core practices, each of which contribute to enabling a Business-IT Lifecycle Process: business process management (discovery, capture, modeling and analysis, re-engineering, propagation, improvement); business and IT architecture; and software lifecycle development. Then we look to understand how each of these practice areas interface with one another. The goal of lifecycle process enablement is making the Business-IT continuum as flexible and transparent as possible without sacrificing semantics and performance, while containing development and deployment cost. As an acid test, we want to be able to define a vision for a product or service and see that vision realized through business processes, business rules, requirements, business entities, analysis, design, development, testing and execution. Another key component of enablement is planning for simplicity first. It may not be surprising that a Business-IT Lifecycle Process can get pretty complicated pretty quick. By looking at the three practices holistically from the get-go, we attempt to keep touch points and contracts as simple as possible at first and only increase their complexity as the organization matures and the business dictates. No one will benefit from a lifecycle process that they can’t understand. Several aspects of these focal points require further elaboration.
Business Process Analysis
The obstacles in facilitating business change can sometimes appear daunting, if not insurmountable. In addition to the obvious analytical challenges of change identification and planning, there are significant impediments in the definition, impact analysis (organizational, procedural, systems, etc.), solution design, and certainly, communication of the change. Enterprise Agility recognizes these challenges and addresses them through a rigorous and well defined method to capture the current state of the business processes, organization, roles-data usage, applications, technology and even the locations in which each process operates. The future-state can then be defined using the same modeling tools and techniques while allowing the organization to perform point-process improvement or wholesale business process reengineering depending on the desired impact and state of the current processes.
Business Rules Management
The capturing of business rules and the visual modeling of rules networks allows for a clear and common understanding of the core business domain knowledge. Rules drive an organization and are responsible for much of its performance, good and bad. Enterprise Agility has developed best practices and techniques that liberates the IT department from the onus of deciphering software and empowers the business community to manage their own business rules. Moreover, we give them a common platform so they can communicate: the rules model. We also integrate the rules discovery, harvesting and analysis practice with how the rules ultimately execute. Business rules engines are still fairly complex and certainly an IT responsibility. However, with the advent of rules engines with business-friendly interfaces to these applications, and coupled with visual capabilities offered by tools such as Rational Rose or XDE, it’s now possible to manage business rules from concept to execution without losing the context of the business. Rules engines also enable mass emigration of rules that were heretofore locked in programming code, stored procedures and data tables. Rules deployment and change is vastly more manageable simply because the rules are all located in the same architectural component.
Service Oriented Architectures
Developing Service Oriented Architectures involves understanding the trends in major families of enterprise software products ranging from business process management tools, messaging middleware, messaging hubs, workflow, rules engines, application servers, and ERP packages. Enterprise Agility expertise is based upon pragmatic knowledge of current best practices in using these components as well as up-to-date understanding of the evolving direction of industry. These decisions cannot be the sole provenance of IT since the constraints inherent in any choices directly impact the business’s ability to meet the objectives critical to their success. If this activity is to support the Business-IT Lifecycle Process, SOA design must encompass the process and software needs of both business and information technology.
Requirements Management
Another key (in addition to business rules management) to bridging the language of business and the language of systems developers are requirements. However, communicating through requirements has been a difficult and sometimes haphazard endeavor. Enterprise Agility has defined a rigorous and coordinated method of using process models, requirements repositories and use-cases to overcome the traditional gap so rampant between business and IT. Also of great assistance are the capabilities of requirements management tools to support change management processes. Because it is inevitable that requirements change as the business changes—even during a project—knowing the source of the changes, the impact of those changes, and providing a tool to manage when and where those new requirements are adopted, helps ease project management. It also helps promote clear expectations to business users as to when and what will be delivered.
Lifecycle Testing
The success of a project should be based largely upon its ability to deliver on the vision and strategy of the business. Testing is supposed to guarantee that what was specified was what was built. But many organizations still launch testing late in the project, using waterfall techniques. Though user-acceptance testing is often the single high ceremony testing event, Enterprise Agility works with clients to build testing into the process from the first days of the project, during inception. Testing cannot wait until the system is delivered from development. There are too many risks involved if one waits until the solution has matured to the point of delivering to a staged environment for user testing. Test artifacts can be developed early, including test approach and strategy, testability elements, test scenarios, test case and script design, unit testing, smoke and end-to-end testing strategy, test ideas, test tool usage and environment/configuration, test intervention in the analysis process, and partnership during use-case development. Like the other disciplines we’ve already discussed, building a testing regime that supports the Business-IT Lifecycle Process is a deliberate, phased set of activities.
Change Management
Understanding that businesses are not static, managing the inevitable change efficiently and consistently ensures that the operations of the business are not interrupted but are fully supported. The institution of change management procedures is critical to ensure that projects stay on track, that changes that must be introduced during the project are handled well and their impacts minimized and that the ongoing changes to the business are supported in a timely manner, reducing the need for large reengineering efforts in the future.
Risk Reduction Using Iterative Development
Most companies are anxious to find and deploy various techniques that can minimize risk during an IT project. We have worked with clients to find practical ways to mitigate risk throughout the System Development Lifecycle (SDLC). One surefire way of containing risk is to implement smaller releases of functionality and use shorter project iterations. Enterprise Agility can advise your organization to build in risk reduction throughout the SDLC by correctly assessing the scope, critical functionality, and other key performance indicators (KPI) of your project so a Lifecycle Plan with right-sized iterative phases can be implemented. Because planning horizons are dynamic and forecast accuracy diminishes as the horizon is increased, we'll show you how to develop a Lifecycle Plan that keeps the near term iterations as short and as frequent as demanded by your system needs.
End-to-End Traceability for the SDLC
Considering the dynamics of the typical software project, a natural goal of your project teams should be to assure that what they will build supports the agreed upon needs of the users, even after—and despite—the myriad changes that threaten the scope and milestones of a project. This is what is commonly termed traceability, the ability to trace back to the roots of what is required of the application: the vision and the original line item requirements.
Enterprise Agility can help your organization establish best practices to maintain forward and backward traceability of your software project—not only during the lifetime of the original project, but equally as important, during the maintenance phase of your application. We can show you how to leverage full lifecycle tools, such as the Rational Unified Process suite, to gain maximum traceability, from vision to component implementation. This also includes designing ways to integrate upwards into your business process models, so that your system artifacts can trace to your work practices, and vice versa.
This is an especially important practice we strongly encourage our clients to undertake. Properly done, end-to-end traceability can be the single most important measure to reduce risk, minimize lifecycle costs and deliver high performance solutions to your users.
Introduction to Capabilities of the Rational Software Toolset
Rational Software Corporation markets dozens of software products that organizations can purchase to perform certain tasks. Rational's training is also world class and we highly recommend any organization that is committed to deploying the Rational Unified Process (RUP) to enroll its staff in Rational's courses.
Enterprise Agility provides additional information with this service. We can introduce you to the most valuable components in the Rational Software Toolset that will enable you to initiate a business software development project: RequisitePro, Rational Rose, ClearQuest, ClearCase LT and SoDA. Even more, we can introduce some best practices in configuring these applications and establishing project standards that have worked well for our clients.
This service is useful for the organization that has committed to using RUP but is looking to establish a robust project framework quickly.
Extending UML and Rational Rose for System Architecture Modeling
By design, the UML and many of Rational's tools can be extended to accommodate specific needs of a software development project. In our project experience with past clients, we have developed innovative ways to extend the UML and Rose to increase the efficacy of system architecture modeling, whether for custom development, application/system ports, or Commercial Off-the-Shelf (COTS) evaluations. We can help you leverage these extension abilities to produce more meaningful visual architectural models, using various views and realizations.
Extending UML and Rational Rose to Capture the User Experience
Similar to extending Rational's tools and the UML for architecture modeling, clients have benefited from expanding modeling capabilities to include the "user experience," a set of abstractions and modeling standards created by Enterprise Agility to maximize understanding of the logical user interface models that will help guide the design of a system's user interface. This service is especially helpful if your software application has a significant user interface component and your project will require input from a wide-ranging user community. The extensions designed by Enterprise Agility have aided user groups during JAD sessions and use case reviews. It also makes users more comfortable working with object-oriented and RUP concepts.
Business System Development: Adapting UML and the Rational Unified Process
This service extends the basic concepts provided in Introduction to Capabilities of the Rational Software Toolset, which is primarily workshop oriented. Instead, Enterprise Agility will work hands-on with your organization to establish a complete, working Rational Analyst Studio environment that is optimized for developing business applications and performing Commercial Off-the-Shelf (COTS) evaluations. We will configure and added the appropriate extensions, stereotypes and integration required of your project and your IT organization's work practices.