Software Development
Summaries and minutes
Links
Here is a collection of links and attachments describing the software development processes and procedures used at various organizations.
First, some general resources on software development processes, courtesy of Maria:
The Many Dimensions of the Software Process
http://www.acm.org/crossroads/xrds6-4/software.html
Optimize or Adapt
http://www.ddj.com/architect/184414595
How ISO 9001 compares with the CMM
http://www4.informatik.tu-muenchen.de/lehre/vorlesungen/vse/WS2004/1995_9001-cmm.pdf
How Scalable Are CMM Key Practices?
http://www.stsc.hill.af.mil/crosstalk/1998/04/scalable.asp
How CMM Impacts Quality, Productivity,Rework, and the Bottom Line
http://www.stsc.hill.af.mil/crosstalk/2002/03/diaz.html
Three Dimensions of Process Improvement
Part I: Process Maturity
http://www.stsc.hill.af.mil/crosstalk/1998/02/processimp.asp
Part II: The Personal Process
http://www.stsc.hill.af.mil/crosstalk/1998/03/dimensions.asp
Part III: The Team Process
http://www.stsc.hill.af.mil/crosstalk/1998/04/dimensions.asp
The following are links to documents describing software development and testing for the Keck Observatory Archive, courtesy of Bruce Berriman at IPAC:
Bruce also provided a link to the Montage software development documents:
http://montage.ipac.caltech.edu/publications.html
and cited these documents from NASA's Software Engineering Lab, regarding which Bruce says "these are two of the most useful docs I have read on S/W process."
Pepi provided these documents describing the CIAO software testing procedures and the Chandra software development process:
Alberto sent the following documents describing software development in the Engineering and Software Support Division at Space Telescope:
Jeff Kantor (LSST Project) wrote as follows:
You are welcome to leverage what we have put in place:
- A system engineering process based on SysML (see
http://www.sysmlforum.com) and the Enterprise Architect CASE tool with the
SysML MDG Add-in (see
http://sparxsystems.com/products/mdg_sysml.html)
- A software requirements and design process based on Unified Modeling
Language and the Iconix Process (see
http://www.iconixsw.com) and the
Enterprise Architect CASE tool and the Iconix Process MDG Add-In (see
http://www.sparxsystems.com.au/partners/iconix/#addIn)
- A code development and management environment based on python, C++, trac,
svn, and eups (see
http://dev.lsstcorp.org:8100/trac)
Together, they form our process, standards, and tools.
Tom wrote: The HEASARC does not have a general framework for software development but in the FTOOLS (now HEAdas) area the teams are often large enough
that a more standardized approach is appropriate. The HEAdas Developer's Guide describes how FTOOLS are to be developed, specifically in the HEASARC environment. It's available on-line at
http://heasarc.gsfc.nasa.gov/lheasoft/headas/developers_guide/developers_guide.html
It's an example of a relatively informal software process. A less stringent approach may also be appropriate for the NVO.
Ray provided his own view of the LSST software development process:
--
BobHanisch - 10 Aug 2007
A classic book on software engineering is
"The Mythical Man Month" by
Fredrick Brooks.
The Wikipedia articles on
Software Engineering and the
Software Development Process have a discussion and numerous useful references.
R.S Pressman & Associates, Inc. provide many references and links and, of course, products for software engineering modeling and implementation.
--
CarolChristian - 13 Aug 2007
Nicole Radziwill sent these documents:
- APQC_PCF.pdf: a summary of the Process Classification Framework (PCF), a structure for a battery of business processes.
- QSDR_xx.pdf: a manuscript of an article in press describing worksheets for developing a quality system.
She also provided some
explanatory comments to accompany these documents.
--
RayPlante - 17 Aug 2007 (for Nicole)
Just checking to make sure I can now post here!
--
NicoleRadziwill - 23 Aug 2007
The following is an attempt to classify our software projects (facility
grade, research prototype, framework service, contributed, etc.), as our
development process will need to be tailored for each type of project.
--
DougTody - 23 Aug 2007