Software Engineering, Project Management, and Effectiveness
I'm reviewing some ALM (Application Life-Cycle Management) work for a colleague, so I thought it would help to rehydrate a map of the ALM space. I’m a fan of having simple maps to find my way around. By map, I simply mean topics and categories, and ideally sub-categories to help see the lay of the land, at a glance.
This map is based on rationalizing work with the field, our patterns & practices work, and input from a lot of smart people that are intimately familiar with the ALM space. What I like about it is that it’s simple, intuitive, and it really does help map out the ALM domain into meaningful buckets and categories. If you can map out a space, you can always dive deeper, than if you don’t have a map.
ALM Categories
ALM Frame and Sample Activities This is a sampling of some of the activities that would fall under each ALM category:
Architecture Framework Analysis and Design
Build Management Change Management Collaborative Development Release Management Version Control and Repository
Database Change Management Database Deployment Database Modeling Database Testing
Deployment Environment Management
Code Analysis Code Reuse Code Reviews Code Writing Quality Metrics
Application Portfolio Management Compliance Management IT Governance Maturity
Customer Support Designed for Operations Operations
Project Close Project Initiation Project Monitoring and Control Project Planning Risk Management Stakeholder Management
End-User Documentation Requirements Analysis Requirements Elicitation Requirements Management Traceability UI Design and Prototyping UI Implementation User Experience Envisioning
Overlay: Configuration Management Overlay Configuration Management is a cross-cutting concern. Here is an overlay of Configuration Management activities across the ALM categories. It is just a sample set and it’s extensible.
Extensibility Subsetability
Build Management Configuration APIs
Collaborative Development Source Control Management
Database (physical) Modeling Domain Modeling
Build Verification Testing Cross-Configuration Testing
Overlay: Data Management Overlay Configuration Management is a cross-cutting concern. Here is an overlay of Data Management activities across the ALM categories. It is just a sample set and it’s extensible.
Data Evolution Strategy Enterprise Data Governance
Database Change Management Database Tuning and Performance Optimizations
Data Migration / Integration Planning Data Platform Selection
Data Requirements Gathering Validation, Rule Sets, Constraints
Database Testing Database Performance Testing
Overlay: Security Engineering Overlay Configuration Management is a cross-cutting concern. Here is an overlay of Security Engineering activities across the ALM categories. It is just a sample set and it’s extensible.
Security Design Guidelines Threat Modeling
Security Code Inspection Static Code Analysis
Legal Compliance Alignment Privacy Policies
Control Tuning Security Patching
Compliance Risk Management
Estimation Security Goals Identification
Fuzz Testing Risk-Based Testing
You Might Also Like
Are they the only overlays or did you just provide a couple of examples? I am assuming they are just examples?
@ Matt -- Yes, they are just samples. The main idea is to show that cross-cutting concerns can be both a specific focus, and baked in across the categories.