Time and Software Development Lifecycle Processes, Enhancing Collaboration of Software Product Development Teams, and Boosting Automation and Code Re-use across Development Teams and Software Products
Netcompany-Intrasoft is a multi-national software and IT services company, part of Netcompany, that employs more than 2800 professionals. Its Product Development Department has been developing highly customized, complex software products using the latest technology for over 20 years. These products are used in the banking, law, customs, social security, and taxation sectors, among others. One of these software products is PERSEUS©, a highly Configurable & Scalable Software Product, built upon an Open Architecture Technology, that fully automates the business processes within a Social Security and Pensions Administration Organization.
Netcompany-Intrasoft leads one of the envisioned SmartCLIDE pilot scenarios that aims to involve its PERSEUS Software Product Development teams, currently comprising of three agile teams, who will use the enhanced SmartCLIDE platform to develop new PERSEUS functionalities, with the utmost goal to evaluate the optimization levels that can be reached with respect to use of resources and development time, enhancing thus the entire software development lifecycle processes and improving team collaboration…
The need emerges primarily by, on the one hand, the observation that due to a number of commonalities in features/functions/processes in the PERSEUS sub-projects managed by different agile teams, code could be re-used across these product development teams. In addition, these teams are many times tasked to perform common parallel tasks and even repeat trivial tasks, thus optimizations in these processes could lead to both time/resources optimization as well as increased efficiency.
As PERSEUS is a multi-module system and in addition Netcompany – Intrasoft has a wide range of products available or under development, there is a rich library of potentially reusable, software components and services developed by diverse agile development teams. Thus, software re-utilization and optimized team performance and collaboration are key targets for the company. Thus, in the context of the PERSEUS pilot in SmartCLIDE, the extent of re-utilization of software, leading to optimized performance and collaboration of the different agile teams, will be assessed both in the case under which the SmartCLIDE platform is used and when it is not, in order to evaluate the gains. This assessment will be accomplished by gathering feedback from the involved developer teams during the pilot and at the same time measuring the number of code blocks that are re-used in each case.
Another target to be achieved concerns the reduction in time for resolving errors. In the PERSEUS project, the JIRA issue tracker is used for handling Features and Bugs. The Developer work is divided into two-weeks sprints and every ticket (issue) has story points estimated by the development team, before the beginning of a sprint, depending on the complexity and the time needed to resolve each ticket. At the end of every sprint, a report chart is created which shows the work that should be completed and the work that was actually completed. Using this methodology, in which each issue is tracked, the time in resolving issues is measured. This will be performed both in the case in which the SmartCLIDE platform is used by the developer teams and when it is not, to assess the gains brought by SmartCLIDE.
In addition, the reduction in time to deploy a significant feature requested by an end user is important. In PERSEUS, Jenkins is used to deploy its modules in slots. Before each slot, the desired wars are gathered to deploy in a list and a Jenkins job is initiated. Depending on how many wars are in this list, the time varies. Thus, the time will be measured to deploy a significant new feature using feedback from the agile team both in the case in which the SmartCLIDE platform is used and when it is not.
Furthermore, another target of the pilot is the reduction in lifecycle costs. This will be measured on feedback collected from the involved agile teams regarding:
- The time needed to specify what is needed to be implemented and how;
- The time spent on development by the development teams and testing by the QA testers, using the Jira issue tracker;
- The time spent on deployment (e.g. with Jenkins), both in the cases in which the SmartCLIDE platform is used and when it is not.
Finally, another aim is to detect (and thus resolve) as many security vulnerabilities in the developed software as possible to increase the security level of the produced software of PERSEUS (and other products). Thus, another metric to measure is the level of increase in the number of detected security vulnerabilities. This will be measured using SonarQube and feedback gathered from the involved agile teams before and after using the SmartCLIDE platform-related functions.