no image available

SBSoft

By Stefano Bianda

Head IT Application Development

Responsible for developing applications for credit card payments using Agile methodology with Scrum.

  • Product Owner & Scrum Master
  • Lead 50 Software Engineers (internal and external)
  • budget 3M CHF/year

Viseca Payment Services SA

Main activities carried out in the position of Head IT Application Development

Product Owner and Scrum Master of CICD shared pipeline

Leading team, agile methodology, test driven development, code review

Iterative and continuous improvement

Managing team’s backlog and product quality

Developing the team’s technical proficiency and growing

Introduces and improves to software development automations (CI/CD)

Keep CICD infrastructure up-to-date, LCM activities

Responsible for the Aduno Gruppe applications

Developing with ITIL and AGILE methodology, use of TDD and CICD pipeline

Leading teams in different areas (JAVA, .Net, SQL), hiring

Implement a common strategy to align all teams on the same development process and tools

Maintenance and support for applications in the credit card payment environment

Support the new application Surprize

Support the Terminal Card Reader

My experience at Head IT Application Development was around different projects

Click on a project to discover the skills I honed throughout the journey and the roles I played.

Description of the activities at Head IT Application Development:

Budget management and customer satisfaction

Successfully managed conflicts and ensured customer satisfaction within timelines and budgets despite changes in project schedules and priorities (ERP ServiceNow).

When the company introduced ITIL and ServiceNow, costs and production releases were under control.

I highlighted to my superiors that the process conflicted with Agile, particularly for website development. They didn’t listen and forced me to follow the defined process. Delays in implementing simple changes led to the loss of website development projects.

Standardization of the development process and automation

Standardized and automated the development process by implementing a shared CI/CD pipeline supporting Java, .NET, .NET Core, TypeScript, Python, and Docker images.

The shared pipeline is developed independently of individual projects. Each project integrates it by managing just two simple files:

  1. Jenkinsfile – Defines the pipeline release and the environment to be used.
  2. Configuration file – Specifies project details and the functions to be executed.

Thanks to this architecture, all new features added to the shared pipeline become immediately available to all projects. To leverage new functionalities, a project simply needs to update its configuration file and reference the desired pipeline release.

Migration to a common SCM tool (GitHub Enterprise)

Successfully transitioned 60 projects to GitHub Enterprise, preserving all source code and full revision history without any data loss.

When I assumed leadership of the development team, each project managed its codebase independently, using one of four different source code management tools. I proposed and led the unification initiative by selecting a Git-based solution — GitHub Enterprise — as the standard SCM platform. As part of this transition, I also enforced the adoption of Gitflow as the branching model to standardize collaboration and release processes across all teams.

Implementation of the Build Server Infrastructure (Jenkins)

Designed and implemented the Jenkins-based build server infrastructure, laying the foundation for a robust CI/CD pipeline. Builds are triggered on each commit, providing immediate feedback through unit tests.

As part of a DevOps-driven transformation, I automated the development workflow using a Jenkins controller-nodes-agents architecture. This setup established a centralized, scalable CI/CD framework that supports the entire application portfolio.

Centralizing the build process in Jenkins enabled full governance and visibility over all projects.

Isolated build environments also eliminated production release issues caused by missing or incompatible dependencies.

Establishment of a Unit Testing Culture

Introduced a unit testing culture and promoted Test-Driven Development (TDD) practices where applicable.

When I took over the development team, none of the projects had unit tests in place. I initiated the adoption of unit testing to improve code quality through a "shift-left" approach. For legacy codebases, we implemented simple unit tests to increase reliability. For new projects, I actively promoted TDD, which proved successful—particularly in the context of a large-scale data migration project.

Test coverage has been steadily increasing, resulting in higher code quality, improved maintainability, and greater confidence in software releases.

Automation of Quality Gates (SonarQube)

Integrated static code analysis using SonarQube into the CI/CD pipeline, significantly enhancing code quality, maintainability, and system security.

