Cut complexity in software and systems with Collaborative Design Management

Enhance cross-team collaboration on software and systems designs

Complexity is the biggest challenge in delivering innovative products, systems, and applications today. To address this issue, IBM Rational software promotes a model-based approach that improves quality and increases collaboration across the entire team. Our new Collaborative Design Management (CDM) features extend these capabilities so you can involve stakeholders from across the organization and beyond in the design process and improve the integrations of designs to artifacts across the software development lifecycle.

Share:

Neil W. Patterson (neilp@ca.ibm.com), Design and Development Marketing Manager, IBM

Author1 photoNeil is marketing manager for the systems solutions offered by IBM Rational software, where he specializes in design and development capabilities. Previously, he was Director of Product Management for an IBM business partner and product manager for Rational systems modeling products, including Rational Rose Technical Developer and Rational Systems Developer. Neil has a strong background in systems development, including many years as a Rational technical field team member and developer of embedded software. He is based in Ottawa, Canada.



06 June 2011

Also available in Chinese

Complexity is everywhere, and it is increasing rapidly. The report of a 2010 IBM global survey of CEOs (see Resources) states "Today's complexity is only expected to rise, and more than half of CEOs doubt their ability to manage it."

Applications, systems, and products are now complex in and of themselves, with rapid improvements in performance, intelligence, and capability. However, they no longer work in isolation. Now they interconnect to offer new services and drive new business and societal value, in ever more complex systems of systems. Organizations need to come together and even reach beyond development teams to collaborate on these systems to meet the demands of an increasingly complex marketplace. Regardless of the industry or cross-industry projects that organizations are developing for, the challenges that complexity brings to companies are the same.

This article focuses on three distinct types of complexity: organizational, process, and design. It then describes how the new extended capabilities of IBM® Rational® design and development applications address each of them.

Three types of complexity that affect software and systems designers

Organizational complexity deals with the barriers that exist both internally (among divisions, locations, disciplines, and teams) and externally (with suppliers, customers, and other organizations) that influence the products, software, and systems that are being built.

Decisions about the direction of the business, the priorities of the organization, line of business organizations, and IT infrastructure needs are often made without the right information being available and without collaboration with the right stakeholders in a timely fashion. This is due to a number of factors, such as manual, error-prone updates to relevant information, disconnected and undocumented plans and teams, and reports that contain either too little information or a wealth of information that hides the relevant content.

The organizational structure is often complex and misaligned. People who need to work together are siloed on different, disconnected teams. Reporting chains hinder the flow of information between teams, and it is often difficult to determine the right stakeholders to involve in discussions because there are problematic organizational structures.

Process complexity deals with the inherent complexity in the process for creation or evolution of products, whether software only or software-intensive systems involving hardware and software. From agile development, to hybrid iterative, to heavily regulated waterfall approaches, teams involved in design, development, delivery and maintenance activities face challenges with the process. Moreover, various types of processes need to integrate across organizations. Business processes, software and systems development processes, and operational processes all need to flow seamlessly into each other. Striking a balance between simplicity on one end and compliance and reliability on the other end can make it difficult to pin down the best process.

Facing audits and demonstrating compliance with regulatory and corporate standards is often difficult due to the inability to gather information from across the large set of designs and lifecycle artifacts that are produced in the process of software or system creation or enhancement. Manual processes, lack of integrations of tools throughout the lifecycle, and a lack of traceability of artifacts used in specifying, designing, constructing, deploying, and maintaining software and systems all hinder the ability to deliver the right information in the right format to document compliance.

Understanding where the project is relative to the plan is complicated by process complexity, making progress assessment and predictability in meeting milestones mere guesswork. This typically stems from the lack of metrics for the entire lifecycle and team effort. Manual tracking of progress across teams is onerous, error-prone, and subject to inconsistency. It introduces a level of complexity into the process that blocks creativity and lessens productivity.

Design complexity deals with the increasing demands being placed on the software, systems and products themselves, whether features and functions or connections to external systems. This complexity is experienced by large and small teams alike. It shows itself in the inability to rapidly assess the impact of change and act on it, as well as in a limited understanding of the design by those who are often most deeply affected by the result: the stakeholders that are external to the team.

The architecture of software and systems, as well as the behavioral characteristics, are increasingly difficult to understand. Each new requirement for increased functionality increases the complexity. Add to this the need to interconnect software and systems to other systems, and the design complexity increases even further. Trying to design these systems through code-centric approaches, without modeling and a means to visualize the design at all levels of abstraction, and without employing automation, leads to project delays, uncertain feature compliance, and broken interfaces and systems.


Five challenges that result

