sea seminar software process
DESCRIPTION
SEA Seminar Software Process. Deirdre Garvey NCAR/RAL April 26, 2006. Money Magazine just listed “Software Engineer” as the #1 job in America!. What will I cover ?. RAL software process Software process used on a specific RAL project: The Juneau Project. What does RAL do?. - PowerPoint PPT PresentationTRANSCRIPT
SEA SeminarSoftware Process
Deirdre Garvey
NCAR/RAL
April 26, 2006
Money Magazine justlisted “Software Engineer”
as the #1 job inAmerica!
What will I cover?
• RAL software process
• Software process used on a specific RAL project: The Juneau Project
What does RAL do?
From the SE perspective…– Science support– Rapid prototyping– Real-time operational systems development
and support– Tech transfer
RAL by the numbers
• 50+ SE’s
• 60+ projects
• 125+ charge numbers
• WIDE variety of software process among projects
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
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
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
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
Now on to a specificRAL project –
Juneau
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
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
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
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
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
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)
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
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)
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
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
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
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
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!
Questions?