CHAPTER 17
Applying Complexity Thinking to Projects with a High Level of IT Complexity

“For every complex problem there is a simple solution. And it is wrong:”

—H. L. MENCKEN, JOURNALIST AND SATIRIST

  Project Profile
Complexity Dimensions Independent Moderately Complex Highly Complex
Level of IT Complexity
  • Solution is readily achievable using existing, well-understood technologies
  • IT complexity is low
  • Solution is difficult to achieve or technology is proven but new to the organization
  • IT complexity and legacy integration are moderate
  • Solution requires groundbreaking innovation
  • Solution is likely to use immature, unproven, or complex technologies provided by outside vendors
  • IT complexity and legacy integration are high

The development of business solutions with software-rich features supported by innovative technology is a complex venture. Over and over again, we see evidence of IT teams that are working on components of the system; these teams are often unable to manage the dependencies and integration risks, resulting in (1) schedule and cost overruns to fix the issues, (2) defects discovered by the customer in the field, and (3) erosion of the business benefits expected from the new solution. IT organizations are structured so that the hardware and the software components are provided by different technical teams, which can lead to bandwidth, performance, and compatibility issues. With complexity accelerating, far-reaching new managerial techniques, partnerships, and technologies are needed if we are to maintain our economic competitiveness.

WHAT MAKES PROJECTS WITH SIGNIFICANT IT COMPONENTS COMPLEX?

Virtually all projects that involve significant new IT products and services are highly complex. The complexity of IT projects comes in many flavors, both technical and managerial. In addition, the need to build the next generation of IT systems that are agile and easily modified is becoming ever more urgent.

TECHNICAL COMPLEXITIES

IT solutions are technically complex if they involve a widespread collection of applications functioning together to achieve a common mission. Moreover, the use of unproven technology adds significant complexity for the technical team to manage. Solutions that involve multiple products from diverse vendors may not follow the same protocol, causing significant integration issues. Examples of business solutions with significant IT complexity are communications networks and enterprise resource planning applications.

MANAGERIAL COMPLEXITIES

Projects to design and build complex IT solutions are usually accompanied by several other complexity dimensions, including:

  • Multiple contractors providing components of the solution that must be integrated

  • A large and diverse project team, with a program office to coordinate subprojects and a large collection of subject matter experts (technical, administrative, finance, legal, etc.)

  • A central master plan, with separate plans for subprojects

  • A formal bureaucracy that is highly visible and sensitive to political, environmental, and social issues.

NEED FOR AGILITY

“Most business applications are too inflexible to keep pace with the businesses they support.”

—JOHN RYMER AND CONNIE MOORE, FORRESTER

To remain competitive, organizations need flexible, adaptable business solutions and consumer products that rely on embedded IT systems. The business world has recently become well aware that its inflexible business processes and IT business applications form barriers to business agility at every turn. Successful 21st century businesses need to streamline their processes and applications to be nimble, adaptable, and agile if they are to keep pace with changes in the competitive landscape and in customer preferences.

Product-focused businesses make every effort to be seen as leaders in innovation. Undeniably, their future growth and position in their industries hinge on their ability to develop innovative products and services while maintaining the quality and customer satisfaction of their current offerings. Many innovative consumer products are dependent on IT applications: automobiles, cameras, mobile phones, PDAs, iPods, and virtually all household appliances, to name a few. Many of these software-rich products are mobile, so they need to be engineered to be as self-reliant as possible, to adapt to customer preferences, styles, and usage patterns, and to need little in the way of IT support.

Likewise, customer-facing business processes need to be intelligent and adaptive, or customers will simply go to a competitor whose systems are intuitive and easy to use. Unfortunately, our methods for building adaptive IT systems are sadly inadequate. The problem is that the complexity of business solutions and innovative products is growing faster than our ability to devise radical new approaches to replace current software development technologies. In addition, the increasing demand for software-rich safety-critical systems and medical devices means that the stakes are growing ever higher, with the potential for IT system failures having high human costs.1 Without a doubt, we need to quickly adopt more contemporary IT development approaches.

TECHNIQUES TO HARNESS IT COMPLEXITY FOR COMPETITIVE ADVANTAGE

For the past 20 years, cio.com has produced the “CIO 100,” a list of the top CIOs across multiple industries. In 2007, the winners were dubbed The Transformers for their contributions to their companies in terms of innovation and increased business value. Companies that strive to harness technology for competitive advantage need “… to have IT departments that understand what makes their companies tick and IT leaders who know how to translate visions into actions…. This year’s CIO 100 Awards honorees understand. They’ve embraced IT innovation as a tool for transformation, their winning projects motivated by critical business needs and the conviction, backed by solid analysis, that technology-enabled change can create new value. The CIOs at these companies define themselves not as technology suppliers but as facilitators of corporate growth.”2

