Software Development Automation: Actions, Skills, Costs

Software Development Automation Guide - ScienceSoft

Having over 34 years of experience in building software from scratch, 22 years in test automation and 10 years in DevOps services, ScienceSoft helps businesses deliver software fast and efficiently.

Software Development Automation: The Essence

Automation in software development is a way to minimize errors during the software development process, make it faster and more cost-efficient, and improve team collaboration and productivity.

ScienceSoft offers comprehensive services around the most popular SDLC automation practices - low-code development, test automation, and CI/CD implementation.

From 2 weeks to 1–3 months to build an app using low-code platforms.

3–5 weeks to develop an efficient CI/CD process for a middle-size software development project with several microservices, an API layer and a front-end part.

~ 2 months to set up test automation.

Software Development Automation: Setup Journey

The software development automation setup process depends on the chosen automation option and the development project specifics. Below we share the general automation insights and roadmaps ScienceSoft applies in projects.

Hot to go low code

The low-code approach to software development requires little to no coding to build applications and automate processes. The cost of low-code development is nearly four times less than developing an application from scratch with custom coding. Low-code development technologies include:

  • Low-code application platforms.
  • Business process management suites.
  • Multiexperience development platforms (MDXP).
  • Robotic process automation.
  • Citizen automation and development platforms (CADP).
  • Rapid application development (RAD), rapid mobile app development (RMAD).

A low-code application platform (LCAP) is currently the most popular low-code development technology. LCAPs (e.g., Microsoft Power Apps, OutSystems, Mendix) provide visual drag-and-drop modules that simplify and streamline building new apps.

Note: Low-code development means limited customization of design and UI layouts, complicated app optimization and evolution. The code also cannot be re-used in other apps.

At ScienceSoft, the most common app types developed with low code are:

  • Employee-facing portals, intranets, productivity apps, internal resource planning and decision validation apps, audit apps, etc.
  • B2C and B2B portals.
  • Mobile apps for employees, customers and partners.
  • Software prototypes.

Low-code development is good for apps with few user roles, simple and specific business logic.

It usually takes from 2 weeks to 1–3 months to build an app using low-code platforms.

The key steps of setting up low-code development with LCAP

1

2

3

4

How to implement CI/CD

Continuous integration and delivery (CI/CD) involve the creation of a pipeline that automates building, testing and deployment of software across staged environments. The most sophisticated CI/CD process helps integrate, test and deploy new software functionality within 2–3 hours.

Continuous integration (CI) focuses on the principle of a shared repository, where code is frequently updated and shared across teams that work in the cloud environments. CI allows developers to work together on the same code at the same time. The changes in the code are directly integrated and ready to be fully tested in different test environments.

The ultimate goal of continuous delivery or deployment (CD) is to bring software to production in a fully automated way.

Continuous integration and delivery - ScienceSoft

The duration of the CI/CD system implementation depends on several factors:

  • Development project size.
  • Requirements for code integration.
  • Requirements for delivery of deployable components.

At ScienceSoft, we generally need 3–5 weeks to develop an efficient CI/CD process for a middle-size software development project with several microservices, an API layer and a front-end part.

The key steps of setting up CI/CD

Note: The architecture of the application under development should support iterative releases.

1

2

3

ScienceSoft’s tip: Some of ScienceSoft’s favorite tools to form a suite for CI/CD implementation are:

  • Source code repository: GitHub, Bitbucket, GitLab, AWS CodeCommit.
  • CI/CD: GitLab CI, Jenkins, Bamboo, CodeShip, TeamCity, Travis CI, Cloud Foundry, Tekton CI/CD, CircleCI, Azure Pipelines, AWS CodePipelines, AWS CodeDeploy.
  • Build tool: Gradle, Maven.
  • Automated testing: Selenium, Appium, Protractor.
  • Code infrastructure management: Terraform, Terragrunt, Pulumi.
  • Configuration management: Ansible, Chef, Puppet, SaltStack.
  • Monitoring tools: Amazon CloudWatch, Azure Monitor, Zabbix, Nagios, Prometheus, Grafana, ELK Stack.
  • Collaboration: Jira

4

5

6

7

How to set up test automation

Automated software testing implies writing code-based test scripts to execute all test steps automatically. To develop test scripts, validate and maintain test code, test automation engineers employ specific test automation tools.

The key steps of setting up automated testing

