Taking Control of App Releases
Today’s software users have rapidly evolving needs, are mobile, and expect 24/7 connectivity and reliability. So dev teams need to churn out new features and versions frequently to keep up while still making sure that service is not interrupted. Sounds like a tall order, but fail to do so, and users switch to competitors or other alternatives.
The dev teams have a multitude of collaboration tools, Kanban boards, build tools and agile practices, and can build features quickly. But once it comes to releasing these changes, the process is more manual, ad hoc and slow. This is why it is important to take a close look at our release processes, streamline them, and take software to users quickly and safely.
Step 1: Tear Down Walls and Collaborate
- Critiquing your processes. Look for dependencies and bottlenecks. Address them.
- Exploring tools for automation. Automate repetitive and error-prone processes.
- Driving cultural change. Communicate successes and celebrate them.
Step 2: The Fun Part – Automate!
That’s right. Once you have optimized release processes, torn down the fences and felt good doing it, look for opportunities to automate.
You can create an automated release pipeline from scratch using:
- GitHub: version control system (VCS) where devs check in code
- Bamboo: CI tool that pulls changes from the VCS to generate builds
- Arquillian: to run integrated tests on newly generated builds
- Selenium: to run acceptance tests on newly generated builds
- Artifactory: repository to store release artifacts, and build and test results
- LiveRebel: release automation tool to deploy app updates with zero downtime