During the development all technical and business roles are involved in building the software. Depending on the development management framework used to proceed the project, there are different interactions and artefacts created by the members of the team. Currently mostly used methodologies are based on agile frameworks like Scrum and Kanban. The team is working on the product within the chosen framework and continuously delivers versions of working software, to allow other members and stakeholders to early access the solution and to validate if it fits their needs. Usually at this stage some changes are defined and the product is adapted then to explicitly redefined expectations.
Such an approach allows all to maintain and enlarge the business value of the created products. Software is available continuously, the Product Architecture components versions are released and published by the team in the registries (i.e. Docker, NPM, PIP, Nexus, Artifactory, Git repo for Infrastructure as a Code, etc.), so DevOps can provision them on the defined environments during the Deployment process.
As a part of Development process we assure the Quality by:
- Test Driven Development (Unit, Integration, Performance, UI tests)
- Test Automation
- Measuring the test coverage
- Code Reviews
For a better alignment of the development environment with target infrastructures we use Vagrant and Docker, which allow us to emulate the provisioning and/or deployment processes of related set of services in a kind of Virtual Lab for an early stage architecture evaluation and testing.
Due to assure the stability and traceability of the development process we either adopt to a particular customer’s workflow and/or try to convince the customer to standardize the development and release management workflow.
We have successfully introduced the Git Flow, both in-house and at 3 of our customers so far.
amb software is fully capable to cover the Development phase. Our interdisciplinary teams have many years of experience in this area, including development in many various languages and framework, working on quality assurance not only as testers but covering all aspects of QA. Teams are supported with leaders acting as Scrum Masters and taking care of all organizational aspects of the development. Our engineers also describe the infrastructure needed to run the software (IaaC), our DevOps take care of all aspects of the infrastructure, including Cloud Management (Contracting Cloud Providers, AWS accounts, etc.), maintaining the Deployment Request Tickets (Monitoring, Log Management).