Duration: ~ 2 months.

1

2

ScienceSoft’s tip: Employ well-supported test automation frameworks that allow for maximum flexibility (support for multiple programming languages and browsers, a wide range of plugins, extensions and integrations with other tools, etc.). For automated UI testing, these include Selenium, Protractor and Appium. For automated API tests, we at ScienceSoft use REST-assured, RestSharp frameworks and Apache JMeter tool. Sometimes we also integrate Selenium with Cucumber to implement increasingly popular behavior-driven development.

3

4

5

ScienceSoft’s tip: To ensure maximum test code re-use, ScienceSoft’s test automation experts design an agile test architecture that allows for better test re-use and test maintenance even in case of frequent changes in app functionality and UI.

6

7

ScienceSoft’s tip: Use the balanced combination of automated and manual tests to achieve max software quality while supporting frequent releases and staying cost-effective.

ScienceSoft’s team usually automates functional regression and integration tests, cross-browser testing, performance testing. Manual testing is used for exploratory testing, one-time runs to provide prompt response to developers after hotfixes, testing from a user’s perspective (simplicity, visual aspects).

Microsoft Power Apps services

  • Microsoft Power Apps advisory services.
  • Building custom apps with Microsoft Power Apps.
  • Extending the capabilities of Power Apps using Azure functions.
  • Deployment, support & administration of apps built with Microsoft Power Apps.
  • Integration of Power Apps, Power Automate, and Power BI.
Go for Power Apps dev

CI/CD implementation services

  • Designing the CI/CD approach, .
  • Designing the test automation approach.
  • Deployment and configuration of CI/CD and test automation tools.
  • Integrating continuous testing into the CI/CD pipeline.
  • Integrating IaaC and configuration management tools (Ansible, Chef, Puppet) with CI/CD tools (GoCD, Jenkins, Bamboo).
Go for CI/CD setup

Test automation services

  • Test automation strategy.
  • Test environment setup and configuration.
  • Automated test data generation.
  • Automated UI and API testing.
  • Test scripts migration from other platforms (e. g., UFT) to Selenium.
  • Integrating continuous testing into the CI/CD pipeline (in cooperation with DevOps).
  • Setup of the in-house Testing Center of Excellence (optional).
Go for test automation

Development automation consulting

  • Identifying software development automation opportunities, estimating investments and ROI.
  • Building the automation strategy and roadmap.
  • Selecting and configuring the right automation tools.
Go for consulting

Why Automate Software Development with ScienceSoft?

  • 34 years of experience in building software.
  • 10 years in DevOps consulting.
  • 22 years in test automation.
  • Both advisory and practical assistance.
  • Quality-first approach based on a mature ISO 9001-certified quality management system.

  • ISO 27001-certified security management based on comprehensive policies and processes, advanced security technology, and skilled professionals.

  • A vast test automation toolkit, including Selenium, Apache JMeter, Ranorex, REST-assured, etc.
  • Development of custom test automation frameworks.
  • For the second straight year, ScienceSoft USA Corporation is listed among The Americas’ Fastest-Growing Companies by the Financial Times.

Software Development Automation: Success Stories by ScienceSoft

Customer Portal Built with Power Apps for Saudia Cargo

Customer Portal Built with Power Apps for Saudia Cargo

ScienceSoft implemented a Dynamics 365 customer portal integrated with a sales module for Saudia Cargo, Asia’s leading cargo airline. ScienceSoft ensured a secure environment for all business-client communication, transactions and document flow, and gave the company’s clients faster and controllable way to apply for cargo transportation services.

CI/CD Implementation for a Smart Retail Digital Signage Solution

CI/CD Implementation for a Smart Retail Digital Signage Solution

ScienceSoft implemented CI/CD pipelines compatible with multiple clouds to automate the development cycle of a content management system for a digital signage product of a North American startup. With CI/CD pipelines set up, ScienceSoft’s team ensured a seamless introduction of frequent code changes (up to 100 commits a day).

Automated Testing for vCIO Solution of a US Leading Training Services Provider

Automated Testing for vCIO Solution of a US Leading Training Services Provider

  • Automated functional regression, integration and cross-browser testing.
  • Integrating continuous testing into continuous integration (CI) pipeline to run tests automatically every time a new change was introduced.
  • Optimizing long end-to-end UI tests.
Image Processing Software Continuous Integration

