THE ETHOS PROCESS
GETTING IT RIGHT, THE FIRST TIME
Done right, any software development effort can be a straight path to the finish line. Done poorly, it can be a tour de force with dead ends and detours. The difference is made by a clearly defined—and proven—process.
Ethos Solutions relies on a development process that, for many years and on all projects, has successfully paved the way to on-time, on-target deliveries. Based on best industry practices, the process enables us to partner with our clients, understand and document their business needs, and set clearly defined and mutually agreed-upon expectations in terms of time line and deliverables.
Following this tried-and-true development process ensures that all aspects of the software development cycle are addressed and adhered to—and that our ultimate goal is met: to deliver software that meets our client’s expectations.
Comprised of six phases, the process follows a logical progression from conception to implementation and allows for strategic, creative, technical, and quality oversight each step of the way.
For any project, nothing is more important than starting on a solid footing of mutual understanding. This phase centers on initial discussions with the client sponsor to determine the overall project scope and approximate duration. Also addressed are technology options and resource requirements for the various project stages. The deliverables of this phase are a project charter and high-level project plan.
Like real buildings, software applications need to be built on solid foundations—a clear understanding of the business issues the software is supposed to solve. In this phase, we work closely with our clients to gather the business requirements to determine overall workflows and business rules. As the deliverable of this phase, the business requirements document (BRD) captures all of them in detailed use cases. Subsequent review meetings with the client—and corresponding document revisions—ensure that in the end there is a mutual understanding of what the solution will deliver. This phase terminates with client signoff.
It also delivers the finalized project plan. It will help us ensure that schedule and cost are on track throughout the project and that task and resource allocations are meeting the needs of the development objectives.
Once the business requirements are defined, our UI/UX designers put a face to them. Conceptual page layouts, known as wireframes, show how end users will be able to interact with the application. Wireframes reflect not only field names and field placements to be employed but also the use and placement of functional and navigational tools (such as buttons, tabs etc.). If seeing is believing, as the adage goes, clients can thus ensure that all static and dynamic UI elements will meet their expectations and preferences. Upon client buy-in, the design team will build out all pages and give them the desired look and feel, including color scheme and branding.
The longest and most complex phase of all, development focuses on building and testing the actual application. Our developers will go through the BRD to analyze the business and data requirements and then translate them into corresponding features and functions. They will also go to great lengths to ensure that all pages look great on desktops, tablets, and smartphones alike.
Because Ethos Solutions is dedicated to delivering fast results, we use an Agile development approach. At the end of each Sprint, our QA team will test the latest build while the developers move on to the next Sprint. This allows us to quickly compile tested and qualified building blocks until the application is complete—and ready to be run through a final comprehensive test: the system test.
At the beginning of this phase, QA will complete system testing, using a testing environment that mirrors the planned Production environment. During subsequent user acceptance testing (UAT), client users get their first hands-on experience and can put the application through its paces.
Throughout this phase, we work closely with our clients to provide guidance and resolve issues found during UAT. For expediency’s sake, we will give client testers access to Atlassian Jira, the leading project and issue management tool utilized in software development today. It facilitates efficient and non-ambiguous tracking of defects and bugs, and sets the stage for deployment to production.
To ensure a smooth transition, we also support train-the-trainer efforts and, if requested, provide end-user training prior to release.
Upon release of the deliverable, Ethos will review the project with the client to ensure complete satisfaction. With final user signoff, the maintenance and support process is initiated.
Typically, we provide second- and third-level support requests within budgeted hours, and will address all identified bugs within a reasonable timeframe. For client enhancement requests, we follow a Change Request process, which allows us to align the request with our overall development time table and in accordance with the client’s priority.