Openly Solving Real Problems

June 20, 2013 Davis W. Frank

Like many modern software companies, Pivotal Labs develops open source software. Our approach to open source projects is rooted in how we work on any project: disciplined, practical and of course, agile. And as Edward mentioned, they’re geared to how we develop software at Pivotal Labs.

Jasmine, Cedar, and Robolectric all came out of changes in our clients’ needs. A few years back, we weren’t able to use existing JavaScript testing frameworks for Palm’s webOS, so we wrote Jasmine. Our own Rails developers wanted Jasmine on their projects so we made Jasmine more broadly useful just in time for the JS explosion.

Cedar was born out of Pivotal Labs working on iOS projects and finding that while there is OCUnit, the behavior-driven-development-style of development was more familiar for our Rails developers moving to the new platform. And with the plethora of projects that have iOS clients and Rails back-end APIs using “describe” and “it” everywhere is welcoming.

Android projects didn’t need a new test framework – JUnit is just expected in the Java community. But Robolectric was born out of a need to run tests on the desktop JVM instead of having to boot the simulator on every test run – a tax that would cause a test-driven Android app to grind to a halt.

We develop more than test frameworks – Sprout came out of a desire to use Ruby and Chef to tame the process of setting up our developer workstations. We re-image and reconfigure machines often enough that we wanted code and automation to solve the problem. Project Monitor is the CI status radiator we wanted for all of our – and our clients’ – offices. When AWS matured enough to be a viable place to host CI, we put together Ciborg to make this a no-brainer for Rails apps. We built License Finder to help us track the licensing concerns our clients have on every project – now it’s as simple as a CI build. And Whiteboard, the newest member of the stable, was driven out of a need for both a tool for larger office standups and to make blogging and emailing the minutes easier.

These projects aren’t just a way for your team to work the way we work. There are agile lessons in their origins: they are extractions from existing work, targeted strategic efforts that solve real problems. They are small and useful – the simplest things that could possibly work. And all have proven to provide business value to our clients and our consulting practice. We’re committed to supporting these projects so that they continue to be useful to us, to our clients, and to your teams. But there is plenty of other open source working happening at Pivotal Labs. There are Pivots working on popular projects in the Rails community like Nokogiri, pg_search, and Capybara-webkit. We take time to submit pull requests – with tests – to many Rails- and Android-related projects. And there are plenty of smaller projects that live at our GitHub account.

And by the way, you can see the CI status of each of these at ci.pivotallabs.com – which is running on Project Monitor.

About the Author

Biography

Previous
Implementing the Flat Design of iOS 7
Implementing the Flat Design of iOS 7

There has been much talk of the so-called “flat” design of Jony Ive’s group. iOS 7 is anything but flat. L...

Next
Unwriting your skeumorphic language
Unwriting your skeumorphic language

Less than 10-years-ago I was actually publishing to print, creating carbon copies in my checkbooks and putt...