agu 2013 in22a-07 :: the es-doc software process

39
AGU 2013 IN22A-07 :: The ES-DOC Software Process

Upload: ricky-boughton

Post on 01-Apr-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AGU 2013 IN22A-07 :: The ES-DOC Software Process

AGU 2013

IN22A-07 :: The ES-DOC Software Process

Page 2: AGU 2013 IN22A-07 :: The ES-DOC Software Process
Page 3: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Mission

Nurture a standards based eco-system in support of earth system

documentation creation, analysis & dissemination.

Page 4: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Sub-Domains2013

Earth System ModelsStatistical Downscaling

2014Obs4MIPs ?

Page 5: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Strategic Relevance

EXA-Scale requires quality documentation

Page 6: AGU 2013 IN22A-07 :: The ES-DOC Software Process

http://es-doc.org

Page 7: AGU 2013 IN22A-07 :: The ES-DOC Software Process

#esdocumentation

Page 8: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Funders

IPSL (EU)NOAA (US)

EX-ARCH (G8)ISENES-2 (EU)

Page 9: AGU 2013 IN22A-07 :: The ES-DOC Software Process

PI’sVenkatramani Balaji (US - NOAA)

Cecelia DeLuca (US - NOAA)Sébastien Denvil (EU - IPSL)

Eric Guilyardi (EU - IPSL)Bryan Lawrence (EU - BADC)

Karl Taylor (US - PCMDI)

Page 10: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Core Team

Sylvia Murphy (US - NOAA)Allyn Treshansky (US - NOAA)Mark Greenslade (EU - IPSL)

Page 11: AGU 2013 IN22A-07 :: The ES-DOC Software Process

ToolsCreateSearchView

CompareVisualize

Page 12: AGU 2013 IN22A-07 :: The ES-DOC Software Process
Page 13: AGU 2013 IN22A-07 :: The ES-DOC Software Process
Page 14: AGU 2013 IN22A-07 :: The ES-DOC Software Process

API

PublishSearch

CompareVisualize

Page 15: AGU 2013 IN22A-07 :: The ES-DOC Software Process

API Clients

2013Python

2014C, Java

Page 16: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Demo

CMIP5 Comparator

Page 17: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Process

Social or Technical ?

Page 18: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social Process

Page 19: AGU 2013 IN22A-07 :: The ES-DOC Software Process

before software comes dialog

Page 20: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social ProcessRequirements Capture

• scientist engagement• prioritization• scoping• politics

Page 21: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social ProcessSelf Organization

• roles• responsibilities• mutual respect

Page 22: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social ProcessTransparency

• visibilty• accountability• traceability

Page 23: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social ProcessEthos

• commitment to quality• determination• sense of humor !

Page 24: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social ProcessCommunication (internal)

• face to face• telcos• wiki• email

Page 25: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social ProcessCommunication (external)

• advocacy• splash page (see branding)

• social media

Page 26: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Social ProcessGoals

• achievable• collectively decided

• iterative

Page 27: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical Process

Page 28: AGU 2013 IN22A-07 :: The ES-DOC Software Process

after dialog comes software

Page 29: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessInformation Architecture

• domain driven design• ontologies

Page 30: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessMeta-programming

• Code generation• Multi-language support• Supports quaility

Page 31: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessMap Reduce

• 700,00 lines of XML• 4D array

Page 32: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessUser Experience

• UI first• Usability testing

Page 33: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessWeb Services

• HTTP• REST vs RPC

• Encoding (JSON)• Security

Page 34: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessPolygot Programming

• python• javascript• bash

Page 35: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessTesting

• Automated Testing• Unit, Functional, Integration

• CI Server• Executed upon check in

Page 36: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Technical ProcessDeployment

• Today: single click• Tomorrow: fully automated

Page 37: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Conclusions

Page 38: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Conclusion - 1Scripter Developer Engineer Architect

In the absence of systematic training, internships, & mentoring, scientists will not get

beyond developer status

Page 39: AGU 2013 IN22A-07 :: The ES-DOC Software Process

Conclusion - 2Strong Repeatable Social Process

The social process is undervalued yet once learnt is transferable between projects