Advanced science.  Applied technology.

Search

Clarity Software Engineering Process

 

 

Clarity™ is a software engineering process that helps software teams maximize production and quality with minimum staff.

  • The Clarity process document was delivered to NASA as part of several NASA projects, and is part of the public domain.
     
  • Organizations may use any or all parts of Clarity as appropriate to enhance their software development process.
     
  • SwRI offers Clarity training courses and consulting support.

 

 

Developing software in today’s world can be a challenging activity. Demand for Software Engineers is high; Development is susceptible to inefficiency, risk and quality issues; and Maintenance challenges are expanding as software grows and software engineers move between companies.

The Space Data Systems (SDS) software engineering organization produced 33 production software products over a 20-year period with a staff averaging 6 software engineers and testers. The Clarity software engineering process was created during that time. With Clarity, SDS raised its average effectiveness for the past six years to 95%, meaning that SDS spent 95% of its time creating new functions or expanding existing functions, as opposed to fixing bugs.

Clarity maximizes software staff effectiveness by implementing enough process by the right person at the right time to minimize software rework – the “Goldilocks” approach to software process management. Through a system of product-independent checklists and forms, Clarity focuses on mitigating error propagation through the software lifecycle process, leveraging the Software Lead as the process executor, and leaving software developers and testers to do what they do best – produce quality software products.
 

Effectiveness

With Clarity, the Space Data Systems (SDS) organization raised its average effectiveness for the past six years to 95%, meaning that SDS spent 95% of its time creating new functions or expanding existing functions, as opposed to fixing bugs.

Dual Coverage

Clarity is responsible for the Space Data Systems (SDS) organization’s dual-coverage, or “maintainability,” rating of 95%. This means that there are at least two people with sufficient skill to support 95% of the 107 application technologies and staff skills used on software projects maintained by SDS.


Examples of products produced using Clarity include:


CONTACT US

Or call Robert Thorpe at +1 210 522 2848.

 

Clarity™ maximizes staff effectiveness and product quality by implementing the “Goldilocks” measure of process allocation and timeliness – just the right amount of process by the right person at the right time. This minimizes software rework and maximizes the use of team members’ time. To accomplish this, Clarity is based on ten components.
 

  • Software Tasks – a separate mini-software development lifecycle to mitigate error propagation
  • Software Leads – execute the process, freeing software developers and testers to do their jobs
  • Immediate Status – is provided by software tasks at tactical and strategic levels
  • Scalability – process allocation is based on the software size and criticality
  • Feature Branching – expanded through the use of the Software Task ID
  • Methodologies – Clarity has been integrated into Agile and Waterfall-Iterative methodologies
  • Checklists and Forms – provide a repeatable, structured approach to software management
  • Metrics – measure software engineering product, process and organizational health
  • Free and Open – can be implemented using a variety of open source, commercial, or business apps
  • Training & Testing – emphasis is placed on certified testers, automated testing, and staff training


CONTACT US

Or call Robert Thorpe at +1 210 522 2848.

 

Software Tasks are the central component in Clarity. As a mini-software development lifecycle of their own, they provide built-in checks and balances to mitigate error propagation through each phase of the development.

Error propagation from phase to phase of the software development lifecycle is time-consuming and costly, but the real issue is that unmitigated error propagation across multiple phases of the software lifecycle has exponential effects on cost and schedule.

Clarity mitigates these effects by assigning and tracking software development activities in a Software Task form. The form provides a simple but effective system of checks and balances to mitigate error propagation. It also makes it easy for software developers and testers to focus on their work, supports the software lead as they management asks, generates synergies when combined with feature branching, and provides the foundation for many useful metrics.
 

Click the Software Task images below for high-resolution views.

Software Task Header

 

Software Task Requirements

 

Software Task Design

 


CONTACT US

Or call Robert Thorpe at +1 210 522 2848.

 

Key Benefits of Clarity include insight, efficiency, sustainable quality, maintainability, continuous improvement, and product independence. Additionally, Clarity is a CMMI level 2 (CMMI-2) aligned software engineering process, supporting CMMI certification for interested organizations.

 

  • Insight – Through the use of the Software Task, a great deal of Insight is available at the tactical level (software task status, hours completed versus hours estimated, form detail), as well as the strategic level (global view of software task statuses and completion details across a single or multiple projects)
  • Efficiency – Efficiencies are attained by allow team members to focus on their specialized skills and through a system of checks and balances that mitigate error propagation in the software engineering lifecycle
  • Sustainable Quality – Sustainable Quality is enhanced by the processes built-in checks and balances, standards, checklists, and special emphasis on training and testing.
  • Maintainability – Standards and metrics enhance code Maintainability, including a “dual coverage” metric that correlates staff skills and experience with software engineering technologies against the use of those technologies in software products.
  • Continuous Improvement – A combination of data from software tasks, metrics, and other sources identify opportunities for Continuous Improvement.
  • Product Independence – Clarity can be implemented for free using a variety of standard office tools or other applications, making it a Product-Independent process.
  • CMMI-2 – Clarity is a Capability Maturity Model Integration (CMMI) level 2-aligned software engineering process. The Clarity process document includes a cross-referenced matrix that indexes Clarity processes, tools, and records to appropriate CMMI level 2 Process Areas. Clarity was originally designed to be compliant with CMMI v1.3, and is being tweaked for compliance with CMMI v2.0.


CONTACT US

Or call Robert Thorpe at +1 210 522 2848.

 

More Information about Clarity can be obtained as described below.

Training Courses, Certification, Consulting

Please contact Senior Program Manager Rob Thorpe (below)

Clarity IEEE PowerPoint Presentation

Overview of the paper presented at the IEEE Aerospace Conference 2019

Clarity IEEE Paper

Presented at the IEEE Aerospace Conference 2019

SDS Section Clarity Process Document & Standards

  • Space Data Systems - Clarity Process Document (SOP-17-15-32-001)
  • Space Data Systems - Clarity Standards (active standards only)

Contact Rob Thorpe for more information

The Project Information Management System (PIMS)

PIMS is used by the SDS organization as a tool supporting Clarity

Example Products produced using Clarity


CONTACT US

Or call Robert Thorpe at +1 210 522 2848.