Spiceworks: Rapid Ruby, Customer Focus, and Starting a Company
- Date: December 4th, 2006
- Author: Justin James
- Category: Application Development, Code, Code Writing, Developers, Development, Development Process, Interview, Programming, Software Design, Software Development
- Tags:
In November 2006, I reviewed version 1.0 of Spiceworks IT Desktop, and I was rather impressed with the product and the company on many levels. Today I had the opportunity to talk with Scott Abel (CEO) and Francis Sullivan (CTO) of Spiceworks. Spiceworks is a small startup located in Austin, Texas. They have sixteen employees, the majority of which are technical people.
Our discussion centered around three major areas that I thought would be of interest: Spiceworks’ use of Ruby and agile programming techniques, their laser beam focus on the customers’ needs, and how to be a startup in a world of huge software vendors.
Rapid Ruby
When Mr. Abel and I first talked in early November, he mentioned that Spiceworks IT Desktop was written in Ruby. I took that to mean just the Web portion of the interface. Today, we talked in depth about their use of Ruby. Put simple, they had nothing but praise for it. Originally, they were looking at doing the development in more traditional languages like C++, Python, or Perl. They decided to use the Ruby on Rails framework for the Web interface. They were so impressed with the ease and speed of writing code in Ruby, that they investigated using it for the device discovery and querying as well, and decided that it would work well for those purposes as well.
On previous projects using Java, they had been accustomed to 9 – 18 month development cycles. With Ruby and agile programming methodologies, adding new features is measured in days, not months. Because Ruby is a dynamic, interpreted language, testing new code is as easy as running it, as opposed to compiling and deploying a Java project, restarting the application server, etc. This also helped significantly cut development time and frustration.
On amazing thing kept ringing in my head after we spoke: Mr. Sullivan stated that they write less than 1 line of Ruby for every 10 lines of Java that would have been needed. To make that even more potent, the majority of their programmers did not know Ruby when they started coding on this project. Within two months, every team member was able to work at full speed with Ruby. On the other hand, with development progressing so quickly, they have one shot at getting things right, and only one shot, and have much less time to make decisions.
In terms of developing with Ruby, they did state that Ruby is not as mature as other languages, particularly with documentation and libraries. That being said, they found that Ruby programmers are extremely passionate. When told that something cannot be done in Ruby, they set out to prove you wrong, and succeed. Another interesting thing that was mentioned, is that Ruby’s advantages are primarily psychological as opposed to technical. While they said that Ruby does have many technical advantages, it is the attitudes of people who program in Ruby, the community, and the mindset that the language fosters that make the biggest difference between it and other languages.
To write their code, they primarily use Textmate running on Mac OSX, although some of their developers use vi and/or emacs. “Eclipse is kind of overkill for Ruby,� said Mr. Francis. I found the idea of using a Macintosh primarily for plain text editing rather surprising, but the speed of their development is difficult to argue with: Spiceworks was officially started in January, 2006, and version 1.0 of IT Desktop came out in November 2006. In other words, in eleven months they started a company, hired employees, got office space, built a living community around the product, and got the product out the door. For testing, they use unit testing, a lab of several dozen computers, virtual machines, and testers within the Spiceworks community.
Customer Focus
One thing that came through both times that I spoke with Mr. Abel, and today with Mr. Sullivan, is their dedication to serving the customers’ needs. One thing they kept brining up was the idea of listening to the user. All new feature ideas, for example, are voted upon by the Spiceworks community. That is a very unusual idea, but as a result, Spiceworks IT Desktop really only has the features that makes life easy for their customers. New features are also subjected to a rigorous sniff test: “Does this serve our average user?� If not, the feature will most likely not be added.
The “80/20� rule kept coming up as well. One interesting part of the conversation came up when I asked them how they maintain the “80/20� rule while simultaneously rolling out new features and continuing development. One thing they said that has helped is that they are not a traditional software vendor that relies on pushing out a regular cycle of upgrades to drive revenue. Instead, they focus upon maximizing the value proposition to the customer.  By doing so, they grow their userbase, which in turns drives revenue (Spiceworks IT Desktop is supported by unobtrusive advertising revenue). By keeping Spiceworks free to the end user and simultaneously helping them do their jobs, Spiceworks can get their product into a market traditionally ignored by most large ISVs: the 250 employee (and less) company. Whereas a systems administrator in such a small shop will never get the funding for HP OpenView, they can use Spiceworks for free.
Spiceworks is absolutely committed to this market, too. One thing that they talked about is that big software packages need to be “kitchen sink� systems, because for the price, they get compared to everything else on the market. By staying on target with the smaller customers, Spiceworks is able to find out and deliver exactly what the customers need instead of rolling out a mish mash of half baked “me too� features.
Starting a Company
The Spiceworks team are veterans of six startups, three of which they co-founded. They know a lot about starting successful companies. Mr. Abel told me that to be successful, you must be passionate about products. Specifically, you need to “get inside the user’s head, figure out how they work, and take work off their plate.� Along those lines, a “top notch, kick ass product marketing guy is the number one most valuable person� who will “make or break your company in the first twelve months.� Technical people, marketing people, even the CEO he said were secondary to having a great product manager. He also said that the second most important thing is to know what you do not do. This is right in line with their focus on the “80/20� rule and the customers’ needs.
We also talked about how they recruit and retain top IT talent. Surprisingly, they stated that being known as a Ruby shop put them at the top of many job seekers’ list of desirable companies. Ruby actually does the recruiting for them! Many people they talk to would rather work for Spiceworks in Ruby than at a shop with possible better compensation packages. They have a small environment, and the leadership spends a lot of time with the line workers. They eschew the typical startup excesses in perks, but still provide a friendly workplace, concentrating on innovation.
They also prefer to “work smart� instead of “working hard.� One reason they prefer to work in Ruby in the United States, instead of offshoring the work to a larger shop, is because “the cheapest line of code is the one that does not get written.� That makes plenty of sense to me too. By using better methods and a better language, they do not need to write and maintain a monolithic codebase, a problem that in my experience is all too frequent in languages like Java or .Net.
Concluding Thoughts
Overall, this conversation was very illuminating to me, particularly how they use Ruby. I have recently begun to take a closer look at Ruby (I know, I have been dancing around it for a while now), but Spiceworks’ enthusiasm for it was quite impressive. While Ruby on Rails is getting all of the hype right now, their use of it for a Windows application was even more interesting to me. I also really liked the way they emphasized find out what the customers need to do, and helping with that, as opposed to coding up every feature that someone says they might want. That makes a world of difference. Spiceworks is a company to keep an eye on, I expect to see more good things coming from them in the future.
J.Ja
Justin James is an employee of Levit & James, Inc. in a multidisciplinary role that combines programming, network management, and systems administration. He has been blogging at TechRepublic since 2005. Read his full bio and profile.
Print/View all Posts Comments on this blog
|
|
|
|
|
|