Organizations innovate in many different ways, ranging from product innovation to process innovation to customer experience innovation. To design, build, and maintain innovative, adaptive products and business solutions that are dependent on highly complex IT applications, we must understand and account for business strategies as they evolve, customer inclinations as they transform, and the competitive environment as it changes. In addition, we must be able to build and support nested systems within systems, complex business rules, and the intricate feedback loops that are characteristic of software-rich systems.

Jim Highsmith, one of the gurus in the agile project management arena, tells us that today’s development teams must strive to adopt the objectives of reliable innovation:?3

  • Continuous innovation: to deliver on current customer requirements

  • Product adaptability: to deliver on future customer requirements

  • Reduced delivery schedules: to meet market windows and improve return on investment

  • People and process adaptability: to respond rapidly to product and business change

  • Reliable results: to support business growth and profitability.

While building software-intensive systems is an engineering specialty all its own, we offer a few promising managerial and technical techniques that are appearing on the horizon.

ADAPTIVE MANAGEMENT APPROACHES

Thought leaders in the IT industry suggest that radical new approaches are required to build complex adaptive products and business solutions. We offer these up-and-coming management approaches to foster innovation and customer empowerment:

  • Build solutions that empower customers

  • Establish “skunk works” teams

  • Exploit the advantages of edge-of-chaos management

  • Introduce a last-responsible-moment decision-making process

  • Structure the effort into micro projects

  • Create communities of practice and diversity of thought

  • Ensure your IT architect is seasoned

  • Forge new partnerships

  • Set up integration teams

  • Strike the right balance between discipline and agility.

Build Solutions that Empower Customers

To design and build complex adaptive business systems that are responsive to changes in customer preferences and the global marketplace, IT leaders across the landscape are focusing their teams on several concepts: innovation, adaptability, customer empowerment, and revenue generation. IT business solutions are not about cost savings any more; they are about revenue generation and empowering customers to drive the system so that they get what they want, when and how they want it. Forward-thinking, successful CIOs from Washington Mutual, Best Buy, and Hilton Hotels cite three simple yet daunting steps to building solutions that empower the customer:4

  1. Find out everything you can about the customer.
  2. Build a system that anticipates his every wish.
  3. Step back, get your own business processes out of the way, and let him do his thing.

To find out everything you can about your customers, conduct extensive research and information-gathering focusing on their preferences, likes, and dislikes. Then put together a creative team to anticipate what customers will want in the future. Since it is impossible to predict the future precisely, it takes lots of experimentation and prototyping to bring into focus a solution that will be adaptable as customer preferences change.

Establish “Skunk Works” Teams

We learn from the 2007 CIO 100 honorees report that innovations most often originate from business leaders or cross-functional teams established to tackle a specific problem or opportunity. Seventy-eight percent of the CIOs surveyed said that IT shares leadership of innovative projects with business sponsors.5 Establish teams modeled after skunk works teams (see Chapter 7), which are semi-autonomous project teams separated from the operations of the larger organization to work on critical, time-sensitive, complex, and sometimes secret projects. This strategy was made famous by a division of Lockheed Martin, the world’s largest defense contractor, which achieved great success by fielding autonomous teams to manage complex and sensitive projects.

Exploit the Advantages of Edge-of-Chaos Management

“Profound new solutions can emerge from instability and even from near chaos.”

—HUGH CRAIL, PA CONSULTING GROUP

Edge-of-chaos management is also relevant in the context of building innovative products and adaptive business solutions. Encourage your team to operate on the edge of chaos by brainstorming, creating, studying, examining ideas, experimenting, and evaluating flexibility, adaptability, and interdependencies to select the most innovative, revenue-generating, and customer-empowering solution.

In some cases, expert designers will begin to design and develop more than one solution in order to prove which one is truly the most elegant and adaptable. When this approach is used, the outcome can be more innovative and creative than ever imagined. So, again, if your team seems to be operating on the edge of chaos, it might be just the right place to be! (See Chapter 10 for the behaviors and perspectives characteristic of teams operating on the edge of chaos.)

Introduce a Last-Responsible-Moment Decision-Making Process

So how do you know when to wind down experimentation and get down to building something? In Lean Software Development: An Agile Toolkit, Mary and Tom Poppendieck6 describe a technique for making better decisions. They advocate that teams dealing with ambiguity and constant change start development when only partial requirements are known, develop partial solutions in small components iteratively, and build in feedback and learnings after each iteration so that the solution emerges. This approach allows for solution design decisions to be made iteratively as more is learned and encourages the development team to delay commitment to a design concept until the last responsible moment. Design decisions are deferred until all viable options have been explored as fully as possible. The goal is to increase solution adaptability and customer value.

This approach refrains from making decisions too early, when not much is known and more risk is involved. However, be mindful that if decisions are delayed beyond this point, they are likely to be made by default, which can have highly negative consequences. It is up to the complex project manager to intuitively guide the timing of team decisions.

