In my previous three posts titled “System of Systems Engineering: Part I – Challenges“, “System of Systems Engineering: Part II – Overcoming the Challenges” and “System of Systems Engineering: Part III – Proposed Solution Benefits“, I discussed the challenges organizations face with complex System of Systems (SOS) engineering programs along with the potential solution for this challenge and its benefits using the IBM Rational Collaborative Lifecycle Management (CLM) platform. In this post, I will present a scenario and it covers the capabilities of the IBM Rational Collaborative Lifecycle Management Solution (CLM) that can address the challenges.
This post is based on a paper I written about four years ago when I was part of the IBM Software Group covering the Rational solutions. Therefore, it is biased towards the IBM offerings in the software delivery space. The content of the paper was based on several other IBM intellectual capital (IC). Excerpts from the ICs are included as-is. While the recommended tooling addresses the full scope of the software delivery lifecycle from inception to production, it is not necessary that you should view the solution as an “all or nothing” proposition. The intent is to highlight the problem areas and make you aware of how the IBM Rational solution addresses them.
System of Systems Engineering: Making it Real, A Scenario
With open, extensible, scalable and reliable architecture, the Jazz platform also provides project insight and analysis along the dimensions of control, operational efficiency, and business value.
For example, business analysts and software architects can gain insight into a requirements definition and real-time analysis on the requirements progression. Because requirements are gathered and met in the context of the Web on the Jazz platform, teams can easily define, share, and reuse requirements among projects, programs, and disciplines. The accessibility of requirements on the Web helps distributed teams communicate and reduce later mistakes on requirements definitions. With the Web interface, requirements can be linked to business goals and objectives that are created from block diagrams for business processes, documented with hyperlinks to glossaries or to other critical documentation, and further vetted through user interface sketches and storyboards.
With this centralized repository of requirements, teams can collaborate directly with stakeholders and delivery teams, providing easier negotiation with inline commenting on the Web and a streamlined review and approval processes. When a requirement is defined and approved, a team member can trace that requirement to software team assets such as the status of the code delivery and the actual test cases and defects that pertain to the specific requirement. This traceability matrix helps both business analysts and software architects guarantee that the software release has the defined business requirements. If requirements are changed or updated during development, the Jazz platform can quickly notify developers and testers of necessary updates to their respective software assets. With the Web-like interface and the end-to-end view of requirements, business analysts and software architects now have improved project insight and improved requirements management that meet business needs.
The Jazz platform also provides the ability to integrate the information requirements that are associated with the developer’s role and provides critical project information to developers. Team members can work through iteration planning and execution, defining tasks and work items for each development milestone through prepared process templates. Work items can be defects, enhancements, or other tasks that convey information about required work and time associated with that work. Work items also provide the mechanism by which the status of the work is tracked. Developers can have their own Web-based dashboards and easily determine the remaining assigned work items. Furthermore, project managers can easily gather status or report information without additional actions required of the developer because the work item tracking mechanism provides the status details. More importantly, because work items are also associated with time estimation, project managers can quickly determine whether certain developers are not on track of their deliveries and assign tasks to other team members or prioritize tasks differently based on business needs.
During the development process, the Jazz platform also helps process implementation through a set of team advisors, which are “rules” that surround the software delivery process. For example, a configurable rule can enforce a standard that a team must meet, such as checking whether the selected code updates are unit tested prior to being integrated into a software build. Jazz even provides process templates as a starting point. Templates for the agile process, the Eclipse way, the Cloudburst Sample, or the Scrum process are immediately available to users. By using both the templates and the team advisors, software delivery teams can save critical time by avoiding process errors. This is particularly important because software delivery teams are dynamic because of frequently changing development staff. Developers can quickly follow the outlined process and guidelines as they join a team, because these elements are integrated with the tools. Process enforcement for a project ultimately saves money for a business and drives the right behavior to achieve the business objective.
The Jazz platform provides a collaborative environment so testers can easily coordinate quality plans and test execution, prioritize and automate test lab environments, and enable reporting and trend analysis for effective risk mitigation. A project manager can assign work items to different testers for different parts of the test plan or test cases to ensure simultaneous work. As a project progresses, the project manager can obtain real-time reports, such as an analysis of requirements test coverage, defect trends, work-item progression, and percent of success and failed tests relative to project time, to make decisions on how to reduce risk to the project.
In addition, because software assets are linked in the Jazz platform, testers are able to associate defects with test cases and test assets. With this asset linkage, developers can access information relative to the test environment and test case, which ultimately enables quicker problem resolution. Jazz also provides the ability to prioritize key environments in the test plan, identifying and helping to rectify gaps in environmental coverage in test plans. During test execution, Jazz helps testers by automating labor-intensive processes such as installing test software and test cases to be executed. The collaboration, reporting, and automation capabilities that the Jazz platform offers helps improve the efficiency and quality of the software delivery.
With such capabilities as integrated iteration planning and execution, work-item definition and task management, personalized role-based dashboards, advanced reporting capabilities with real time metrics, process implementation and governance, and other numerous capabilities, the Jazz platform provides a unified platform that supports collaboration, automation, and real-time reporting that can dramatically improve software delivery.
The Jazz framework capabilities can be accessed through new products such as Rational Requirements Composer, Rational Team Concert, and Rational Quality Manager, through connectors that integrate to other products such as Rational ClearCase or Rational ClearQuest, and through many third-party software tools that already integrate with the Jazz open architecture. The Jazz platform helps minimize the risk of software delivery that results from software complexity, distributed teams, and the challenges that overall processes and tool compatibility present, while encouraging improvement in practice maturity through the MCIF process improvement framework.
I hope you have enjoyed this series on the “System of Systems Engineering”. I am certain you have many questions and your own opinions on how to resolve these challenges. My intent was only to entice you to think about these challenges.
About the Author
Sami Joueidi holds a Masters degree in Electrical Engineering and an Enterprise Architecture certification from Carnegie Mellon. He has over 20 years of experience as a technical leader of complex IT projects for Fortune 500 firms, in diverse roles such as Systems Integrator, DevOps, Cloud Architecture, Enterprise Architecture and Software Development & Release Management. He guides customers on how to leverage the latest technology trends to their advantage and helps them with their Cloud adoption strategies.
© Sami Joueidi and www.cafesami.com, 2015. Excerpts and links may be used, provided that full and clear credit is given to Sami Joueidi and www.cafesami.com with appropriate and specific direction to the original content.