Webex Recording Find the Webex .arf player here
Biodata Development Tech Talk: In this meeting the Development Lead (Mike Stern) for the Biodata project, will discuss several key areas of the project, and what he views as keys that led to a successful project. The intent of this discussion is to cover some of the areas below. Discussion and questions are encouraged. A slide show is attached for early review.
Project Objectives: A secure, modern, web-oriented, extensible and adaptable system for the capture, storage, curation, and distribution of bioassessment and supporting habitat data commonly collected for NAWQA and other USGS projects. Version 1 to support stream macroinvertebrate, algal periphyton, fish-community and instream habitat data collected using protocols of USGS National Water-Quality Assessment Program (NAWQA) and the USEPA National Rivers and Streams Assessment (NRSA).
- Project Structure
- Clients: Project managers/Business analysts
- Developers: Small team (never > 8 devs at one time)
- Agile--Both Client and Developer buy in
- 2 week iterations 3-4 meetings per iteration
- Daily standups (separate client and developers)
- 3 main projects (Data Entry, ETL, Reporting/warehousing)
- Integrations with Legacy Inputs (NWIS Sites, Biotdb, Labs) *
- Application Features
- REST services to JS front end...clear decoupling
- Auto Save with Real time validation (avoid save buttons)
- Quick Search using index tables
- Dynamic object hierarchy inflation (with api) *
- Technology Stack
- layered java, REST-ful webservice, extJS UI, Oracle
- JBoss AS, Apache, centOS
- Key Java libraries: Spring, Ibatis 2, RESTeasy, Jasper Reports
- Oracle XML tables using hierarchical queries *
- Development Methodology/Practices
- Test Driven Development--Make it Break, Make it Work, Make it Pretty
- Continuous integration: good coverage, encourage early and often check ins
- Push Button Deploy and 'releases'
- Light weight process (code reviews, build and deploy, documentation)
- Optimize when necessary *
- *Tooling:*Rely on automation to make the developers job 'easy'. Leverage open source tools.
- Remedy *