Date post: | 21-Dec-2014 |
Category: |
Technology |
Upload: | nonlinear-creations |
View: | 589 times |
Download: | 3 times |
Client logo
ALM 101
An introduction to continuous ALM improvementPrepared by: Jason St-Cyr
Client logo
What is ALM?• Development processes
• Tools supporting processes
What is the lifecycle?
How do we achieve continuous improvement?
How do we plan for change?
What is ALM?
• Application Lifecycle Management (ALM)
- Processes define how we bring software from idea to reality
- Tools support us along the way while building software
• ALM plans should aim for efficiently delivering software with minimum ‘tax’ on the team
• ALM plans should aim for efficiently introducing tools to support this delivery
Toronto | Ottawa | New York | Calgary | São Paulo | Florianópolis 3
• Improve the processes• Can small changes to the
use of existing tools improve efficiency?
• Are there new tools that can make our process better?
• Are there ‘taxes’ on the team that are yielding little value?
• What do we need to report on?
• Improve the tools• What pains do team
members feel with the current tools?
• Are tools reaching end-of-life or becoming outdated?
• Can we share data?
• Is there a more efficient way to integrate our tools?
• Can we get the data needed for reporting?
Where do we need to improve?
Toronto | Ottawa | New York | Calgary | São Paulo | Florianópolis 4
What is the lifecycle?
• Idea
• Business Case
• Requirements
• Design & Architecture
• Development
• Test
• Operations
• End of Life
Toronto | Ottawa | New York | Calgary | São Paulo | Florianópolis 5
From: http://www.clemensreijnen.nl/Author: Clemens Reijnen
How do we achieve continuous improvement in our ALM?• The steps:
- Identify and prioritize the changes that need to be made
- Make a change and observe its impact
- Adjust and introduce another change
• Can apply to process improvements as well as tool introduction
- Introduce a new bug reporting system
- Allow project to pilot new system. Adjust based on feedback
- Roll out to other project teams for new work. Adjust based on feedback
- Gradually deprecate use of previous bug reporting system
Toronto | Ottawa | New York | Calgary | São Paulo | Florianópolis 6
Ideas
Build
Product
Measure
Data
Learn
How do we plan for the change?
• Identify:
- What’s wrong right now?
- Where are we trying to get to?
- Who will be impacted by the changes?
- What constraints on change will there be?
• Create iterative approach to introduce the change
• Plan for monitoring the change
Toronto | Ottawa | New York | Calgary | São Paulo | Florianópolis 7
Focusing on DevOps
• The goal:
- Reduce time lapse between the reporting of an idea/issue and the deployment of the solution in production
• How we do this:
- More efficient delivery by development team
- Increased delivery frequency to all environments
- Embedded test automation on all builds
- Tighter integration between the development and operations teams
- Traceability of the release management cycleToronto | Ottawa | New York | Calgary | São Paulo | Florianópolis 8
OPSOPSDEVDEV
DevOps Maturity Model
ALM 101 DevOps Analysis
Source Control
Strategy
Automated Builds
Automated Testing
Continuous Delivery
Continuous Deployme
nt
Not sure where to start? We can help!
Lessons LearnedJason St-Cyr Solution Architect, nonlinear digital Background in .NET software development and Application Lifecycle
Management Contact me: [email protected]
Around the web: Technical Blog:
http://theagilecoder.wordpress.com
LinkedIn Profile: http://www.linkedin.com/pub/jason-st-cyr/26/a73/645
Nonlinear Thinking: http://www.nonlinearcreations.com/Digital/how-we-think/
Twitter: @AgileStCyr