10
Client logo ALM 101 An introduction to continuous ALM improvement Prepared by: Jason St-Cyr

ALM 101: An introduction to application lifecycle management

Embed Size (px)

DESCRIPTION

Enabling faster, more efficient development of your technology solutions has broad implications for your entire organization. Incorporating application lifecycle management practices can help you achieve improved capability, faster deployment and happy developers.

Citation preview

Page 1: ALM 101: An introduction to application lifecycle management

Client logo

ALM 101

An introduction to continuous ALM improvementPrepared by: Jason St-Cyr

Page 2: ALM 101: An introduction to application lifecycle management

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?

Page 3: ALM 101: An introduction to application lifecycle management

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

Page 4: ALM 101: An introduction to application lifecycle management

• 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

Page 5: ALM 101: An introduction to application lifecycle management

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

Page 6: ALM 101: An introduction to application lifecycle management

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

Page 7: ALM 101: An introduction to application lifecycle management

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

Page 8: ALM 101: An introduction to application lifecycle management

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

Page 9: ALM 101: An introduction to application lifecycle management

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!

Page 10: ALM 101: An introduction to application lifecycle management

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