Structure the Effort into Micro Projects

The Standish Group International predicts that micro projects will dominate the IT landscape in the 21st century. Micro projects are the ultimate in minimization; they last no more than four months, involve no more than four people, and cost around $100,000. As noted, the Standish Group CHAOS research indicates that micro projects are more successful than customary large-scale IT projects.7

The many positive aspects of micro projects include the following: Valuable solution components are delivered early and often, learnings occur with each deployment, benefits can be realized immediately, and problems are identified and fixed quickly. However, micro projects also have downsides: It takes considerable effort to manage resources across the many projects, configuration management may be made more difficult, and dependencies between projects are difficult to manage.

Create Communities of Practice and Foster Diversity of Thought

To leverage the diverse expertise needed to build complex adaptive business systems, project leaders often establish an integrated solution design team that comprises empowered experts who have clear roles, responsibilities, and authority as well as a common understanding of the project vision. Diversity of core solution design team members is critical for them to come up with the best solution, i.e., one that can react to changes in the environment.

On complex projects, communication is of utmost importance. Within any expert group, a significant amount of unspoken knowledge is held in people’s heads. This sometimes vital information may be intuitive, experiential, or judgmental, and it is often context-sensitive. In addition, the information may be difficult to articulate and it is almost never recorded. Establishing formal communities of practice to share this knowledge facilitates the emergence of collaborative solutions that are much more innovative than they would be if designed by a single architect.8

Ensure Your IT Architect Is Seasoned

The vital role of the IT architect has been woefully underused in the IT world. As a result, there is a shortage of individuals who are skilled and seasoned IT architects—an expertise that is essential when building complex IT systems. This role is becoming pivotal to complex IT projects because of the extent of technology options (hardware, software, and communications) available today. The job of the architect is not just about IT; it is also about achieving business benefits. The architect has the vision of how the new solution will look when it is put together with business processes, policies, manual procedures, training, and desktop tools, and when personnel are in place to use the new technology.

Strive to recruit a certified IT architect experienced in specifying, designing, implementing, testing, releasing, and driving maintenance of either semi-custom or custom software. Embed the solution architect into the project team from the very beginning, when the solution concept is being defined and lots of experimentation is expected.

ED TITTEL
Technology editor, Certification Magazine9
IT Architects: Blueprint for a Future Career

An IT architect is an individual who not only understands multiple aspects of information technology from a technical and development or implementation perspective, but who also understands how the proper application and use of IT can help an organization or company meet its goals, improve productivity or profitability and, in general, help organizations work more effectively. Thus, an IT architect brings an understanding of and appreciation for business or organizational needs, goals and objectives, and can assess the value of information technology investments in terms of the returns they bring and the opportunities they enable.

The Open Group (www.opengroup.org) is a consortium whose mission is to “work toward enabling access to integrated information within and between enterprises based on open standards and global interoperability. Recognizing the industry demand for experienced IT architects, the Open Group launched the first independent, comprehensive IT Architect Certification Program. The program defines global standards for measuring the skills and experience of IT architects, and for the operation of IT architecture practices within enterprises.”10

The Open Group IT Architect Certification (ITAC) program was developed in response to a variety of emerging trends: escalating recognition of the significant business impact of architectural decisions not only to ensure return on investment but to deliver real business value, even to drive revenues; increasing acceptance, adoption, development, and convergence in the industry on the definition of an IT architect; globalization demanding that worldwide standards be defined to ensure quality control; and the need to distinguish those professionals who are most competent and experienced. The program offers three levels of certification:11

  • Level 1: Certified IT Architect—able to perform with assistance/ supervision, with a wide range of appropriate skills, as a contributing architect

  • Level 2: Master Certified IT Architect—able to perform independently and take responsibility for delivery of systems and solutions as lead architect

  • Level 3: Distinguished certified IT Architect—effects significant breadth and depth of impact on the business via one of three advanced career paths: Chief/Lead Architect, Enterprise Architect, or IT Architect Profession Leader.

The Open Group maintains a secure on-line listing of all certified IT architects.

Forge New Partnerships

“On every project, we’re working with suppliers and other manufacturers, and IT is there to help us collaborate with third parties.”

—CHRIS COUPLAND, CIO, RAE SYSTEMS

When multiple development teams are involved, consisting of both internal and external members dispersed geographically, the teams can no longer view themselves as individual entities, but must instead commit to establishing strong partnerships. The focus turns to understanding what is needed (rather than negotiating the best contract), clearly defining roles and responsibilities, and intensely collaborating every step of the way as the project progresses.

