Application lifecycle management (ALM) encompasses all the steps of developing software -- from gathering requirements and writing functional specifications to regression testing and defect tracking.
An ALM process is essential to producing quality software. However, repeatedly consulting process documents to determine what to do next takes time away from other valuable activities. Automating as much of the process as possible reduces the amount of time spent performing mundane tasks like organizing and reviewing priorities and lets you spend more time on more enjoyable activities like designing and coding.
Your ultimate goal when designing an ALM process should be to create a transparent process that keeps you on track but doesn't distract you from activities that require more focus.
The Benefits of Process
Before your process can fade into the background, you have to accept the fact that process is good. To many developers, the word "process" suggests rigidity and an endless list of required actions and procedures that crush their creativity.
Developers all want freedom and autonomy. Yet what we want is not always good for us. In an environment where it is every coder for himself and nothing is documented, you may find yourself wondering if the person in the next cube is following the same rules you are. You fix the same problems again and again and live out your own version of the movie 50 First Dates. The right balance of process and empowerment makes all the difference in the world.
ALM Processes: They Come In Different Flavors
Everyone has a different impression of what process means, usually due to previous experiences. If you work at a company that requires you to check in your code and document changes nightly, your reaction to the word "process" will be much different from someone who works in a two-coder shop where design meetings take place in the kitchen while re-heating leftover pizza.
You can look at three types of processes:
- Ad hoc
- Formal
- Transparent
An ad hoc environment is the wild, wild west. If you've ever worked in that type of environment, you've probably had the good sense to flee before your nerves were shot.
Working in a formal environment can re-assure you that all the bases are covered, but it can make you feel like you can't make a move without getting sign off.
What you want is a good balance, where you can complete tasks without feeling like you're being pulled out of the zone by dozens of administrative interruptions.