ALM and Agile

Sandrine Kalk
DevOps and CI/CD Unit Business Manager at V-Ness

 

The Application Lifecycle Management (ALM) allows teams to collaborate more effectively. Creating Software is a team's effort, each team need to have relevant information and the content of their tasks and most of the time relevant data become from another team.
ALM model support collaboration between project managements, testers, Configuration Management /release engineers and developers.
If to combine between Agile and ALM this improves product quality, time to market and fast delivery.
The combination between them gives process and tool chains and ALM provide structure for Agile.
Agile process and ALM tools chain must implement the building blocks of Agile and ALM such As: Planning, Development, Release and Continues Integration and Delivery and Quality Management.
Many enterprise company feeling comfortable to use the best tools for each block chain, they feel comfortable as this tool gives them the features that they needed to complete a given task, but before choosing a tool one of the important thing is to make sure that the tool have the ability to integrated to another block tool in the ALM chain to add the functionality to orchestration between tools and teams.
In the below picture I describe the process using ALM and Agile process, I didn't mention the name of the tool as it is not relevant, the relevant thing is that each tool/block provide the part of the process and together give the big picture of the product development progress and status, gives full tractability between project artifacts, project managers gain control over their projects and gives development progress visibility

1. Agile Planning block:

Contain the following:

• Scrum teams definitions and roles
• Product backlog,
• stories priority and tasks
• points or plan estimations
• sprints definition and contents
• releases

On top of it is the portfolio management that managed and provides the actual progress, delivery dates and costs and gives collaborative with development to clear visibility with strategic priorities for optimizing development and quality work beyond sprints and releases.

2. Development and Change Management block:

Contain the following:

• Development of stories/Tasks that come from Agile planning block and prioritize into sprint – assign Story/task to change set.
• Code review before delivery
• Commit or delivery changes into shared work erea
• Continues Integration on delivery

3. Quality of code:

• Static analysis before commit or delivery
• Static analysis as part of Night builds/Continues integration builds

4. Release Management and continues delivery:

Night Builds process:

• Compilation
• Unit testing
• Static analysis
• Build and packaging
CI Builds:
• Compilation
• Unit testing
• Static analysis

5. Quality Management block:

Contain the following:

• Test Plan
• Test Lab
• Defect Management according to the sprint content and release management block

6. Dashboard:

Enable managers to see key trends and relationship between components that drive from product developments.
Visually present critical data in summarized fashion – quick and effective decisions.

Reports examples:
• Release grade – Number of stories, closed stories, open stories, open defects
• Sprint health - How many stories complete , how many remaining, days remaining, days complete
• Team velocity – Story points complete as per sprint
• Defect by priority and status

More In This Subject...

עוד פרסומים בנושא אשר עשויים לעניין אותך