A stunning example of 21st century partnerships is the outsourcing agreement between BAE Systems (the combination of British Aerospace and Marconi Electronic Systems) and Computer Sciences Corporation (CSC). In one of the longest running alliances of its kind, “The two companies have successfully grappled with the biggest challenges in any outsourcing agreement: building mutual trust over the long haul and creating an effective deal management structure. And they have kept a focus on the business even while doing some highly complex IT implementations.” As a result, IT costs were reduced by 30 percent in the first 18 months of the partnership.12

According to Chris Coupland, CIO of BAE Systems, in 2006 BAE discovered that the contract language for service levels with its 13-year IT outsourcer, CSC, was inadequate. Coupland explains: “So we came up with what we call the Continuous Improvement Framework (CIF), which is noncontractual. The CIF covers eight to ten different areas across the business—financial performance, service performance, and administrative tasks such as assets management, billing, invoicing, proposals, etc., mundane things that can nevertheless cause a relationship to sour if not addressed. We set targets each year that both sides buy into. We sit down and say, ‘That’s where we got to on asset management accuracy, or project management as a discipline, or procurement cost savings last year. Where do we want to get to this year?’ And we’ve had a lot of success in jointly meeting those targets.”13

Building a trusting relationship comes from working closely together, slowly earning each other’s trust and confidence. “Establishing shared expectations and a requirements management process involving all stakeholders will break the cycle of misunderstanding and unfulfilled expectations.” Ways to accomplish this include:14

  • Build a strong cross-discipline project team

  • Build design teams at the contractor’s site that reflect the architecture of the solution

  • Ensure that decisions are made at the level where the expertise resides

  • Use an involved executive steering committee to make project-wide decisions

  • Recognize and take advantage of the different cultures of the team members

  • Encourage joint learning from mistakes at every opportunity

  • Strive to uncover the need for rework and course correction early by accurately reporting the state of the progress

  • Insist on open and honest communications.

Set Up System Integration Teams

System integration is all about managing dependencies—and dependencies and interrelationships are what bring about complexity. With multiple development teams, integration is the major risk. Integration involves combining system entities, proving that the system works as specified, and confirming that the right system has been built and that the customers/ users are satisfied.15 Recognizing that software development is riddled with complexity, establish joint integration, verification, and validation (IV&V) teams to bring together the software and hardware components, subsystems, elements, and segments to “build up” the integrated IT system. (See the description of the Vee model in Chapter 6 for more information on IV&V.)

Techniques for the integration team to consider to limit integration complexities include planning the integration of various work flows as an “upstream” activity, planning interfaces early to anticipate integration obstacles, reusing modules whenever possible, and establishing a strong platform concept that limits dependencies, simulation, and layer-based testing.16

Strike the Right Balance between Discipline and Agility

“As a rule, use agile methods for emerging or rapidly evolving components, and plan-driven methods for well-understood or regulated components.”

—BARRY BOEHM AND RICHARD TURNER

As we discussed in Chapter 2, the best approach to managing a project is to use a blend of adaptive project management approaches and conventional plan-based disciplines. The trick for the complex project manager is to determine when each approach is appropriate.

According to two experts, Barry Boehm of the University of Southern California and Richard Turner of George Washington University, “Agile development methodologies promise higher customer satisfaction, lower defect rates, faster development times and a solution to rapidly changing requirements. Plan-driven approaches promise predictability, stability, and high assurance. However, both approaches have shortcomings that, if left unaddressed, can lead to project failure. The challenge is to balance the two approaches to take advantage of their strengths and compensate for their weaknesses. We believe this can be accomplished using a risk-based approach for structuring projects to incorporate both agile and disciplined approaches in proportion to a project’s needs.”17

In their paper presented at the Agile Development Conference in 2003, Boehm and Turner offered these observations drawn from their book, Balancing Agility and Discipline: A Guide to the Perplexed:18

  • Neither method provides a silver bullet.

  • Both methods have environments where they are most likely to succeed, where one clearly dominates the other.

  • Future trends are toward application developments that need both agility and discipline.

  • Some balanced methods are emerging, such as:

    • Agile: Crystal Orange, DSDM (Dynamic Systems Development Method), FDD (Feature Driven Development), Lean Development

    • Disciplined: RUP (Rational Unified Process), CMMI® (Capability Maturity Model Integrated from the Carnegie Mellon University Software Engineering Institute)

    • Hybrid: Boehm/Turner Risk-Based, Agile Plus.

  • It is better to build your method up than to tailor it down. Most plan-driven methods consist of overly rigorous processes and seldom tailor well. It is better to start with the minimum and add rigor to manage risks justified by the cost/benefit analysis.

  • Methods are important, but are not always the answer. Potential silver bullets are more likely to be found in areas dealing with people, values, communications, and expectations management.

So how do Boehm and Turner suggest determining the right balance between agility and discipline? They propose conducting a risk-based analysis of your project centered on five key project dimensions that affect method selection (effectively collapsing our Project Complexity Model down to five factors):

  • Size (number of personnel)

  • Criticality (value of loss due to defects)

  • Personnel (skilled versus novice)

  • Dynamism (percent requirements change per month)

  • Culture (percent thriving on chaos versus order).

