UPDATED 12:41 EDT / MAY 14 2012

Mars Rover NEWS

SpaceOps: How NASA Uses Agile Development in the Search for Life on Mars

Mars Rover A forthcoming case study from Atlassian looks at Ensemble, a project jointly developed by NASA’s Jet Propulsion Laboratory (JPL) in Pasadena, CA and the Ames Research Center near San Francisco. It’s described by the space agency as: “a platform for the development, integration, and deployment of mission operations software that can be reconfigured or upgraded as required during the course of a mission.” In other words, it’s an agile software platform for rocket scientists.

[Update: the case study is here]

Ensemble, founded in 2004, is used for mission planning software, parsing raw data sent to earth from unmanned spacecrafts and visualizing travel paths of those machines. Ensemble’s biggest current project is a Mars rover called “Curiosity,” which according to the Atlassian case study is “an unmanned science lab which will use rock-evaporating lasers, camera/spectrometer hybrids, and high definition stereo cameras to investigate whether its landing region could (or did in the past) support microbial life.” The Ensemble team needs to be able to receive data sent from Curiosity and use that data to create a task list every single day.

Forthcoming Ensemble projects include commanding and monitoring a “free-flying robot equipped with an Android ‘Nexus S’ smartphone for data processing” and a demonstration for the International Space Station of how a human could control a planetary or lunar robot from a space station.

To support all these projects, Ensemble uses Eclipse not just as an IDE but as an application platform. By using Eclipse and Eclipse plug-ins, the Ensemble team is able to present a consistent interface with reusable and inter-operable components.

Besides Eclipse, Ensemble is also using most of Atlassian’s major products. According to JPL Lead Software Developer David Mittman, the JPL team started using JIRA in August 2004, added Confluence in 2005, Bamboo in 2007, Clover in 2009, FishEye in 2010 and GreenHopper for JIRA in 2011.

According to an earlier release on Ensemble the projects main tenets are:

  • Divide large applications into interoperable and reusable components.
  • Deliver to a mission only those components it needs.
  • Allow reconfiguration so the work process can evolve as experience is gained.
  • Make use of existing software as services that can be called by Ensemble plug-ins.
  • Use continuous automated build and test systems.

Here’s how it works in practice, according to the case study:

Behind the scenes, Bamboo is powering a continuous deployment pipeline that makes the whole works even more agile by delivering software updates to their private cloud as fast as the Ensemble engineers can crank them out. Code from six active branches is built using custom scripts that sit on top of Eclipse and SVN, and invoked by Bamboo. Each successful build is then deployed to, and rigorously tested on, two preliminary environments before going into operation.

Ensemble demonstrates both the value and feasibility of agile development and operations. It’s especially heartening to see this at a government agency, not a tech startup. Many types of organizations can benefit from continuous deployment, including in mission critical operations.

The use of Eclipse as a development platform, not just a development environment, is also extremely interesting. Has anyone else seen anything else like it?

Mars rover photo via Bruce Irving


Since you’re here …

Show your support for our mission with our one-click subscription to our YouTube channel (below). The more subscribers we have, the more YouTube will suggest relevant enterprise and emerging technology content to you. Thanks!

Support our mission:    >>>>>>  SUBSCRIBE NOW >>>>>>  to our YouTube channel.

… We’d also like to tell you about our mission and how you can help us fulfill it. SiliconANGLE Media Inc.’s business model is based on the intrinsic value of the content, not advertising. Unlike many online publications, we don’t have a paywall or run banner advertising, because we want to keep our journalism open, without influence or the need to chase traffic.The journalism, reporting and commentary on SiliconANGLE — along with live, unscripted video from our Silicon Valley studio and globe-trotting video teams at theCUBE — take a lot of hard work, time and money. Keeping the quality high requires the support of sponsors who are aligned with our vision of ad-free journalism content.

If you like the reporting, video interviews and other ad-free content here, please take a moment to check out a sample of the video content supported by our sponsors, tweet your support, and keep coming back to SiliconANGLE.