SonarQube was adopted to establish company-wide quality standards and enforce them through automated quality gates. These gates evaluate code against predefined criteria such as reliability, security vulnerabilities, code smells, test coverage, and duplications.

Making the quality metrics of each project publicly visible fostered a culture of accountability and motivated developers to improve their code proactively. This initiative ensured continuous quality improvement across all teams and projects.

Implementation of the Company’s Definitive Media Library (Artifactory)

Configured JFrog Artifactory as the company’s Definitive Media Library (DML), establishing a centralized and secure storage system for artifacts and dependency repositories.

All versions follow the SemVer2 standard, with development and production artifacts stored in clearly separated repositories. Developers are granted access to approved repositories for dependency resolution, ensuring traceability, consistency, and compliance.

The system supports a wide variety of package types, including Maven, NuGet, PyPI (Python), Docker, Conda, Helm, npm, and Bower, enabling seamless integration across technology stacks.

Verification of Dependency Security Gates (Xray)

Integrated JFrog Xray into the CI/CD pipeline to perform automated security scans of package dependencies. The pipeline halts processing when high-risk vulnerabilities are detected.

As security grows increasingly critical, monitoring third-party dependencies has become essential. Xray provides a proactive approach to identifying known vulnerabilities and license compliance issues in open-source components, helping ensure secure and compliant software delivery.

Automatic Deployment Across All Environments (Octopus Deploy)

Configured automated deployment processes using Octopus Deploy for all environments, including production.

I successfully proposed and implemented the first fully automated production deployment in collaboration with the exceptional One team. This milestone marked a significant step toward streamlined, reliable, and repeatable software releases across the organization.

Guidance and Support for the Team in the IT Environment and Agile Approach

Provided technical guidance, best practices, and continuous support to the team through mentoring sessions and knowledge-sharing workshops aimed at enhancing skills and fostering growth.

Led key Agile ceremonies, including daily stand-ups and sprint planning, ensuring alignment with Agile principles and promoting a collaborative work environment.

Actively supported the team in overcoming technical and organizational challenges, helping to remove blockers and improve overall efficiency.

Backlog and Sprint Planning (Jira, Confluence)

Oversaw the Agile development of the CI/CD pipeline by managing the backlog, planning and guiding sprint iterations, and conducting code reviews.

Utilized Jira and Confluence to ensure transparency, traceability, and continuous delivery of value, fostering a structured and collaborative development process.

Regular Update of the CI/CD Infrastructure (Security Patches)

Ensured continuous maintenance of the CI/CD infrastructure by regularly updating tools and applying security patches.

Performed quarterly upgrades—or earlier when critical vulnerabilities were discovered—while carefully planning updates to minimize disruption and ensure compatibility across all projects using the shared pipeline.

Innovation Culture Advocate (Automation, Docker, IaC, TDD)

Promoted a culture of innovation by introducing new technologies and modern development practices across the organization.

Key initiatives included:

  • Automation of the development process to improve efficiency and reliability.
  • Advocacy and adoption of Docker and Kubernetes for containerized applications and orchestration.
  • Implementation of Infrastructure as Code (IaC) using Ansible to streamline and standardize infrastructure provisioning.
  • Introduction and encouragement of Test-Driven Development (TDD) practices in new projects to ensure code quality from the start.

Continuous Improvement and Team Collaboration (DevOps)

Fostered a collaborative environment focused on continuous improvement through DevOps principles and cross-functional teamwork.

Key actions and outcomes included:

  • Introduced GitHub Enterprise and showcased contributions with tools like Gource, visually celebrating team activity and enhancing engagement.
  • Encouraged a culture of self-improvement, with many engineers voluntarily attending evening training sessions.
  • Made SonarQube’s static code analysis results publicly visible, which inspired developers to continuously improve their code quality.
  • Promoted cross-team collaboration by working closely with architecture, development, and infrastructure groups to align goals and foster shared ownership of the CI/CD pipeline.