A common way to describe requirements on Agile projects is through the use of user story mapping, and, as a result, user stories. This post will not cover this process, but rather the process of taking an existing set of user stories and leveraging them within our development workflow to ensure that an application is built as accurately and efficiently as possible. To this effect, we will set up tools (Rails, RSpec, Capybara, FactoryGirl, and Guard, to be precise) for implementing our app using behavior-driven development. Structuring our app in this way gives us much better odds of producing robust, low-defect code that delivers on the requirements we set out to build.
Here at Grio we strive to constantly improve the quality of our software. But what exactly does that mean? Is there a way to measure software quality? What are the metrics? What are the tools needed for this endeavor?
As we approach software today, often through web or mobile applications, people generally appreciate the elegance of the interaction or lack thereof. But as software engineers know, there is a lot going on behind the scenes. Of course, with user interfaces for the masses becoming a necessity for modern applications, designers and more artistic–oriented folks have been contributing to the practice of software development. That leads to the question: Is software more of a science or an art?