Custom Software Apps & SharePoint Consulting

Custom Software and Application Lifecycle Management Practices

Any new custom software project can be fraught with risk due to a variety of factors, like misunderstanding the purpose of the project or bad programming. As our team works to provide our customers with the best possible final product for their money, our processes have evolved as well.

One particular process that we have been actively working to implement and improve upon here at Entrance is application lifecycle management (ALM). Microsoft defines ALM as a set of practices and tools that result in “greater waste reduction, faster cycle times, and greater business agility.”

In practice, that means that you get better software in less time.

Building Software to Real Requirements

Many of our ALM practices and tools tie back to our commitment to agile development. For any new project, we focus on user stories as the Application Lifecycle Managementprimary method for understanding the business value behind a new custom software project. We try not to get too focused on specific requirements gathering, however.

As one developer highlighted in a blog about agile requirements gathering, “The reality is that the requirements document is usually insufficient, regardless of how much effort goes into it, the requirements change anyway, and the developers eventually end up going directly to their stakeholders for information.”

To bring it back to ALM, we are rolling out a new tool, Team Foundation Services (TFS), for our clients that uses ALM practices to put them in the driver’s seat for the final product of their software. Clients use this tool to log requirements, add acceptance criteria (i.e. what done means for them), and prioritize backlog items, all in an easy-to-use interface.

A Common Understanding

On our end, we use this requirement and acceptance criteria as the basis for development and testing. This system closes the feedback loop between the developer and the client, which minimizes the opportunity for misunderstanding.

In addition, the client has a lot of visibility into what is happening with their custom software across the entire life cycle. This provides a “window into the machine,” so that there is never any question about how the development process works.

Another advantage to using a tool like TFS is that as a result of being involved with the entire process, our clients are able to be more realistic about their desires. Instead of blue sky ideas that don’t fit the business need, we can work together as a team to develop pragmatic solutions.

Testing to Requirements

One particular benefit to working with a company that has well developed ALM processes is when it comes to testing. TFS can create automated tests that quickly check that the code that has been written matches requirements. The system can also easily tie tests to requirements so that everyone involved knows that the software is headed in the right direction.

In addition, as code is reviewed, we work in teams of two, with one person writing code, and one person performing quality assurance. While this may seem like double the resources to perform one job, this avoids fatigue that might result in errors. In addition, the job actually gets completed faster with two people working in collaboration.

Worth the Time for Great Custom Software

Becoming involved with your software project on the daily and weekly level that TFS requires may seem like a big investment of your time. This involvement protects your investment in the custom application because you are never at a remove from the process.

We believe you won’t regret this investment. Our clients who have made the switch say they would never go back! See how one client made Agile and ALM work for them here.

Or read our series on how Agile can help you get the most from your custom software project


Nate Richards
Nate has over 18 years of software engineering and consulting experience. He founded Entrance in 2003. Nate is the past President of the Board of LifeHouse Houston, a Christ-centered maternity home ministry, and is past Executive committee member and Treasurer of Houston Achievement Place, a foster care and social skills training non-profit organization.
Nate Richards on Linkedin
Carol Entrance Software Consulting making software better