SEA Seminar Software Process
description
Transcript of SEA Seminar Software Process
![Page 1: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/1.jpg)
SEA SeminarSoftware Process
Deirdre Garvey
NCAR/RAL
April 26, 2006
![Page 2: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/2.jpg)
Money Magazine justlisted “Software Engineer”
as the #1 job inAmerica!
![Page 3: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/3.jpg)
What will I cover?
• RAL software process
• Software process used on a specific RAL project: The Juneau Project
![Page 4: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/10.jpg)
Now on to a specificRAL project –
Juneau
![Page 11: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/18.jpg)
![Page 19: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/19.jpg)
![Page 20: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/24.jpg)
![Page 25: SEA Seminar Software Process](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814f9a550346895dbd57be/html5/thumbnails/27.jpg)
Questions?