Open Kernel Labs Blog

February 09, 2010

Tools for the development life cycle

Previously I've mentioned Agile, cooperative development and some key parts of our development process.  Talking about process and methodologies is great, but without tools to hold it together you've got nothing.

  •  Mercurial (aka hg) - For the past few years we've been using Mercurial for software revision control.  It has kept up with our demands of a speedy check-out time, extensive use of branching and patch-sets where CVS and Bazaar could not.  Without it our efficiency and scalability would be out the window.  Thanks to mercurial, and our other tools, we branch and merge more than 200 fully-tested, significant software features/improvements per quarter.  Mercurial allows us to check out or branch a full copy of our source, with Linux in seconds.
  • Reviewboard - We've been using reviewboard to conduct our code and documentation reviews. It provides an effective interface to view changes, add comments and ultimately approve a patch.   As reviewboard says, "Ship It!".
  • SDLC database - The heart of our process.  This is our in-house database and web front-end for managing all our branches, associating them with releases and a bunch of other categories.   It also helps us identify and analyse bottlenecks in our processes and tools as it is a good place for throughput metrics.
  • Buildbot - Buildbot, teamed up with our underlying software build system runs and manages our automated regression and performance testing across our hardware platforms and simulated resources.  It is running 24/7 to extensively test all new and existing software.  Perhaps some interesting regression titbits - we have over 1100 unit tests, 1200 test configs, 13 multi-core build machines and 31 hardware platforms.  And we sleep well at night.
  •  Wiki (Moinmoin) -  Today engineering uses moinmoin to manage the collective thoughts of 30 engineers, their tales and experiences of developing our Microvisor technology and how to boot it on some of the .. err unique hardware we've seen.

More tools later.

Posted by Daniel Potts on February 09 at 05:21 AM

blog comments powered by Disqus
Daniel Potts's avatar

About Daniel Potts:

Dr. Daniel Potts, Director of Engineering at OK Labs, heads up the engineering team and oversees the development our products. Dan enjoys working closely with his team, and ensuring that they have everything they need to focus on producing high quality products. When not working, you'll find Dan at the beach or swimming laps at the pool.

Email Daniel Potts

Virtualization for Embedded SystemesPermalink

▲ Back to Top