Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Committee Status Report to the Community: Preliminary Recommendations Richard Loft and Gerry Wiener SE Committee Co-chairs National.

Similar presentations


Presentation on theme: "Software Engineering Committee Status Report to the Community: Preliminary Recommendations Richard Loft and Gerry Wiener SE Committee Co-chairs National."— Presentation transcript:

1 Software Engineering Committee Status Report to the Community: Preliminary Recommendations Richard Loft and Gerry Wiener SE Committee Co-chairs National Center for Atmospheric Research Boulder, CO USA

2 The Software Committee was charged to: assess the status, needs, and priorities in software engineering and computer science at NCAR based on discussions with NCAR scientific and technical staff and external experts; synthesize the results of those discussions in the context of the NCAR Strategic Plan for High Performance Scientific Simulation, and to produce as a result an Implementation Plan to accompany the Strategic Plan; and make recommendations related to software engineering and computer science that would require action before the Implementation Plan is completed.

3 SE Committee Members Lawrence Buja, CGD Chris Burghart, ATD Tony Craig, CGD Cecelia DeLuca, SCD Jose Garcia, HAO Rich Loft, SCD (co-chair) John Michalakes, MMM Bill Preeg outside consultant Russ Rew, Unidata Eric Scharff, ESIG Chris Webster, ATD Gerry Weiner, RAP (co-chair)

4 SE Committee Activities Committee has met monthly since March, 2003 Committee Members collected data via surveys from own divisions Website: http://www.scd.ucar.edu/secomm http://www.scd.ucar.edu/secomm Swiki site (document repository): http://swiki.ucar.edu/secomm http://swiki.ucar.edu/secomm

5 Purpose of this Meeting Explain preliminary recommendations of committee. Get feedback from software engineering community. Use this information to write final report.

6 Things to keep in mind… What do you like? What don’t you like? What have we missed? What should we drop? How would you like to see your profession change at NCAR?

7 Recommendations…

8 Recommendations Goals General goals of our recommendations: –Improve project management practices. –Augment HPC engineering resources. –Improve training of software engineering staff. –Improve communication and knowledge exchange between software engineers. –Encourage better software process practices.

9 Proposal Review Senior software engineers with relevant expertise should be added as reviewers of those new proposals with a strong software engineering component. Applies only to proposed NCAR projects and initiatives. Externally funded proposals may have other evaluation criteria. Goal is to identify the engineering issues of new projects in advance.

10 Project Planning Funded NCAR projects involving software engineering above a certain size should be required, at their inception, to provide a Project Plan to NCAR management. This plan should specify at least three items: –a work breakdown structure –a project management structure –and the software process to be used Goal is to improve the planning and execution of new projects.

11 Application Group We recommend that a group specializing in geophysical applications be created as a standing, cross-divisional engineering resource for projects in the new Sun, Weather, and Climate Laboratory (Swickle). Characteristics of the Application Group –Members would be integral members of project teams; on completion they would be reassigned to other projects. –such a group would ensure projects access to adequate dedicated computer science and software engineering expertise. –Would create a persistent reservoir of talent and experience. Group would maintain close ties with the Computational and Information Systems Laboratory (Sizzle).

12 SE Staff Training Target All software engineering staff should attend at least one week of relevant training per year. Specific type of training is mutually agreed upon with supervisor. Training performed should be documented and tracked by management. Software project managers should be receive appropriate management training. Goal is to maintain software engineering staff’s technical currency.

13 HR Training Courses Additional HR software engineering training courses should be created. –A customized software project management course should be added. –Software engineer mentoring course. The specific types of courses offered should be determined by the NCAR engineering staff, via a web voting procedure. Goal is to improve the relevance of internally offered courses.

14 Software Engineer Mentoring A new software engineer mentoring system should be created. The elements of this new program will be: –Assigning mentors to new staff –Training mentors –Recognition of mentors through performance evaluations. –Open to all (not just the SE job title). Focus: –New employees or engineers with few peers –Other staff performing software engineer functions. Goal: to improve staff orientation and professional development.

15 Seminar Series A cross cutting seminar series entitled Science and Engineering in the Geosciences should be created. Focus of talks: progress, success stories,technology trends Composition: –Computer scientists, software engineers, physical scientists –Both local and outside experts Goal is to foster cross disciplinary knowledge and cooperation between the scientific and engineering disciplines at NCAR.

16 Knowledge Management System We propose the creation of a Software Engineering Knowledge Management (SEKM) system. This system should provide: –best practice recommendations for software process –profiles / home pages / links to software engineers –a "software map" of NCAR software projects –evaluations of software engineering tools –announcements of in-house and external SE-related events –access to SE mailing lists –software process documents –style guides –a search engine and site map Goal is to improve the communication between software engineers.

17 NCAR Project Database The committee recommends that a database should be created for all NCAR software projects to help share knowledge within NCAR. A basic template for –project name –description –code architect –software tools Goal is to help share knowledge of projects within NCAR.

18 SEKM Librarian help gather initial information create example web pages for projects encourage participation of SEs in other divisions ensure that information is up to date modify the KM system to encourage greater participation from the community organizing information create a high quality Web presence for the SE community

19 SEKM Milestones Initial Activities –The creation of a web site –A mechanism for engineers to contribute to the web site –The integration of the web site with existing sources of information (such as SE mailing lists) and the possible creation of new mailing lists –Research and prototype deployment of a knowledge management system.

20 Software Process We recommend that the institution commits to develop and maintain a set of best practices and software processes for each kind of three levels software development. These are: R&D, e.g., one SE and a scientist - none to minimal process Research prototype, small team, no formal system deliverables -- none to minimal process Large project, large teams, formal deliverables -- minimal to quite formal process We recommend that best practices be developed for each level of project.

21 Example of “Best Practices” Adopt an appropriate software process Use software configuration management and build tools Use bug tracking software Emphasize portability for current and future platforms Document code for later maintainers Isolate decisions that may change Practice test-driven development

22 Comments? What do you like? What don’t you like? What have we missed? What should we drop? How would you like to see your profession change?


Download ppt "Software Engineering Committee Status Report to the Community: Preliminary Recommendations Richard Loft and Gerry Wiener SE Committee Co-chairs National."

Similar presentations


Ads by Google