Once the analysis is complete, it may be apparent that either the agile or the disciplined methods are needed. More likely, a mixture of the two will strike the right balance, with the method adjusted according to identified risks in each dimension. As a rule, use agile methods for emerging or rapidly evolving components and plan-driven methods for well-understood or regulated components.19

COMPLEXITY-REDUCING DESIGN TECHNIQUES

To build systems that are driven by the customer and adapt to environmental changes, innovative design approaches are emerging, including:

  • Limit solution component dependencies

  • Make use of enabling solution design tools

  • Design for people, build for change.

Limit Solution Component Dependencies

When the technical solution is complex, it is prudent to divide the development into a core system (the operative part of the system) and special components (separate from the core, adding functionality in components). Further divide the core system into extension levels, building the foundation platform first and then extending system capabilities incrementally. As the core system is developed and implemented, different technical teams work on specialized functional components. The goal is to build the specialized components with only a one-way dependency to the core system; therefore, specialized components are independent of each other and can be created in any order or even in parallel.20

Make Use of Enabling Solution Design Tools

When uncertainty is high (i.e., rapidly changing requirements, technology, and even the business model) and interoperability across a complex network of suppliers and customers is needed, the use of architecture tools is essential.

Architecture tools capture, organize, and link complex information about the organization and the supporting technology; they help guide decision-making and monitor design decision implementation and success. In addition, architectural tools institutionalize standards that facilitate communication, a common language, common references, and common work products and data. When designing complex systems, a number of architectural views may be created to capture information about the operations, business systems, and technologies, with documented interrelationships between the views. This allows for a keener understanding of the dependencies within the solution that must be managed.

Design for People, Build for Change

John Rymer and Connie Moore of Forrester Research present the case that our current IT systems are sadly inadequate when it comes to keeping up with evolving markets, policies, regulations, and business models. Their proposed solution is quite futuristic: IT innovators must invent the next generation of “enterprise software that adapts to the business and its work and evolve with it … called Dynamic Business Applications” As this modernization of software development takes place, it will undoubtedly change people’s jobs, how we build and modify business processes, and how we design and build software-rich products and business solutions. Designing for people is all about customer empowerment, collaboration, and easy access to information. Building for change is concerned with making organizations and their business solutions flexible, agile, and adaptive.21

Peter Sterpe, Senior Analyst at Forrester, surmises that the changes in how we work together will be formidable, and his predictions sound quite a bit like agile and extreme project methods (see Part III for a description of agile and extreme models): “Some people’s jobs will have to change. To conceive and build applications that are context-aware and process-aware, IT will need staff that is also context-aware and process-aware. Likely changes include:22

  • Business analysts will finally come into their own, bridging the divide between the business and technical communities.

  • Developers will become experts in how their business works, and they will start to work more closely with their business and architecture experts. For developers, this also means the likely end of the waterfall model (discussed in Part III) as the project cycle of choice.

  • Business customers will have to get more intimate with both end users and the development team; in many ways, they will start to resemble product managers.

TECHNOLOGIES THAT ENABLE CHANGE

According to Forrester, “Most business applications are too inflexible to keep pace with the businesses they support. Today’s applications force people to figure out how to map isolated pools of information and functions to their tasks and processes, and they force IT pros to spend too much budget to keep up with evolving markets, policies, regulations, and business models. IT’s primary goal during the next five years should be to invent a new generation of enterprise software…. At this stage, the requirements for Dynamic Business Applications are clearer than the design practices needed to create them. But the tools are at hand, and pioneers in service-oriented architecture (SOA), business process management (BPM), and business rules—including independent software vendors (ISVs)—have begun showing us the way. The time to start on this journey is now.”23

Solution design and development technologies that do not use the traditional feature-based approach are rapidly emerging in the IT world. Some of the key technologies are:

  • Service-oriented architecture

  • Business process management

  • Web 2.0 development

  • Unified communications.

A word of caution: According to Forrester, agility really makes a difference in the effective application of these new technologies. “The reason business process management (BPM) implementations and service-oriented architecture (SOA) are white hot is that they make businesses significantly more agile. They enable faster responses to market conditions, new regulations, and fresh competitive opportunities. Architects play a key role in leading BPM implementations, creating the practices that ensure that SOA provides strategic business value, and selecting the right SOA-enabling technologies. And even when organizations outsource SOA development, architects are central to aligning the relationship between the business and the service provider.”24

Service-oriented Architecture

One development method that is designed to reduce system dependencies and interrelationships is service-oriented architecture (SOA). SOA is a breakthrough software design technique that calls for the development of smaller services (groups of software components that perform business processes). The SOA project is a type of micro project; the Web has made it easier to standardize the technical development infrastructure, thus making micro projects feasible. The services are hooked together with other services to perform larger tasks. They are loosely coupled, have an independent interface to the core systems, and are reusable.

