Tuesday, March 6, 2012

Back on the Front Line of Agility...

Sorry that it has been a while since I posted here - my professional life has changed considerably since I last wrote!

Last Fall I join an exciting startup, VoltDB, leaving behind a "Waterfall to Agile" transformation environment, diving head first into the front lines of a pure Agile start-up environment.

It's been a pretty exciting 6 months working with a great team of engineers.  We're delivering a high velocity, scale-out NewSQL relational database. This product fits at the fire hose intake edge of Big Data and is capable of ingesting hundreds of thousands of transactions per second on commodity hardware.   Low latency, high velocity.  Lots of challenges, both technical and process-wise.

Here's an overview of the VoltDB Development environment:
  • Open Source Database.  Because it is open source, anyone can see the our code (see our Git repository at  https://github.com/organizations/VoltDB).
  • It's a database.  It has to work, can't corrupt or lose data.  Quality is paramount.  
  • We have Continuous Integration system running a large suite of automated tests.
  • VoltDB is in production for a significant number of customers.  There's no dedicated Support team; the Engineering Team provides 24x7 support.
  • We have transparent development: our Product Backlog and Sprint Backlog is hosted (publicly) in JIRA.  We use Greenhopper to plan and track iterations.
  • 3 week iteration.  The product is released almost every iteration!  The Team truly produces a potentially shippable product increment most iterations.
Of course, like every Agile team, we have our share of challenges.  Some of the challenges we experience include:
  • Dealing with unplanned customer support issues as well as pre- and post-sales assistance.
  • Dealing with technical debt.
  • Story sizing: specifically defining small enough slices of potentially shippable functionality.
  • Scaling the team: we're growing fast!
We've adopting Scrum to help us meet these challenges. I'm a firm believer in Agile software development, specifically an Inspect and Adapt framework like Scrum.  Because we're a start-up with a product smack in the middle of a rapidly growing, and evolving, Big Data market, product requirements can change often, sometimes daily. Scrum provides us the framework to adapt to changing business conditions while still regularly producing business value.

It's great being back on the front line of Agility. I hope to find time to blog about these challenges as well as other topics in the coming months, time permitting.