SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

27
SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006

Transcript of SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

Page 1: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

SEA SeminarSoftware Process

Deirdre Garvey

NCAR/RAL

April 26, 2006

Page 2: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

Money Magazine justlisted “Software Engineer”

as the #1 job inAmerica!

Page 3: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

What will I cover?

• RAL software process

• Software process used on a specific RAL project: The Juneau Project

Page 4: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

What does RAL do?

From the SE perspective…– Science support– Rapid prototyping– Real-time operational systems development

and support– Tech transfer

Page 5: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL by the numbers

• 50+ SE’s

• 60+ projects

• 125+ charge numbers

• WIDE variety of software process among projects

Page 6: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Software Process

Some example areas:– Single CVS repository for RAL structured to

encourage code sharing– Nightly checkout, build, install to shared /rap

disk for multiple OS’s– Internal SE web site– Software process group (SPG)– Some conventions– Software process varies by project

Page 7: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Software Process

Some lessons learned:– Source code control is fundamental– Nightly checkout and build is a big help to

developers– Scale your process to your project, too much

process is as problematic as too little– Writing, using, and maintaining reusable

shared code takes extra effort– Balance control and flexibility

Page 8: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Software Process

RAL SPG software process levels:– Created by RAL SPG after input from RAL SE

retreat– Level 1: R&D

• 1-2 SE’s, no code delivered, minimal process

– Level 2: research system• Larger team, informal releases, more process• Example: a field program

Page 9: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Software Process

RAL SPG software process levels:– Level 3: delivered system

• Larger team, formal releases, more formal process• E.g., current Juneau project

– Checklists/questionnaires created for each level to help guide discussion on process for a project

Page 10: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

Now on to a specificRAL project –

Juneau

Page 11: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Very brief history:– 1996 ATD installs Zeb in Juneau– 1998 RAP first field program (Level 1 to 2)

using system developed for Hong Kong– 2000, 2002 RAP field programs– Research (Level 1) and operational aspects

(Level 2/3) seesawed over the years, currently in Tech Transfer (Level 3)

– Ongoing operational system in the field since 1998

Page 12: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau ProjectScope:

– A big, complex, multi-year project with significant science and engineering components

– Operational real-time distributed information and (now) warning system for the Juneau, Alaska airport

– 20+ machines in Juneau, radars, AWS’s– 300,000 lines of code– Deliverable: source code and docs– Customer: FAA

Page 13: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau turbulence alert system

Mountaintop Anemometer Tower

King Air and B737 Collecting Data Juneau Wind Profiler

Turbulence Alerts in Flight Service StationTurbulence Alerts in Control Tower

Turbulence Alert Alphanumeric Display

Turbulence Alert Graphical Display

Juneau Airport

Page 14: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

FY04 JWHAS 3.0 Architecture

JWHAS Ingest /

Algorithm Host

p0-jwhas1

Profiler Host p1-lc

JWHASIngest

andAlgorithmProcesses

Profiler Host p1-sd

Profiler Host p1-nd

Rapid UpdateWinds

1secWinds

Internet

Internet

Read-onlyNFS Mount

Data Archive

JWHIS Host p1-anin

ProfilerConsensus

Winds

Data Archive

Data Archive

Data Archive

re

rw

cf1

pd1

sm2

sm1

mr2

mr1

ec2

ec1

ConsensusWinds

Web Server Host

p2-kern2(DSL)

Web Server Host

p2-kern2(DSL)

Web Server Host

p1-kern2(cable-modem)

Web Server Host

p1-kern2(cable-modem)

Monitor Host p1-kern1

SysView SpongServer

Data Archive

statistics

/monitor

JAWS Users

Data Archive

p0-jwhas3 p0-jwhas4

JWHAS Web Content Host p0-jwhas2

JWHASWebContentGeneration

JWHASDisplay

MD

Data Archive

/www

/jlog2

/jlog1

Page 15: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Staff:– Management (current):

• Project Manager, Science Lead, Software Architect, Software Lead

– Science/Technical (over the years):• ~20 different SE’s• ~30 different scientists• 5 different Systems Administrators• Team size varied from year to year

– Subcontractor in Juneau to do local support

Page 16: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Software process goals for project:– Move towards CMM (Software Engineering

Institute Capability Maturity Model) Level 2 – Repeatable

– Currently at RAL SPG Process Level 3 (delivered system)

Page 17: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Planning and schedule:– Schedule planning and tracking updated

weekly (MSProject) and posted to project web site

– SE’s involved in SOW (Statement of Work) planning and milestones at start of fiscal year

– Scheduled code freezes and delivery dates– Scheduled milestones– SE’s estimate tasks and sign up to deadlines

Page 18: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.
Page 19: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.
Page 20: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Planning and schedule (cont):– Lifecycle model chosen for fiscal year

• FY04 development effort was design-to-schedule (design and implement from highest to lowest priority with release occurring somewhere)

• Prior years used staged delivery (successive refinements of product)

Page 21: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Software development:– All files for project are under source code

control (CVS)– Nightly checkout and builds from CVS to

shared disk– Internal requirements documents– Design documents, ICD’s (Interface Control

Documents) and design reviews for new components

Page 22: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Testing:– Simulation system maintained in Boulder for

testing and integration, simulate all data feeds and separate hosts

– Nightly checkout and build current pre-release code and install into simulation system

– Unit testing by developers

Page 23: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

People (SE’s):– Weekly status meetings of SE team during

active development cycles– Internal project web site maintained with

documents, schedules, status– Software design and implementation

guidelines decided on by team– Team roles defined– Team decision making process defined

Page 24: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.
Page 25: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

RAL Juneau Project

Some lessons learned:– CVS is fundamental– Nightly checkout and build is key– Full simulation system is a big help for

testing/integration– Appropriate level of process improves

communication, expectations– Make conscious process choices and involve

the team in them, choose just a few areas to focus on

Page 26: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

Summary

• Scale your process to your project• Successful process depends on the team

and management support of the team– E.g. support for team environment, training,

communication

• Process is a balance of control and flexibility

• RAL SPG Process Level 2 (research system) is a great place to be!

Page 27: SEA Seminar Software Process Deirdre Garvey NCAR/RAL April 26, 2006.

Questions?