Web services, one of the important strategies for increasing business while reducing transaction costs, are an example of SOA. This development approach represents a transformation in how businesses and IT develop business solutions. It is an effort to drive down the total cost of ownership of IT systems, thus freeing scarce resources to develop innovative IT applications and infrastructures.25

A few words of caution: As organizations gain experience in SOA technology, they are discovering that it can make the IT world of software application more complex. This is because you are building many different moving parts, all of which need to be understood, maintained, and managed. “SOA was supposed to make the world simple, but that is a gross misconception,” says the Hackett Group’s Erik Dorr. “You are really introducing far more moving parts, you are breaking things up. SOA doesn’t reduce complexity, it actually allows for a higher level of complexity.”26

Forrester researchers warn us that the implementation of SOA architecture is no trivial task, and IT enterprise architects are key to success: “In 2008, enterprise architects will find themselves at the center of a struggle to change their organizations into significantly more agile enterprises. As solution delivery morphs from traditional in-house custom development to the integration of an amalgam of components, architects will realize that they need more than a service-oriented architecture (SOA) strategy. They will need an integrated approach to mapping out the full vision for their architectures and solutions. And they will need to rapidly develop new skills, tap into new talent, and leverage new toolsets to accommodate the increasing scope of EA initiatives.”27

Business Process Management

Business process management (BPM) is a management approach, supported by vendor tool suites, to standardize methods to align organizational processes with the needs of customers. BPM strives to promote business effectiveness by optimizing business processes, while focusing on flexibility and innovation—just the ingredients we need when building complex adaptive business solutions.

A difficult decision needs to be made about the ownership of cross-functional business processes: Someone in the organization needs to be responsible for enterprise business processes, those that cross functional boundaries. Many argue that the effort must be driven from the top, by a senior officer of the company. In many cases the CIO is emerging as the most appropriate person to get the effort going. Forrester, in contrast, suggests the formation of teams aligned with each line of business and channel that are responsible for governing processes. These governance teams consist of representatives from all areas that support customers (marketing, sales, servicing, cross-selling, retention, etc.). The goal is to build customer-centric processes and enabling technology.28

BPM tools implement process-focused software in a model-driven way, rather than programmers building code manually. Tulu Tanrikorur, corporate vice president, enterprise architecture, for New York Life, introduces us to business process management tool suites.

TULU TANRIKORUR, NEW YORK LIFE
Business Process Management Tool Suites29

A common confusion about BPM surrounds the difference between the workflow systems of the 1990s and today’s BPMs. Older, proprietary workflow systems managed document-based processes where people executed the workflow steps of the process. The next generation workflow tools, today’s BPM systems, manage processes that include person-to-person work steps, system-to-system communications, or combinations of both. In addition, BPM systems include integrated features such as enhanced (and portable) process modeling, simulation, code generation, process execution, process monitoring, customizable industry-specific templates and UI components, and out-of-box integration capabilities along with support for Web-services-based integration. All of these ingredients translate to increased interest today in BPM suites because they bring businesses a higher level of flexibility for business processes while reducing risks and cost. Think of BPM suites as offering a way to build, execute, and monitor automated processes that may go across organizational boundaries—a kind of next-generation workflow.

A similar process is value-chain analysis (see Chapter 12), which is an effective technique for assessing the feasibility of enterprise-wide solution.

Web 2.0 Development

Web 2.0 is the designation for a set of principles and practices that have come on the scene since the dot-com bubble burst in the late 1990s. To be sure, there is no widely accepted single definition for Web 2.0; however, we can say that it is a set of design patterns and business models that have come into widespread use in the 21st century, using the Web as a platform.

Web 2.0 is more about customer participation than about simply publishing information. The emergence of Web 2.0 (no one actually designed the Web as we know it today) is a spectacular example of a complex adaptive system. Dynamic websites replaced static web pages a decade ago; today, it is the links in current Web applications that increase the adaptive nature of the Web. The rise in blogging, which drives new value chains, is an example of Web 2.0 technologies.

The power of the Web in its current form is that it harnesses the collective intelligence that is housed on relatively small sites. Tim O’Reilly, founder and CEO of O’Reilly Media, Inc., a computer book publishing company, describes the potential unleashed by Web 2.0 technology: “The Web 2.0 lesson: leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head.”30

Unified Communications

Unified communications (UC) is an emerging technology designed to improve collaboration and speed up decision-making, as well as improve customer response and enterprise agility. UC is a software platform that brings all communications technologies together into a single solution. Elizabeth Herrell, Vice President and Principal Analyst at Forrester, suggests considering the use of unified communications software.

ELIZABETH HERRELL, FORRESTER RESEARCH
Unified Communications Software31

