Software Process

We build and maintain a suite of open source solutions for use in the software development process. These solutions facilitate high-­quality software development by providing a cross­-platform tool to build and compile software, a software testing framework to evaluate new code contributions, and a dashboard to highlight test results and overall software health. We use our software development process internally and work with external customers to facilitate iterative processes that ensure consistency and quality in finished software products.

When working with customers to improve their respective development processes, we evaluate their existing software development infrastructures and needs, and we configure their tools to work seamlessly in their respective environments.

Kitware Source Articles

From One Software to Many at Allegorithmic

Allegorithmic makes applications for texturing. Texturing is a virtual process that helps make a three-dimensional (3D) model appear realistic. With texturing, a 3D model of a wall can look like it is made of concrete. Sébastien Deguy, the CEO of Allegorithmic, describes texturing as “touching with the eyes.” Four years ago, Allegorithmic launched the development […]

CMake, CTest, and CDash at Netflix

At the Core Technologies team at Netflix, we develop the application framework and streaming engine used by millions of consumer electronics devices, game consoles, tablets, and phones. With such a diverse array of devices and platforms, we need to make sure our code is lightweight, standards compliant, and portable. As we also produce the SDK […]

Converting SOFA to CMake

A Little SOFA History SOFA is a software project created eight years ago to tackle a seemingly obvious but unaddressed issue: Many scientists and Ph.D. Students in the mechanical simulation field had to regularly reinvent the wheel. Collision detection, FEM simulation, and contact solver are some of the many common algorithms that have been rewritten […]

Areas of Focus

Testing Management

Our testing expertise comes from years of creating large-scale software systems such as VTK, ITK, CMake, and ParaView. This expertise has spurred a selection of tools including CTest and CDash. These tools allow for continuous, per branch, and nightly building and testing across all platforms, and they provide immediate feedback to developers for robust software.

Software Process Focus 2

Software Process Implementation

We have developed standard software processes including agile methodologies, continuous testing, and verification, which we practice in running large-scale, distributed, open source development projects such as the Visualization Toolkit (VTK), the Insight Toolkit (ITK), and ParaView. We have also worked with companies and organizations to establish and grow software development communities through an efficient software process.

What We Offer for Your Project

We provide custom research and software development, collaboration, support, training, and books to help in the above areas of focus.

Software Process Platform

CMake is our cross-platform build tool for controlling the software compilation process using simple platform- and compiler-independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler of choice.