IBM has a rich set of design and development solutions that help organizations design, build, and deliver software-intensive systems and products. Teams, large and small, use solutions built around IBM® Rational® Software Architect and IBM® Rational® Rhapsody® to create and collaborate on designs. They choose these particular products because they need to see significant results in simplifying application and systems complexity, to identify issues and defects early in the lifecycle when they are cheapest to fix, and to document and communicate what they intend to build to stakeholders.

However, even with the best design tools, significant challenges still exist. These problems can be grouped into the following five areas:

  1. Design teams work in isolation from a significant portion of project stakeholders. This too often results in designs and delivered software and systems not meeting expectations, and this is symptomatic of design and organizational complexity.
  2. Design elements are loosely tied to other artifacts in the lifecycle, such as project plans, requirements, test plans, test cases, operation and maintenance guides, and customer guides and manuals. This makes the impact of change uncertain, which is symptomatic of process complexity.
  3. Designs are difficult to review and are seldom maintained after development begins. Often, they are abandoned. This causes a significant disconnect between the requirements and the delivered product, which is a symptom of design and process complexity.
  4. Predictability and effectiveness in the design process is uncertain. This leads to delays in release and inefficient use of the development resources, which are directly related to process complexity issues.
  5. Reporting and documenting of the design, as it relates to the entire project, is labor-intensive and error-prone. This results in audit failures and an inability to show compliance with standards and regulations. Again, this is symptomatic of process complexity.

We are at a critical point in the areas of modeling, design, and architecture. Model-driven development (MDD) and model-based systems engineering are fundamental for designing smarter products and for systems of systems. However, design teams have been struggling to keep up with the requirements of today's development constraints, particularly in an agile world that is fast-paced and collaborative. To address these challenges,


How new Collaborative Design Management features help

IBM is addressing these challenges with the next evolution of our design software and Collaborative Design Management. This approach extends collaboration beyond the team and traceability throughout the lifecycle into the architecture and product design discipline. We have extended the capabilities of Rational Rhapsody and Rational Software Architect design and modeling tools so that design is integrated with artifacts from the rest of the software and systems development lifecycle, from requirements definition through testing, even to operational assets. Furthermore, all relevant stakeholders are engaged in the design process through a highly collaborative environment built on the IBM® Rational® Jazz™ technology, and featuring a web-centric, intuitive interface.

Collaborative Design Management features

  • Jazz technology-based central design hub for design storage, making all designs searchable and accessible at central locations
  • Intuitive web client for easy access to designs from anywhere, enhancing stakeholder collaboration
  • Automated design reviews with comment and markup of design elements through the web or rich client
  • Automated document generation and reporting, with dashboards for progress tracking and automated reports pulling data from all relevant sources using Open Source Lifecycle Collaboration (OSLC)
  • OSLC-based linkage to other software development lifecycle artifacts to enhance impact analysis and reporting

How these features address the five complexity challenges

