News‎ > ‎

Implementation Framework for SmartenIT

posted Jul 3, 2013, 7:33 AM by Corinna Schmitt   [ updated Jul 21, 2014, 7:47 AM ]
ICOM, PSNC and ALBLF have started specifying and implementing the Implementation Framework to be used in the SmartenIT project. The work on the framework includes the following efforts related to the software development process:

  • Specification of a software design methodology and workflows for development, integration, and validation,
  • Selection of supporting development tools for the source code management, issue tracking, software documentation management and continuous integration.

In case of software design methodology, the system release process and the concept of the continuous integration have been proposed. The SmartenIT system release process will follow the agile development model with 2-month release cycles. Each cycle consists of five phases (Figure 1): feature planning, development, integration, testing and system release.

Figure 1: The release cycle.

The SmartenIT development process will adopt the continuous integration concept in which developers should execute frequent commits in order to identify issues as soon as possible. The development process cycle consists of four phases (Figure 2): development, local testing, committing code to repository and getting feedback.

Figure 2: The development process cycle.

At the current stage of the work, three main development tools have been chosen. They jointly support the methodology described above.

  • The Apache Subversion [1] as a centralized version control system for storing and maintaining current and previous versions of source code. The development team members using this tool can copy and modify files or folders in the code repository and still maintain full revision history.
  • The second tool is Atlassian Jira [2] for software implementation management and issue tracking. This commercial tool will be used to organize and plan the development process. Its ability to integrate with Eclipse and Apache Subversion will facilitate the process.
  • The last tool is Jenkins [3] as a continuous integration tool for building system in an automated and frequent manner.

All these tools are hosted and administrated by one of the partners. During the project the set of selected tools could be extended to address new emerging requirements.

Furthermore, meeting types and roles have been defined. The SmatenIT’s Implementation Framework distinguishes four main roles:

  • The Product Manager, who is responsible for setting the high-level requirements and features of each release,
  • The Tool Administrator, responsible for managing and maintaining the Implementation Framework tools,
  • The Release Master, who facilitates the system release,
  • The Implementation Team members, responsible for design, development, integration, testing and deployment of the SmartenIT system.

In each release cycle, three types of meetings should take place. Each release will start with a long Feature planning meeting and end with a short Release review meeting. During the first type of meetings a set of decisions will be made about: (1) features to be implemented during next release cycle, (2) assignment of responsibilities for each of the new features, and (3) the implementation schedule. The latter type will be used mainly for reviewing release and identifying issues. Also, it is planned to organize short Bi-weekly meetings. The aim of this is to report the progress of development and encountered issues.

The proposal of the Implementation Framework for SmartenIT is based on the experiences collected in other EU projects, such as Novi [4], GN3 [5], Geysers [6], SmoothIT [7], and COMET [8].