|
Component Three: Development of the System
Development of the system began in June 2008.
The application development process will begin with a design study by the development team to explore the overall layout and user interface for MEGA-J. This Web site will function as the primary means by which DoA staff enter new and edit existing site information (including site location and extent), query the inventory for specific site data, and track site monitoring activities.
A primary goal of the user interface design study is to allow GCI-WMF, DoA, and the Farallon team to quickly explore several possible designs and identify the optimal layout. Beginning the application development effort with a functional user interface mock up will also provide the team with the opportunity to prioritize application functionality. This is a critical step in ensuring that the project budget and schedule requirements are met.
Based on results of the design study, a functional prototype of the MEGA-J application will be developed using actual field data to test an early working version. The functional prototype will allow project team members to confirm that interface design, functional capabilities, and database structure are viable. In addition, the functional prototype will provide project team members with the opportunity to identify and correct design shortcomings early in the system development process, before coding changes become cost-prohibitive.
The bulk of the application development effort will use an incremental and iterative software design approach, known as Agile software development. This approach relies on iteratively improving the highest priority functional elements of the initial prototype application, reviewing the result, and determining whether the newest version of the application meets specific acceptance criteria. DoA and GCI-WMF users will play a critical role during this process as they will review and critique iterations of the application.
The user reviews from the DoA and GCI-WMF teams will be utilized to prioritize remaining application development efforts. After the team as a whole reaches consensus that the current prototype application delivers specific functional capabilities, the development effort will then focus on improving the next highest priority functional requirement. This iterative approach to developing, reviewing, and accepting sub-components of the application should ensure that project resources are always directed at developing the most important elements of the system.
In accordance with Agile software development practices, extensive unit testing of the code will be conducted throughout the development effort to minimize the possibility that logic defects exist within the computer code and to ensure that the component functions as anticipated.
Last updated: June 2008
|