Pivotal Labs Mobile. Serious Agile Development for Mobile Platforms

We’ve been a leader in Agile development from the Smalltalk days to the latest in Rails and HTML5, and we’re innovating on mobile development, too.

We bring the same rigorous approach to our mobile projects that has served us and our web clients so well and that has earned the respect of our colleagues in the web development world. As a result, we're a bit selective regarding the platforms we develop for: we won't adopt a platform until we're sure we can excel. We provide the same level of quality and sophistication in our mobile projects that we're known for in our web projects.

We've worked with great clients to build leading apps, often with tight launch windows on brand new platforms that lacked mature tooling. That was definitely the case when we built the Twitter client that ships with every Google TV. And we're comfortable in a multi-platform world too, for example developing Gowalla for Android, just in time for a huge launch at SXSW. And that’s just a few of the projects we’re allowed to talk about. As is so often the case, some of the most interesting stuff is on the down-low.

Mobile Development, Test Driven

In the mobile world, very few shops take TDD/BDD seriously. We can’t live without it. If you want to know if your developer is serious about doing Agile, ask them how they test. Even dyed-in-the-wool RSpec addicts will sheepishly say they don't test their iOS apps, other than the 'build, try and pray' method. We’re serious about behavior-driven development at Pivotal. So much so that we’ve developed BDD tools for every platform on which we develop. We won't rest until the state of the art in Mobile development catches up to the web world, where we’ve been pushing the envelope for years.

We know that to be serious about Mobile we must ensure there is a solid way to test. When we started investigating the space, the tools were far from mature. For iOS, there was OCUnit, which was significantly better than nothing, but not something with which we felt we could seriously test drive, so we developed Cedar. For Android, JUnit was available, but we’ve been spoiled by more dynamic languages and really wanted that BDD goodness, so we developed Robolectric. Existing Javascript frameworks weren't really up to the challenge of working with a browserless and often serverless JS environment, so we developed Jasmine.

Jasmine has also become our tool of choice for Web development, and we’re not the only ones. It’s become the leading BDD tool for Javascript in the Ruby community. Necessity led to something more broadly useful than we’d originally intended. Nice win.

What Platform?