Development tools and processes
Version control system
is the management of changes to documents, computer programs, large websites, and other collections of information. Changes are usually identified by number or letter code, termed “revision number”, “revision level”, or simply “revision”. For example, an initial set of files is “revision 1”. When the first change is made, the resulting set is “revision 2”, and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged. Read more: Wikipedia
Subversion (svn)
is another popular open source version control system. In contrast toGit,all developers use one centralized repository. Read more: Version Control with Subversion
Git
is a free open source distributed version control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development, but it can be used to keep track of changes in any set of files. Read more: Wikipedia
Commit
In version control systems,acommit is a saved change made to the source code. Commits are usually added/deleted files or directories, changed file contents, etc.Read more: Wikipedia
Trunk Based Development
is the practice of merging all developer working copies to a shared mainline several times a day. Read more: TrunkBasedDevelopment
GitHub
isa popular Git hosting service. It is mostly used for code. In addition to Git, it provides several collaboration features such as bug tracking, feature requests, task management and wikis. Website: GitHub.com.Read more: Wikipedia
GitLab
just like GitHub is a Git repository hosting which provides wikis and issue tracking functionality. It’s an open source project developed by GitLab Inc. Website: GitLab.com. Read more: Wikipedia
Bitbucket
is Git and Mercurial repository hosting service owned by Atlassian. Like its counterparts, it provides several collaboration features such as issue tracking and wikis. Read more: Bitbucket.org
IDE
or “Integrated Development Environment” is a code editor application designed to help programmers write, run and debug code. Examples: Eclipse, IntelliJ IDEA, Visual Studio, PHP Storm, etc
Build tools
are used to convert programming code written by the developer into binary code that is executable by computer and run it. It usually manages external dependencies (libraries or frameworks) which are used in the project. Examples: Gradle, Maven, Rake, MSBuild, Phing.
Automation server (like Jenkins, Bamboo, TeamCity)
helps automate the non-human part of software development process with continuous integration and facilitating technical aspects of continuous delivery.Read more: Wikipedia
Continuous Integration
extension of Trunk Based Development practice, where each integration is verified by automated tools and tests to give fast feedback and detect errors as fast as possible. Read more: Martin Fowler
Continuous Delivery
software engineering approach in which teams produce software in short cycles, ensuring that it can be reliably released at any time. This means deployment package is prepared and automatically tested continuously (e.g. once per day) and ready to ship to production. Read more: Wikipedia
Continuous Deployment
is similar to Continuous Delivery but ends up on the package being deployed to production instead of just ready to be deployed.
Deployment
pushing new software package version into target environment.
Feature
a distinguishing characteristic of a software item (e.g., performance, portability, or functionality). Read more: Wikipedia
Release
making the version package (features) available to end users.
Deployment Pipeline
defines the sequence of stages to pass until application is rolled-out to production. By breaking up the deployment lifecycle into stages, you collect increasing confidence, usually at the cost of extra time. Early stages can find most problems yielding faster feedback, while later stages provide slower and more thorough probing. Stages caninclude building, deploying, testing, archiving, etc. Read more: Martin Fowler
Ticket / Issue / Incident
is a running report on a particular problem, its status, and other relevant data within an issue tracking system, They are commonly created in a help desk or call center environment and almost always have a unique reference number, also known ascase,issueorcall lognumber which is used to allow the user or help staff to quickly locate, add to or communicate the status of the user’s issue or request. Read more: Wikipedia