XAMtastic Challenges

XAMtastic Challenges

The first version of EMC’s XAM software developer kit (SDK) is now officially available.  In addition to Mark’s post on the subject, here’s another link to a site that puts together the whole picture of EMC’s first public release of the XAM SDK.

There were a couple of challenges regarding this release:

  1. The challenge of generating a new industry standard for reference information
  2. A coding challenge

The first challenge represents the very difficult task of galvanizing the industry to come up with an alternative, industry standard way to interface with fixed-content devices like Centera.

The second challenge represents a contest.

Hats off to a couple of groups: the SNIA community and the EMC XAM SDK developers (along with all of the other members of the Centera team involved in its creation, qualification, and support).  I have written before about the initial discussions that occurred outside my cubicle less than three years ago.  And now we have shipping code.  Think about that. Conversations in December 2005 turned into SNIA proposals, then working groups, then first drafts of specs, then approved versions of specs, then product design, implementation, test, and release.

The SNIA XAM Initiative moved quickly, in my opinion, which is not something one typically says about a standards effort. SNIA XAM members included vendors from the storage industry,  vendors writing applications that generate fixed content, and end users that purchase and run these applications and systems.   It was a multi-year effort, and more information on the topic can be found here. For the full list of companies participating in the XAM initiative, check here.

If you had asked me whether or not the industry could come up with the spec in time for companies to release a XAM SDK within 2 1/2 years, I would have been skeptical. Too much of a challenge. But it happened.

Which brings me to the next challenge: who’s going to write the first XAM applications?  At EMC, we’ve decided to challenge our software developers to write a few of their own.

The MPG XAM Coding Challenge

Back in May I proposed an idea to the executives in my organization (the Multi-Protocol Platform Group): let’s run an EMC internal XAM coding challenge as a way of (a) educating our workforce on XAM, and (b) generating some sample XAM applications that could hopefully be shared with the general public, or partners, or both. The idea was approved, and this summer we’ve been running the challenge. Here’s how it’s gone.

The Prizes

I had to work with my HR team on this one. What could we come up with to attract developers?  Cash seemed obvious, so we came up with a proposal for a “double quarterly bonus” for the winner, 175% for second place, and 150% for third.  But in my mind the “real” award would be the EMC-wide recognition of the winners, in person, in front of the greater EMC technical community at October’s Innovation Conference.  This includes travel, which would hopefully generate worldwide participation.

It worked. We have participating teams in Belgium, St. Petersburg Russia, the U.K., China, NorthEast US, and employees in our RTP, North Carolina facility.

The Team

There are four of us running the challenge, including Scott (XAM Architect), Mike (XAM Support), and Kaleb (XAM development sandbox).

The Rules

We generated a 100-point system that revolved around 5 general categories:

  • Schedule: Submit proposals and finished code by certain dates
  • Quality: extra points for unit tests, documentation, and test plan strategies
  • Innovation: judging creative uses of XAM
  • Code: extra points for following coding rubrics and fixed-content semantics
  • Business Value: presentation on the business value of your XAM application

The Spirit

All contestants can try to “win”, but the spirit of the challenge is “coding joy”.  Come up with some creative ways to use XAM, have a good time, and help both EMC and the industry.  So far, with the month of September deadline approaching, that’s what we’ve seen:  a lot of creative XAM proposals. And with any luck we’ll be able to share them with the industry, or perhaps show how they can interoperate with non-Centera systems. That would be cool.

All of the proposals, support, rules, and collaboration occurs on my organization’s Clearspace collaboration environment. The contestants have been logging their issues and getting them answered in full view of other contestants, which helps everyone to work more quickly.

As we move into 2009, the coding challenge concept is being discussed at the SNIA level as well. I, for one, am interested in seeing how the academic community would make use of the XAM API.  Stay tuned!

Steve