Let's explore how these Collaborative Design Management capabilities can be applied to the five complexity challenges described previously.

  1. Design teams work in isolation from a significant portion of project stakeholders, causing designs and delivered software and systems to not meet expectations.
    • Complexity addressed: design, organizational
    • Collaborative Design Management features used: stakeholder collaboration; central design hub, review and markup, relationship diagrams
    Figure 1. Web-based review and markup of designs by extended team members
    Diagram tab view with text box
    Collaborative Design Management (CDM) software automates the ability to provide input for stakeholders from all areas interested in the software or system under development, including customers, analysts, quality assurance professionals, suppliers, and operations personnel, along with architects and developers. Reviewers external to the design team can search, review, comment on, and mark up designs stored in the central design hub by using the web client. With CDM, design teams no longer work in isolation but have constant, constructive feedback from stakeholders throughout the design and development process. Stakeholders have self-serve access to design milestones, which improves their understanding and the quality of designs. Stakeholders can determine how their tasks and areas of concern relate to designs with traceable links to work items, requirements, and test cases.

    Multiple designs can be searched and filtered in relationship diagrams, allowing for the complexity of the overall design to be simplified in specific views that are relevant to each stakeholder's point of view. The organizational complexity that is evident from the siloed teams is addressed through the easy access that all stakeholders have to the central design hub and web client, which facilitates their collaboration on the designs.
  1. Design elements are loosely tied to other artifacts in the lifecycle, such as project plans, requirements, test plans, test cases, operation and maintenance information, and customer guides and manuals, which makes the impact of change uncertain.
    • Complexity addressed: process
    • CDM features used: central design hub, OSLC-based traceability, relationship diagrams
    Figure 2. Design links through OSLC to requirements, test plans, and other designs
    Screen shows design linked to lifecycle artifacts

    With CDM, stakeholders can use OSLC to create links from design elements to requirements, test plans, test cases, project plans, and tasks. This provides traceability throughout the lifecycle to the important aspects of the design, thus helping to address the overall process complexity issues. These links are available to reviewers, designers, and developers through automated reports and on relationship diagrams, thereby enabling them to assess the impact of change involving any linked artifact on the design or related artifacts. Team members are informed of tasks stemming from these changes and can make the required updates based on the impact assessment. The traceability throughout the lifecycle also facilitates the creation of comprehensive reports and documents to satisfy regulatory or corporate standards requirements and audits.

  1. Designs are difficult to review and are seldom maintained after development begins, causing a significant disconnect between the design and the delivered product.
    • Complexity addressed: process, design
    • CDM features use: central design hub, relationship diagrams, automated design reviews
    Figure 3. Web-based, automated review tasks involving the extended team
    Example of an individual's review dashboard

    Using CDM, stakeholders from across the organization and throughout the lifecycle can access the central design hub to search, analyze, and review designs. The can even access multiple designs in the same search so they can fully explore and understand the relevant aspects of the design, using the intuitive web client.

    Designers can kick off the automated reviews by specifying which designs and stakeholders to include. Stakeholders can view the design and attach comments and markups by using either the web or rich client. Design reviews can be linked to IBM® Rational Team Concert™ work items for planning and tracking. This automated review process, involving all relevant stakeholders, simplifies the design and development process and helps address the complexity issues in the design by involving the right subject matter experts at the right point in the process.

  1. Predictability and effectiveness in the design process is uncertain leading to delays in release and inefficient use of the development resources.
    • Complexity addressed: process
    • CDM features used: automated design reviews, automated document and report generation
    Figure 4. Personalized dashboards show project status at a glance
    Shows reviews, comments, links, validation, events

    By using Collaborative Design Management, teams begin to collaborate and work toward the implementation of the solution as soon as the requirements are finalized. The design process becomes a team activity where frequent changes, constant validation, and feedback help solidify the direction of the development activity. Because they have more visibility, stakeholders get a better idea of the team's work at an earlier stage and can be kept up to date with the team's progress and output even before any "executables" are delivered. Most importantly, designs are treated the same as other lifecycle artifacts, with the ability to associate and track activities against them throughout the entire development process.

  1. Reporting and documenting of the designis labor-intensive and error-prone, which leads to audit failures and an inability to show compliance with standards and regulations.
    • Complexity addressed: process, design
    • CDM features used: central design hub, automated documentation and reporting, OSLC traceability

    The Collaborative Design Management products, Rational Software Architect Design Manager and Rational Rhapsody Design Manager, are both integrated with IBM® Rational® Publishing Engine, which automates document generation from disparate applications (see Figure 5). This means that most of the customizable parts are created automatically and dynamically. This is a bonus for keeping designs up to date, and for quickly and easily creating documents for formal reviews, contractual obligations, or proof of compliance with standards and regulations.

    Figure 5. Automated reporting, drawing from multiple OSLC-linked sources
    Overlaid windows and reports

A major benefit of designs is the ability to produce documentation that helps teams gain insight into the workings of a software or system. Collaborative Design Management encourages teams to keep them current and up to date as the software or systems evolve through automation and integration into their day-to-day work. Not only does this help produce documentation that can be used for maintenance or future expansion of the project, but it can also serve as a way to ensure and validate compliance with industry standards during development audits.


Summary

By creating designs in Rational Software Architect or Rational Rhapsody design and modeling tools to create designs and taking advantage of the integrated authored using IBM's market leading design and development tooling, Collaborative Design Management features, organizations can address the significant challenges with the ever-increasing complexity of software and systems delivery. CDM brings together a broad set of interested stakeholders, including customers, line of business managers, operations teams, and others from different disciplines and organizations to contribute and influence the design of products, software, and systems. This helps drive improved quality and increases the likelihood of achieving desired business outcomes.

Collaborative Design Management brings these stakeholders together around the design process through an intuitive, web-based and Jazz-based user experience that lets them achieve three critical objectives:

  1. Maximize productivity and lower costs by providing a central location for designs, enabling reviewers to search, view, analyze, and identify reuse opportunities across multiple designs from a variety of sources.
  2. Improve solution quality through collaboration on design reviews that involve all stakeholders,
  3. Accelerate project delivery through living, dynamic designs, metrics, and reports.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=665315
ArticleTitle=Cut complexity in software and systems with Collaborative Design Management
publish-date=06062011