7SM’s experienced developers employ industry best practices to ensure a consistently high quality of work. These practices include Agile methodology, automated testing, continuous integration and a formal quality assurance process.
Until the advent of the Agile development process in the past few years, it was common for software projects to be late, over budget, and less than functional. Traditional development processes gathered all requirements up front, then proceeded into a build phase of months, or even years, and then delivered a “final” product all at once.
This process often failed because it is nearly impossible for organizations to accurately describe all of their needs up front. Even when they can do that, needs change over time, and the old development processes had no way to incorporate these changes.
In those older processes, the project was like a ship leaving port with its bow pointed one or two degrees off course. The error was too slight to be apparent at the time of departure, but by the time the ship reached the other side of the ocean, it had missed its destination by hundreds of miles.
The Agile development process emphasizes short development cycles with regular releases, so the customer can always see and interact with the latest iteration of the software. This prevents the project from ever going seriously off course. More importantly, it enables the customer and the development team to collaborate during development, improving and enhancing the product as it is being built.
The Agile process takes its name from this ability to respond quickly to user feedback at all stages of the development process.
Test-driven development and automated testing ensure that components of the application have been correctly designed and built. Continuous integration ensures that the pieces fit together and function properly. Together, these processes help identify issues immediately, so they can be addressed before they become major problems.
As we approach a release, 7SM’s quality assurance team formally tests all aspects of our
software’s functionality and user interface. During this time, we also involve our customers in User Acceptance Testing to ensure that the software is intuitive and easy to use.
Because software is our business, and what we build for you represents a major investment in your business, we do everything possible to make sure it’s right!