Development methodology
Esomnie utilizes a software development process called Scrum. It is a lightweight software development process that focuses on:
- The Product Owner, you, providing the vision of a successful project that meets your needs.
- Providing transparency so the Product Owner may evaluate the status of the project at any time.
- Providing a working system as early and as often as possible.
- Quickly reacting to changing requirements and feedback from users of the system.
Overview of Scrum
Using Scrum, your web application will be built in multiple phases. With Scrum these phases are called Sprints. Each Sprint can last a total of 1 or 2 weeks. At the end of a Sprint, you will be able to use the portion of the web application that has been built. This is a checkpoint where you will be able to provide feedback to the team regarding the current development work. We have found that our customers typically start modifying their initial requirements once they see the live functioning application. We encourage this. The earlier we elicit feedback from you and the users of the system the better we can react. This is one of the major benefits of developing software using the Scrum process.
Engineering Practices
Test Driven Development (TDD) – Our engineering team is passionate about developing high quality software. One of the engineering practices that help us accomplish this goal is TDD. Every time we add code to the system, we also add a test. By building up this suite of tests, we can quickly and easily run a system test to ensure the system is working properly.
Iterative and Incremental – We have developed a lot of software for a lot of clients. The one thing consistent about all of the projects is that requirements change; we understand that. Rather then developing processes that resist change, we embrace it. Iterative and incremental development provides a way to create software efficiently while allowing our customers to change the requirements.
Pair Programming – Our team works closely together. This includes regularly pair programming. The more eyes that review code, the less bugs we’ll find in the final product and the happier the users of the software will be.