Unified communications (UC) generates interest as a potentially important business tool to improve existing business processes and reduce costly business delays for time-sensitive situations. An intelligent software platform, it connects people to people and to applications directly and easily. UC also connects desktop collaboration technologies, such as presence, email, instant messaging, and Web conferencing with communication applications (e.g., telephony, audio conferencing, voice messaging, and video). Its intuitive user interface promotes adoption and usage of UC across the enterprise. To justify UC investments, organizations should evaluate UC’s business benefits and IT improvements, and explain its full value—for example, how it enables faster response to critical situations, allows employees to collaborate more easily, and reduces overhead such as travel and conferencing expenses.

Most legacy business applications that are the engine of our businesses are too inflexible to keep pace with the dynamic companies they support. In addition, many new innovative products are software-rich and are dependent on complex, customer-centric IT applications for their optimal use.

Several forward-looking managerial, design, and development techniques can be used to manage projects with a high level of IT complexity and build complex adaptive business solutions (Table 17-1). Many of these technologies are still immature, but are emerging in the IT industry as recognition grows that we need radical new methods and tools to build 21st century products and business solutions that will stand the test of time. We suggest:

  • Expert unconventional management approaches: maintaining a fierce customer focus, fostering edge-of-chaos management, adopting a last-responsible-moment decision-making process, structuring the work into micro projects, establishing communities of practice and encouraging diversity of thought, recruiting and developing professional IT systems architects, forging new vendor and contractor partnerships, and forming integration teams.
  • Innovative design approaches: limiting solution component dependencies, using solution design tools, and adopting a practice of designing for people but building for change.
  • New design and development technologies: using the service-oriented architecture approach, adopting business process management principles and tool suites, pursuing Web 2.0 development practices, and using unified communication software.

TABLE 17-1. Approaches for Managing Projects with a High Level of IT Complexity

Managing Projects with a High Level of IT Complexity
Complexities Management approaches
Technical
  • Collection of systems functioning together to achieve a common mission
  • Integration issues
  • Unproven technology

Managerial
  • Multiple contractors
  • Large and diverse project team
  • Central master plan with separate plans for subprojects
  • Highly visible and sensitive to political, environmental, and social issues

Agility
  • Intelligent
  • Adaptive
  • Innovative
  • Easily changed
Adaptive Management Techniques
  • Build solutions that empower customers
  • Establish “skunk works” teams
  • Exploit the advantages of edge-of-chaos management
  • Introduce a last-responsible-moment decision-making process
  • Structure the effort into micro projects
  • Create communities of practice and diversity of thought
  • Ensure your IT architect is seasoned
  • Forge new partnerships
  • Set up integration teams
  • Strike the right balance between discipline and agility

Complexity-Reducing Design Techniques
  • Limit solution component dependencies
  • Make use of enabling solution design tools
  • Design for people, build for change

Technologies that Enable Change
  • Service-oriented architecture
  • Business process management
  • Web 2.0 development
  • Unified communications

NOTES

1. The Royal Academy of Engineering, “The Challenges of Complex IT Projects” (April 2004). Online at http://www.raeng.org.uk/news/publications/list/reports/Complex_IT_Projects.pdf (accessed March 2008).

2. Elana Varon, “2007 CIO 100 Winners: How IT Can Harness the Power of Innovation” CIO. Online at http://www.cio.com/article/127400 (accessed February 2008).

3. Jim Highsmith, Agile Project Management: Creating Innovative Products (Boston, MA: Addison-Wesley, 2004), 6.

4. Katherine Walsh, “IT Innovations That Generate Revenue and Get You More Customers” (August 2007). Online at http://www.cio.com/article/print/127651 (accessed March 2008).

5. Elana Varon, “2007 CIO 100 Winners: How IT Can Harness the Power of Innovation” CIO. Online at http://www.cio.com/article/127400 (accessed February 2008).

6. Mary Poppendieck and Tom Poppendieck, Lean Software Development: An Agile Toolkit (Boston MA: Addison-Wesley, 2003).

7. James H. Johnson, “Micro Projects Cause Constant Change,” The Standish Group International, Inc. (2001). Online at http://agilealliance.com/system/article/file/1053/file.pdf (accessed March 2008).

8. Linda J. Vandergriff, “Complex Venture Acquisition,” Complexity Conference “White Paper (2006), 9-14.

9. Ed Tittel, “IT Architects: Blueprint for a Future Career,” Certification Magazine (2005). Online at http://www.certmag.com/articles/templates/CM_gen_Article_template.asp?articleid=1406&zoneid=225 (accessed March 2008.)

10. The Open Group. Online at http://www.opengroup.org/overview/ and http://www.opengroup.org/itac/ (accessed March 2008).

11. Ibid.

