Aegis (management software)
Encyclopedia
Aegis is a software change management system first released in 1991. It supports a strongly test-driven development
Test-driven development
Test-driven development is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new...

 workflow on top of any number of different underlying revision control
Revision control
Revision control, also known as version control and source control , is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files...

 systems, such as RCS
Revision Control System
The Revision Control System is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form...

 or SCCS
Source Code Control System
Source Code Control System is an early revision control system, geared toward program source code and other text files. It was originally developed in SNOBOL at Bell Labs in 1972 by Marc J. Rochkind for an IBM System/370 computer running OS/360 MVT...

.

The Aegis testing model predates the sort of test-driven development
Test-driven development
Test-driven development is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new...

 (TDD) popularized by Extreme Programming
Extreme Programming
Extreme programming is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements...

, and is actually a generalization of TDD. Aegis requires that, by default, every change include one or more new or modified tests, that the tests be demonstrated to fail when executed against the currently checked-in source code baseline, and the tests be demonstrated to pass when executed against the newly changed code. This requires that tests be written as self-contained scripts, without any reliance on external test data. In contrast, test-driven development typically requires that the test be written or modified and demonstrated to fail first, before the underlying source code has been modified as part of implementing the change.

Aegis also supports a decentralized changeset-driven
Distributed revision control
A distributed revision control system , distributed version control or decentralized version control keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a common network.-Distributed vs...

model for distributed software development.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK