1 / 27

SEA Seminar Software Process

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?.

amiel
Download Presentation

SEA Seminar Software Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEA SeminarSoftware Process Deirdre Garvey NCAR/RAL April 26, 2006

  2. Money Magazine justlisted “Software Engineer”as the #1 job inAmerica!

  3. What will I cover? • RAL software process • Software process used on a specific RAL project: The Juneau Project

  4. What does RAL do? From the SE perspective… • Science support • Rapid prototyping • Real-time operational systems development and support • Tech transfer

  5. RAL by the numbers • 50+ SE’s • 60+ projects • 125+ charge numbers • WIDE variety of software process among projects

  6. 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

  7. 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

  8. 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

  9. 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

  10. Now on to a specificRAL project –Juneau

  11. 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

  12. RAL Juneau Project Scope: • 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

  13. RAL Juneau turbulence alert system Turbulence Alerts in Flight Service Station Turbulence Alerts in Control Tower Juneau Airport Turbulence Alert Alphanumeric Display Turbulence Alert Graphical Display King Air and B737 Collecting Data Mountaintop Anemometer Tower Juneau Wind Profiler

  14. JWHAS Web Content Host p0-jwhas2 ec1 ec2 /www mr1 JWHAS Display MD mr2 sm1 sm2 JWHAS WebContent Generation Data Archive pd1 cf1 JAWS Users FY04 JWHAS 3.0 Architecture Read-only NFS Mount p0-jwhas3 p0-jwhas4 1sec Winds JWHAS Ingest / Algorithm Host p0-jwhas1 Web Server Host p2-kern2 (DSL) JWHAS Ingest and Algorithm Processes /jlog2 Web Server Host p1-kern2 (cable-modem) Data Archive /jlog1 re Monitor Host p1-kern1 /monitor rw statistics Data Archive Profiler Host p1-lc Rapid Update Winds Internet Spong Server SysView Data Archive Consensus Winds Data Archive Profiler Host p1-nd Profiler Consensus Winds Data Archive JWHIS Host p1-anin Profiler Host p1-sd Data Archive

  15. 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

  16. 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)

  17. 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

  18. 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)

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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!

  24. Questions?

More Related