Software Development Folder
Encyclopedia
A software development folder or file is a physical or virtual container for software project artifact
s, including: requirements, plans, designs, source code, test plans and results, problem reports, reviews, notes, and other artifacts of the development process.
Typically, an SDF is hierarchically organized by project phase, artifact type, and/or project team.
All or parts of SDF content are typically 'managed'. That is, access and changes are controlled. For electronic media repositories, this control is often facilitated using a configuration management
tool such as CVS
or IBM Rational ClearCase, in conjunction with a change management process.
IEEE/EIA guide 12207.1, 'Software life cycle processes - Life cycle data', provides a robust description of the artifacts that would typically be stored in a Software Development Folder.
Originally, the SDF was a binder or collection of binders containing these records, but the term and concept have been adopted widely, and evolved to include both physical and electronic media, and less centralized repositories. As such, the SDF is often represented as an index with references to its constituent repositories.
Artifact (software development)
An artifact is one of many kinds of tangible by-product produced during the development of software. Some artifacts help describe the function, architecture, and design of software...
s, including: requirements, plans, designs, source code, test plans and results, problem reports, reviews, notes, and other artifacts of the development process.
Typically, an SDF is hierarchically organized by project phase, artifact type, and/or project team.
All or parts of SDF content are typically 'managed'. That is, access and changes are controlled. For electronic media repositories, this control is often facilitated using a configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...
tool such as CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
or IBM Rational ClearCase, in conjunction with a change management process.
IEEE/EIA guide 12207.1, 'Software life cycle processes - Life cycle data', provides a robust description of the artifacts that would typically be stored in a Software Development Folder.
Originally, the SDF was a binder or collection of binders containing these records, but the term and concept have been adopted widely, and evolved to include both physical and electronic media, and less centralized repositories. As such, the SDF is often represented as an index with references to its constituent repositories.
See also
- DeliverableDeliverableDeliverable is a term used in project management to describe a tangible or intangible object produced as a result of the project that is intended to be delivered to a customer . A deliverable could be a report, a document, a server upgrade or any other building block of an overall project.A...
- Configuration managementConfiguration managementConfiguration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...
- Software developmentSoftware developmentSoftware development is the development of a software product...
- Software developerSoftware developerA software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...
- Software development effort estimationSoftware development effort estimationSoftware development efforts estimation is the process of predicting the most realistic use of effort required to develop or maintain software based on incomplete, uncertain and/or noisy input...
- Software development processSoftware development processA software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...