Child pages
  • Team Development Concepts
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Team Development Concepts

Modern team development technologies all share some basic concepts.  The key point is that activities that are normally simple and inconsequential for a single developer have impact and need management in a team development environment.

Code Repository

A repository is a centralized storage mechanism for all source code and other project resources. The storage system is often based on file system or database storage.

Version-Control

A repository should provide version control, such that revisions of existing code are non-destructive and a history of all revisions is maintained, including the developer that made the revision and the timestamp, as well as optional comments. Some technologies have mechanisms to even control versions on a more granular level, as well as mechanisms to identify specific versions readily and easily (see tags and branches).

Asynchronous

Team development supports distributed, asynchronous development, such that developers may work on
their own local, offline copies of resources and at different times than other developers in the team. Developers may then synchronize their environment with the repository, submitting any revisions to the repository, as well as retrieving from the repository, new revisions created by other developers. Team development also supports conflict resolution in cases where developers have revised the same resource since their last synchronization with the repository.

Common Terminology

A list of common terms and their definitions in Team Development methodologies.

  • Share (or sharing) - The act or command that allows a single developer to share their code with other developers.  This action creates a "link" between the developer's version of the code and the repository version of the code.
  • Checkout - The act or command that allows a developer to bring code from the repository to the developer's local system for the first time, and effectively adds the developer to share the code. This action also creates a link between the developer's version of the code and the repository version of the code.
  • Commit - When changes are made to any of the resources in a shared, local project, they are determined to be outgoing changes, which may be committed to the repository.  The commit command pushes these changes to the repository and any metadata about the commit (timestamp, comments, etc.).
  • Update - Because a project is shared, one developer may have committed their own changes, which are not yet reflected in another developer's local copy. This action brings the incoming changes into the developer's local system, replacing the code with the repository version.

    NOTE: Both commits and updates only change the code when there is a change made. Example: If you update from the repository, it will only replace code that has been changes, not all of the code.

  • No labels