Agile best practices recommend overlapping development and testing cycles. This helps identify and resolve software defects early, while minimizing scenarios where developers are simultaneously trying to fix old bugs and build new features.
Overlapping development and testing cycles also promotes the incremental delivery of working code. This process allows new features and bug fixes to be rapidly promoted, while allowing the Customer to review new features as they are developed, and make decisions about when specific features are ultimately deployed to Production.
Partnet’s software development process is enhanced by the incorporation of continuous delivery methodologies. Continuous delivery is a collection of techniques designed to improve and automate software delivery. These techniques include:
Continuous delivery pipeline
Continuous delivery allows software to be developed to a high standard, easily packaged, and rapidly deployed to the various environments. Additionally, new features and bug fixes can be rapidly promoted to the Production environment with minimal risk and overhead.
Our developers use a continuous delivery pipeline to implement continuous delivery principles.
The deployment pipeline is like an automated assembly line which the code passes through to ensure it is ready for Production. This assembly line includes:
Building the software
Running unit tests
Building the application deployment
Running automated User-Interface (UI) tests
This method allows functional software to be rapidly promoted to non-Production environments for Customer inspection; or promoted directly to Production in cases where a feature or bug fix is immediately required. For projects employing the Scrum process, this cycle repeats within each sprint until the Product Owner signifies all requirements have been met and the feature is Production-ready
Automated testing requires close interaction between software developers and test engineers. The following process is employed within each development cycle (Scrum or Kanban):
Test engineers write test outline(s) for […]