RAP Software Process Checklist

404 views
316 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
404
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

RAP Software Process Checklist

  1. 1. RAP Software Process Checklist It is recommended that every RAP project fill out the project checklist on a regular basis to make software process a consciousdecision. The purpose of this checklist is to ask some software project process and practices questions to stimulate thinking. Much of software process and practice is about making conscious choices. There are no right or wrong answers to the following questions; they are intended to foster discussion by the project team and be a guide for areas to consider. It is entirely expected that different projects will need and use very different levels of software process and practices. A list of related sources is included at the end of this file for additional information. Initial project information 1. Project name: __________________________________ 2. Type of project: __ field program __ research __ prototype __ operational __ other (please describe) 3. Size of project (resources): __ small (1-2 people) __ medium (2-10 people) __ large (10+) 4. Size of project (scale): __ small (1000 lines of code or less) __ medium (1000-10,000 lines of code) __ large (10,000-100,000 lines of code) __ really big (>100,000 lines of code) 5. Length of project: __ short (1 month or less) __ medium (1 month - 1 year) __ long (> 1 year) __ ongoing 6. Identify project user/customer: _____________________________
  2. 2. 7. Deliverables (check all that apply)? __ documents/reports __ running system __ algorithm descriptions __ user training __ manuals __ none __ other (please describe) 8. User/customer support? __ 24/7 __ regular business hours only __ none __ other (please describe) 9. Level of user/customer interaction with project team (check all that apply) __ frequent __ formal __ infrequent __ informal __ none __ other (please describe) 10. Level of user/customer training (check all that apply)? __ classes __ site visits __ manuals __ none __ other (please describe) 11. List the project's main goals for the year. 1. __________________________________________________________________ 2. __________________________________________________________________ 3. __________________________________________________________________ Overall project process 1. Rank the following 3 items in terms of their importance on this project. You must rank the items, no ties. (1) __ Minimize defects (e.g., more reliable, fewer bugs) __ Maximize customer satisfaction (e.g., custom software) __ Minimize cost
  3. 3. 2. Software life cycle model? "A software lifecycle is a model that describes all the activities that go into creating a software product. Product development styles vary tremendously among different kinds of projects, requiring different kinds of tasks and different task orderings." (2) __ waterfall (document driven, linear, defined requirements) __ code-and-fix (informal, no planning or documents) __ spiral (risk-oriented model, refinement of waterfall model) __ evolutionary (develop prototype and refine until acceptable) __ staged delivery (deliver in successive stages) __ design-to-schedule (prioritize features, do highest priority first) __ none __ other (please describe) 3. Software development process model? __ XP (Extreme Programming, see www.extremeprogramming.org) __ agile (see www.agilemanifesto.org) __ CMM (see www.sei.cmu.edu/cmm/cmms/transition.html) __ none __ other (please describe) 4. Are project engineering meetings scheduled on a regular basis? If so, how often are they scheduled? __ monthly __ biweekly __ weekly __ as necessary 5. Requirements management? "Requirements management is the process of gathering requirements; recording them in a document, email, UI storyboard, executable prototype or some other form; tracking the design and code against them; and then managing changes to them for the rest of the project" (3) __ formal (e.g., tracking changes to requirements) __ informal __ none __ other (please describe) 6. Some level of risk management? "The job of software risk management is to identify, address, and eliminate sources of risk before they become threats to successful completion of a software project." (4) __ crisis management (i.e., firefighting) __ risk mitigation (i.e., plan ahead for risks) __ none __ other (please describe)
  4. 4. 7. Monitor project progress? __ milestones __ MSProject __ status meetings __ none __ other (please describe) 8. Will the project undergo an internal periodic assessment (e.g., goals achieved, analysis of past year)? __ formal __ informal __ none __ other (please describe) 9. Project measurement/metrics (e.g., estimates vs. actual) __ formal __ informal __ none __ other (please describe) Project practices 1. Will this project use version control? __ CVS __ none __ other (please describe) 2. Will this project do bug tracking? __ Bugzilla __ email __ none __ other (please describe) 3. Code reuse? __ minimal, expect to write mostly new code __ moderate, expect to use existing code for 50% of project __ high, expect to use existing code for 75% of project __ very high, expect to use existing code for >75% of project 4. Will this project do automated builds? __ yes __ no 5. Will the results of automated builds be communicated automatically to the team? __ yes __ no
  5. 5. 6. Will this project do data archive? __ disk __ tape __ optical media __ NCAR Mass Storage System __ none __ other (please describe) 7. Will this project use/develop a playback capability? __ use existing (e.g., MDV servers) __ develop new __ none __ other (please describe) 8. Will this project do formal testing? (see http://www.faqs.org/faqs/software-eng/testing- faq/ ) __ unit testing (http://www.xprogramming.com/software.htm) __ regression testing __ integration testing __ GUI testing __ none __ other (please describe) 9. Will the project use a design protocol? __ UML __ design reviews __ formal documents __ none __ other (please describe) 10. Will this project do releases? __ formal (e.g., provide CDROM and install scripts) __ informal __ none __ other (please describe) 11. Will this project do verification? __ formal __ informal __ none __ other (please describe)? 12. Will this project do validation? __ formal __ informal __ none __ other (please describe)?
  6. 6. Project practice technical details 1. What data formats will the project use? __ MDV __ SPDB __ GRIB __ netCDF __ MB __ MD/MF __ SQL __ ASCII __ other (please describe) 2. What platforms will the project use? __ Debian Linux __ RedHat Linux __ Sun Solaris __ SGI __ Windows __ other (please describe) 3. What languages will the project use? __ C __ C++ __ FORTRAN __ Java __ Perl __ Python __ Matlab others ____________________________________________________ 4. What infrastructure will the project use? 4a. Process control __ auto_restart __ ctpm __ cron __ none __ other (please describe) 4b. Configuration file reading __ TDRP __ CFRD __ XML __ none __ other (please describe)
  7. 7. 4c. Data file distribution __ DsFileDist __ md_rep __ scp __ NFS __ rsync __ none __ other (please describe) 4d. Logging __ LE __ LOG __ javalog __ none __ other (please describe) 4e. Visualization __ CIDD __ NCAR Graphics __ datacanvas __ RDI __ zebra __ VMET __ web image files __ none __ other (please describe) 5. What documentation formats will the project use? __ MSWord __ HTML __ DocBook __ javadoc __ pydoc __ PowerPoint __ none __ other (please describe) 6. What development tools will the project use? __ JBuilder __ purify __ insure __ none __ other (please describe) Footnotes: (1) "Practical Software Metrics for Project Management and Process Improvement", Robert B. Grady, Prentice-Hall, 1992, p.24 (2) "Rapid Development", Steve McConnell, Microsoft Press, 1996, p.465
  8. 8. (3) "Rapid Development", Steve McConnell, Microsoft Press, 1996, p.61 (4) "Rapid Development", Steve McConnell, Microsoft Press, 1996, p.84 ------------------------------------------------------------------------ Related sources: URL's: http://orca/cvs/doc/html/projects/etg/internal/sw_process_general.html http://www.levela.com/software_life_cycles_swdoc.htm http://www.rspa.com http://www.spmn.com/16CSP.html http://www.processimapct.com http://www.construx.com/cxone http://www.xprogramming.com/Practices/xpractices.htm http://www.agilemodeling.com/ Video training tapes available at RAP: 1 Software Engineering Overview 2 Software Project Management 3 Information Engineering 4 Reengineering Techniques 5 Object Oriented Methods 6 Software Testing 7 Software Quality Assurance 8 Software Configuration Management

×