Image Processing Software Continuous Integration

ScienceSoft’s team built a continuous integration pipeline to automatically run unit tests (570 tests to check units’ logic) and acceptance tests (470 user scenarios operating at a higher level than unit tests). Running tests in parallel helped reduce the test time from 4-5 to 1.5-2 hours.

Software Developer (trained in the target low-code platform)

  • Training and mentoring citizen developers.
  • Building low-code apps.
  • Integrating the new apps with data sources and other enterprise apps.

CI/CD engineer / DevOps engineer

  • Developing CI/CD pipelines.
  • Reviewing and modifying CI/CD pipelines.
  • Maintaining CI/CD tools and platforms (if applicable).
  • Developing and maintaining CI/CD pipeline configurations.

Note: familiarity with software packing tools, modern-version control tools, security tools, code coverage analytical tools and monitoring tools is required.

Test automation architect

  • Designing a test automation architecture.
  • Selecting and configuring test automation tools and frameworks.
  • Managing test automation engineers to improve the maintainability and granularity of automated tests and decrease test execution time.

Test automation engineer

  • Setting up the test environment and test data generation.
  • Developing, executing, and maintaining automated test scripts.
  • Reviewing automatically generated defect reports.
  • Collaborating with other cross-functional team members to improve the maintainability and granularity of test scripts.

Sourcing Models for Software Development Automation

The entire software development automation process setup is in-house

Full outsourcing of software development automation process setup

A mix of an in-house team and an outsourced consultancy

Benefits of Automating Software Development with ScienceSoft

Respect for the existing organizational structure of mature IT departments.

Professional end-to-end DevOps journey support (IaC, CI/CD, automated testing application monitoring).

In-depth training for your DevOps team.

The most feasible coverage and depth of automation.

Close collaboration with your in-house or third-party development and QA teams.

KPI-based automation quality control.

Initiative

Low-code development

CI/CD implementation

Test automation

Cost factors and costs

Benefits

Technologies ScienceSoft Recommends for Software Development Automation

Below is a quick overview of the tools that we at ScienceSoft often choose for our software development automation projects.

Microsoft Power Apps

Best for

Low-code development

Description

  • Among Leaders in Gartner’s Magic Quadrant for Enterprise Low-Code Application Platforms.
  • Creation of low-code applications with pre-built templates or from a blank canvas.
  • Extending existing apps with new functionality.
  • 300+ connectors to integrate with the Office 365 universe, Azure SQL, Azure Cosmos DB, Amazon Redshift, and more.
  • Rich AI capabilities – pre-built AI models can extract text from images, perform key phrase extraction and sentiment analysis.
  • Introducing advanced app security and controls.

Pricing

Power Apps licenses: $5 – one app per user/month and $20 – unlimited apps per user/month.

AI Builder: $500 per unit/month.

Cost of authenticated users of a portal built with Microsoft Power Apps:

  • $200/per 100 logins.
  • $1,000/per 1,000 logins.
  • $3,500/per 5,000 logins.

Cost of anonymous external portal users: $100/per 100,000 portal page views.

Selenium

Best for

Development and execution of automated web UI tests

Description

  • 4.5 rating on Gartner.com
  • Supports Windows, Mac, Linux OSs.
  • Supports Chrome, Firefox, Internet Explorer/Edge, Safari, Opera browsers.
  • Supports C#, Java, PHP, Python, Ruby, Scala.
  • Selenium web application tests can be re-used in mobile testing with Appium.
  • Many helping forums and a huge community.

Pricing

Free.

Jenkins

Best for

Continuous integration

Description

  • 4.3 rating on G2.com
  • Easy installation on different operating systems.
  • Speedy release cycles.
  • Intuitive user interface.
  • Ecosystem of over 1,800 plugins (platforms, user interfaces, administration, source code and build management tools).
  • Support of distributed builds to reduce loads on the CI server.
  • A thriving community of contributors, which helps keep the tool up-to-date.

Pricing

Free.

About ScienceSoft

ScienceSoft is a US-headquartered IT services company with 34 years of experience in building software, 10 years in DevOps consulting and 22 years in test automation. We offer both advisory and practical assistance with software development automation to help businesses speed up high-quality releases. ScienceSoft is ISO 9001 and ISO 27001 certified, meaning we assure the quality of the delivered services and the security of the customers’ data.