There are some merits to Web 2.0 maxims such as “don’t worry, be crappy” or “ship early, ship buggy.” With most startups, if a product is truly innovative, it doesn’t matter if certain elements aren’t quite up to par. What matters more is evolving the products with real customer feedback. This way, customers become an extension of the product team of a company, finding bugs and suggesting new features. Quality is compromised for the sake of speed of iteration and features.
Storage demands a shift of emphasis to quality. Losing or corrupting customer data is not an option when it comes to business files. At issue is the tension among features, speed and quality. Cloud storage is a rapidly evolving space. That means we need to be able to move quickly in order to take advantage of new providers and new virtualization platforms. If we simply waited to ship until we had a complete and perfect product, we would not survive.
Quality is non-negotiable at Nasuni. We compromise on features in order to deliver a high quality product in short intervals. Our team focuses intensely on reducing the feature set in the planning stages of each new release. We ship early, but test thoroughly, and then rely on customer feedback to determine which features to add next. Less is more.
Our internal testing team tests the product continuously. We don’t run a two-week development-only sprint, then test a la Scrum or other methodologies. We’re always coding, always testing and fixing bugs.
We operate as a single team. At some companies, the development and QA teams are totally separate—they’re barely interested in each other’s work. We run full bore, automated regression tests twice a day. These aren’t just a matter of clicking a button to see if it works. We set up virtual machines, tear them down, push data to the cloud, read and write files, perform file restores, and more. We’re writing large amounts of data, reading it back, and verifying the integrity. We’re constantly checking to make sure every part of the system is well behaved and reliable.
Once we have fixed a bug, we do not just check it off as fixed. We continue testing, adding test cases and prodding, even though we have already fixed it. Verifying that every issue marked fixed is “really” fixed, not just from a developer standpoint, is critical. Does this constant testing slow us down? Absolutely. But storage is a different game. There is no room for mistakes.
The Nasuni Filer has already been enhanced significantly since the beta release. We move quickly at the edges, as you can see with changes to our UI and other customer-driven adjustments. But in terms of the core areas of the Filer, quality matters more than quickness. We’d rather ensure that our product is strong, stable, and effective, and that our customers’ data will be safe and secure on the wire and in the cloud. This is part of our philosophy and an integral part of our long-term health.