12. CSC World, CSC and BAE: An Enduring Partnership, 2006. Online at http://www.csc.com/cscworld/072006/fa/fa001.shtml (accessed March 2008).

13. Ibid.

14. Birgit Seeger et al., “Tackling Complexities of In-car Embedded Systems, Viewpoint on Complexity,” PA Consulting Services Limited (2005). Online at http://www.paconsulting.com/insights/managing_complex_projects/ (accessed February 2008).

15. Hal Mooz, Kevin Forsberg, and Howard Cotterman, Communicating Project Management (Hoboken, NJ: John Wiley & Sons, 2003), 202.

16. Birgit Seeger et al., “Tackling Complexities of In-car Embedded Systems, Viewpoint on Complexity,” PA Consulting Services Limited (2005). Online at http://www.paconsulting.com/insights/managing_complex_projects/ (accessed February 2008).

17. Barry Boehm and Richard Turner, “Observations on Balancing Discipline and Agility,” Agile Development Conference (2003).

18. Ibid.

19. Richard Turner, “Using CMMI® to Balance Agile and Plan-Driven Methods,” CMMI® Technology Conference Proceeding (2003). Online at http://www.dtic.mil/ndia/2003CMMI/Turner.ppt#311,18,High Maturity

20. M. Lippert et al., “XP in Complex Project Settings: Some Extensions,” Informatik/Informatique, Schweizerischer Verband der Informatikorganisationen (April 2002).

21. John Rymer and Connie Moore, “The Principles of ‘Design For People, Build For Change’ Will Anchor A New Generation of Business Applications,” The Dynamic Business Applications Imperative (2007). Online at http://www.forrester.com/Research/Document/Excerpt/0,7211,4l397,00.html (accessed March 2008).

22. Peter Sterpe, “Application Development and Program Management First Look,” Forrester Research (November 2007). Online at http://www.forrester.com/FirstLook/Print/Vertical/ Issue/0,,940,00.html (accessed March 2008).

23. John Rymer and Connie Moore, “The Principles of ‘Design for People, Build For Change’ Will Anchor a New Generation of Business Applications,” The Dynamic Business Applications Imperative (2007). Online at http://www.forrester.com/Research/Document/Excerpt/0,7211,41397,00.html (accessed March 2008).

24. Larry Fulton, “Defining SOA Service Life-Cycle Management: Understanding a Core SOA Governance Process” (2008). Online at http://www.forrester.com/Research/Document/ Excerpt/0,7211,43723,00.html (accessed March 2008).

25. Mark Frederick Davis, “SOA: Providing Flexibility for the Health and Science Industry” (July 2006). Online at http://h20245.www2.hpt.com/publicsector/downloads/Technology_Davis_VB.pdf (accessed September 2007).

26. Dan Briody, “Making IT Complexity Work for You” (September 2007). Online at http://www.cioinsight.com/c/a/Trends/Making-IT-Complexity-Work-for-You/2/ (accessed March 2008).

27. Larry Fulton et al., “Five Trends That Will Shape the EA Profession in 2008” (2007). Online at http://www.forrester.com/Research/Document/0,7211,43457,00.html (accessed March 2008).

28. Mary Pilecki, “Organizational Silos: Can’t Live With Them and Can’t Live Without Them” (2007). Online at http://www.myforrester.net/KathleenHass8151?elqPURLPage=6&elq=6279E782806D4BF1A58343B6DEAA1DBC (accessed March 2008.)

29. Tulu Tanrikorus, “Business Process Management 101: The Basics of BPM and How to Choose the Right Suite” (2007). Online at http://www.intelligententerprise.com/showArticle.jhtml?articleID=199204260 (accessed March 2008).

30. Tim O’Reilly, “What Is Web 2.0,” (2005). Online at http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html?page=2 (accessed March 2008).

31. Elizabeth Herrell, “How To Evaluate Business Value For Unified Communications: Unified Communications Support Multiple Business Process Improvements” (December 2007). Online at http://www.forrester.com/Research/Document/Excerpt/0,7211,42895,00.html (accessed February 2008).

CONCLUSION TO PART IV

Complex project management is sensible chaos—striking the right balance between plans (static) and process (dynamic). We recommend using some conventional project management techniques along with some complexity thinking techniques that are “on the edge of chaos” to manage changes and uncertainties and to foster creativity and innovation.

We encourage project leaders to use the various elements of our Project Complexity Model during the major planning and milestone stages of a project to make informed decisions about how to manage the complexities associated with:

  • Large, long-duration projects

  • Large, dispersed, culturally diverse project teams

  • Urgent projects with an aggressive scope and schedule

  • Ambiguous business problems, opportunities, or solutions

  • Poorly understood, volatile requirements

  • Highly visible strategic projects that are politically sensitive

  • Large-scale transformation initiatives

  • Risks involved when managing projects with significant external constraints and dependencies

  • Projects involving a high level of IT complexity.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset