Outsourcing Services

Software Development Automation: Actions, Skills, Costs

Having over 32 years of experience in building software from scratch, 20 years in test automation and 8 years in DevOps services, Vertscend 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.

The most popular SDLC automation practices are low-code developmenttest automation, and CI/CD implementation.

Low-code development

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

CI/CD implementation

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.

Test automation

~ 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 we apply in our 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).

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.

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

Assess the feasibility of low-code development by analyzing technical requirements for an app, its functional complexity, required integrations.

 

Choose the low-code application platform fitting your specific business demands taking into consideration:

 

Create a roadmap for the low-code development project.4

 

Set up QA, app performance monitoring and management processes.

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.

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 Vertscend , 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 Mapping expectations from CI/CD implementation (e.g., 50% faster release speed), the existing software integration, testing and delivery processes (if applicable).

 

2 Implementing key DevOps processes (if not yet):

 

3 Selecting the right tools for development, testing and deployment automation. Key factors for consideration include a licensing cost; possibility of seamless integration with other technologies used in the software development project/projects; choice between a self-hosted tool (Jenkins) and a SaaS tool (Azure Pipelines).

Vertscend tip: Some of Vertscend 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 Implementing and integrating CI/CD tools.

 

5 Installing and launching the CI/CD pipeline.

 

6 Selecting and conducting pilot CI/CD tasks.

 

7 Measuring the results, usually 3-5 metrics. Some metric examples include:

 

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 Defining the test automation feasibility for your software development project. The feasibility study usually takes around 1 week and considers software’s technical aspects, complexity, stability, size, frequency of changes, and more.

 

2 Developing a test automation strategy (the scope of automation, the levels and types of testing needed, fitting testing tools and the test automation architecture); planning test data preparation, test development and maintenance, integration of test automation into CI/CD, etc. It usually takes up to 4 weeks.

Vertscend 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 Vertscend use REST-assured, RestSharp frameworks and Apache JMeter tool. Sometimes we also integrate Selenium with Cucumber to implement increasingly popular behavior-driven development.

3 Drawing up the set of test automation KPIs to track. These KPIs may include automated test coverage, cost per automated test, test run time, the share of passed and failed tests, and more.

 

4 Setting up and configuring the test automation environment to smoothly run test cases for all targeted platforms, devices and browsers.

 

5 Writing and maintaining scripts for automated testing.

Vertscend tip: To ensure maximum test code re-use, Vertscend 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 Integrating continuous testing in CI/CD pipelines to automatically run tests after every change in the developed application.

 

7 (optional) Setting up the Testing Center of Excellence to introduce a consolidated company-wide test automation environment, establish common software testing tools (test automation frameworks, bug and issue tracking tools) and standardize test coverage and quality metrics.

Vertscend tip: Use the balanced combination of automated and manual tests to achieve max software quality while supporting frequent releases and staying cost-effective. Vertscend 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).

What is Your Need in Software Development Automation?

Microsoft Power Apps services

  • Microsoft Power Apps advisory services (identifying the right apps for low code development, road-mapping a low-code development project(s), etc.)
  • Building custom business apps, portals, modern UI and UX for applications with Microsoft Power Apps.
  • Connecting apps built with Power Apps to your data stored across Microsoft’s ecosystem (SharePoint, Microsoft 365, Dynamics 365, etc.)
  • 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, selecting and configuring CI/CD tools (e.g., Jenkins, GoCD).
  • Designing the test automation approach and integrating continuous testing into the CI/CD pipeline.
  • Integrating IaaC and configuration management tools (Ansible, Chef, Puppet) with CI/CD tools (GoCD, Jenkins, Bamboo).
  • Deployment and configuration of CI/CD and test automation tools.

GO FOR CI/CD SETUP

Test automation services

  • Test automation strategy development.
  • 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 AUTOMATION CONSULTING

Key Skills for Software Development Automation

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.

Technologies Vertscend Recommends for Software Development Automation

Below is a quick overview of the tools that we at Vertscend 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.