Changelogic is a configuration management tool based on a freeware version control tool CVS, which is meant for small and medium size IT development and management enterprises as a support tool for software development processes.
Changelogic aims to offer to its customers capitalize on their investments and bring values that remain consistent and up-to-date while new technologies, development tools and methodologies come and go.
Changelogic supports out-of-the-box five most common processes of day-to-day software development – task management, change management, staging, test case management and release cycle management.
Task management enables monitoring of all needs, development tasks, enhancements and errors in a project. Requirements go through the following stages: pre-check, which includes a needs analysis and decisions on scope and deadlines; implementation, where the task is bound with changes and realised; post-check, which essentially is a check whether or not the result complies too initial needs.
Change management enables monitoring of all changes made in the code base and benchmarking them to requirements. All changes go through the following stages: development, during which the requirements are realised in the code base; review, which includes reviewing the modified source code and deciding whether or not the change is consistent; and integration, during which the modified code is inserted into the release branches where the change was planned.
Staging, i.e. release management enables monitoring how different versions of the source code, which were created during the change, reach test environments, pass acceptance tests and reach production environments.
Test case management enables describing test cases, defining acceptance procedures from test cases and entering test case runs with different versions.
Release cycle management enables planning tasks into release cycles, monitoring the progress of the cycles and planning releases from the cycle.
Changelogic offers a simple web-based user interface for performing most tasks; a few tasks requiring CVS communication are also realized with a simple interface in Ant build scripts often favoured by developers.
Changelogic provides pre-defined processes for the basic elements of the software development process, such as requirements, versions and test cases. At any point of time, Changelogic provides a complete overview of each element’s status and progress so far. The system keeps complete history of all processes.
With every source code version, Changelogic gives information on which task realisations it includes compared to any other version and enables finding the earliest version that includes the realization of this task. This gives a clear and fast overview of which task is implemented in which version and which implementations a particular version contains.
Changelogic enables prioritising all tasks performed during the development process based on a single list and planning the tasks into iterations in order to maintain maximum focus.
Changelogic enables several parties at a time to participate in the development process, while enabling an overview of the activities of all parties simultaneously.
Changelogic makes an effort to actively involve customers in the software development process by making the process of inserting needs and ideas as simple as possible. Customers can submit ideas through a web interface directly. Customers are also informed of any changes by e-mail, which makes Changelogic an important communication channel.
The main problems that usually cause delays in release cycles and thus also overdue deliveries are listed below:
The review stage also helps to detect errors early; since the purpose of the change is clear and simple, problems are easier to locate and if the programmer still remembers the code, they can be fixed more quickly.
Both change and release management in Changelogic, including creating branches and planning changes into branches, are based on a web interface, thus being extremely easy to use. This enables people without specific technical skills to plan release cycles.
The usual problems that cause the failure of releases are listed below:
With every task, Changelogic helps to store the information on the earliest version, where to find the realisation of a particular task, etc. With every version, Changelogic specifies realised tasks compared to other versions. For instance, before the next production upgrade it is possible to compare the previous production version and the current candidate and perform a post-check on tasks implemented in the meantime.
The staging process of Changelogic includes a separate step for implementing the acceptance procedure, without which the version cannot go into production. The acceptance procedure itself can consist of test cases, the management option of which Changelogic also offers. The staging process also guarantees that the version that goes through the acceptance procedure is the one going into production.
Changelogic promotes strict separation of environments, i.e. there must be separate development, testing and production environments; in addition to a testing environment, a pre-production or production environment copy is also advised. Separated environments and the acceptance stage also guarantee that a version upgrade is tested through.