NIWA Systems Development Team Andrew Watkins SD T





























- Slides: 29
NIWA Systems Development Team Andrew Watkins SD T SDT Overview Taking dull repetitive work from scientists and giving it to robots since 2008.
SDT People Processes & Tools Pe op le
SDT The Team
SDT • • • The Team Colocated Agile Methods Diverse Skills Mix of Youth and Experience Capacity and Capability 80: 20 Development & Research
SDT • • Work on Dataware Middleware Web services Web User interfaces Thick and thin application clients Mobile, fax, and email notification services Other Technical Stuff
SDT • • Don’t Work on Static Web content - Communications Office Systems – IT Operations Intranet GIS Scientific programming Model Development High Performance Computing Facility
SDT • • Key Relationships IT General Manager – Arian de Wit IT Operations – Anthony Cole Chief Scientist EI – Jochen Schmidt GIS – Arne Pallentin Scientists Public and Science Users Peer groups
SDT People Processes & Tools Pr oc e se s
SDT Processes • Agile development methodology • Full Software Engineering Life Cycle • Strategic Planning
SDT • • • Agile Software Development Scrum Iterative development Test driven development Continuous Integration Virtual Environments Evolving process
SDT • • • Software Engineering Baseline Standard Revision control. Auto build process and development project Test Coverage Deployment System Documentation Issue Tracking and change control process Run Time monitoring Technical support plan and SLA. Users and Access levels are identified Data is managed
SDT • • • Data Management Process Work in progress A big sell to the science staff Overcoming hoarding Making metadata available Quality control chain What can software do?
SDT • • Managing Multiple Projects Over 80 online services Using Wiki to document – basic metadata Many legacy systems Ongoing Maintenance Sprints – burst of focus to delivery JIRA Issue Tracking – custom workflow Prioritisation
SDT People Processes & Tools To ol s
SDT Atlassian Confluence – One. NIWA
SDT Atlassian Confluence – One. NIWA
SDT Atlassian Confluence – One. NIWA
SDT Atlassian JIRA
SDT Atlassian JIRA
SDT Eclipse
SDT Subversion
SDT Cruise Control
SDT Selenium Web App Test
SDT • • Programming Languages and Frameworks Java Frameworks – Struts, Seam N-Tier systems, Components Web services, Web UI • PHP • Frameworks – Symfony, Zend • Simpler systems, Front ends
SDT Relational Database • Postgre. SQL/ Post. GIS – Free, Open Source, Full Featured – Strong Geospatial Support • Oracle – Perceived Quality, Performance – License costs – Distribution issues. • Others - Legacy – Informix, Empress, Paradox, My. SQL – Actively retiring
SDT Non Relational Database • e. Xist – – – XML datastore Good for reference information Lookups, Code lists XQuery XSLT
SDT NIWA Systems Po lic y
SDT • • NIWA Systems Goals Web Friendly Restful Documented APIS Open Data by default Open Source tools first choice Mostly Free Standards Compliant
SDT NIWA Systems Goals • Avoid Vendor Lock in • Avoid CMS Embedding • Avoid Brand Embedding • Don’t reinvent wheel • Have Fun