This document provides the guidelines followed by Metova personnel during the software development process. This process aims to account for all input that drives development and ensure the client receives the maximum return on investment.
While this is the standard process for Metova, it is understood that many clients will have their own process. Internally, Metova manages and delivers all software solutions according to this process to ensure quality and performance according to the declared estimates or statements of work. Metova will work with the client to provide the necessary artifacts to satisfy their process needs with the understanding that additional requirements by the client to satisfy their process may require additional time. Accordingly, this time should be added to the stated estimates.
It is intended for this document to be a reference for those involved in the high level process of defining and prioritizing functional software deliverables. A person from any business should be able to read this document, understand the planning process and have a high level overview of software delivery. It should not be necessary for someone outside development to read any further than this document in order to maintain a sufficient understanding. On the other hand, it is important for any developer to have a deep understanding of this process, as it will be the driving factor for the tasks they perform every day.
Agile methodologies suit these objectives well.
An agile methodology is one that addresses the problems of quickly delivering quality software, then evolving it to meet the changing business needs. It is a discipline that values simplicity, communication, feedback, and maximum return on investment.
Agile methodologies address long running projects by breaking them into a sequence of self-contained, one to three week mini-projects called an iterations. During each iteration:
Clients define functionality using business language, and prioritize those requests based on the value added. Progressing through the process, functional requirements are broken into even smaller pieces and detailed by the client. Development and Quality Assurance teams work to fulfill the functional requirements in the order prioritized by the client.
Previous approaches saw outsourced teams operating in a rogue fashion with little or no oversight. The outsourced team prioritized items to be completed, which was not always inline with the client's expectations or rapidly changing business needs. Changes were difficult to accept, costly to implement, and inherently carried greater risk to the business. The agile process tries to enable efficient and practical interaction between client representatives and Metova's software delivery efforts. Metova prides itself on transparency. Clients may logon at anytime to Jira and see any level of detail they choose including functionality currently in progress, by which developer, as well as the roadmap for future progress. Changes can be made quickly, and the impact to cost as well as risk is clearly represented.
Client representatives will be responsible for guiding and prioritizing development. It is best to involve client information technology personnel and designated business representatives that are intended to utilize the software solution.
The client can dramatically improve risk factors and the quality of deliverables by following the Metova Process and all of the following requirements: