Agile Application Lifecycle Management – A Case Study


Chan Ming Man (Visual C#)


Chan Ming Man is currently the Senior Manager at a strategic agency under purview of the Malaysian Ministry of Science, Technology and Innovation. With more than 20 years of experience in the IT field, he has developed system using Clipper, COBOL, Visual Basic, Visual Basic.NET, Java, and Visual C#. He is familiar with the N-Tier design of business application and is also an expert with database experience in Microsoft SQL Server, Oracle Database, and AS/400.


Ervin Loh Chuan Ho (Visual Studio ALM MVP)


Ervin Loh Chuan Ho is currently the Chief Technology Officer at K365Labs Sdn Bhd. He owns more than 10 years experience in the IT industry where she obtained professional certifications from IBM, Microsoft and Sun. He works on a variety of Application Lifecycle Management, Software Configuration Management, and Lab Management products such as CollabNet Subversion, Rational ClearCase, Rational Team Concert, Visual Studio Team Foundation Server, CollabNet TeamForge, CollabNet Lab Management, and Visual Studio Lab Management. He is also active in the IT community space by contributing contents to Microsoft Malaysia’s START.NET and Ultimate program workshops and talks in conferences, events and user groups such as TechEd, SOFTEC, Tech Insights, ALMUC, and myVSTS.

Agile Application Lifecycle Management – A Case Study

Chan Ming Man (, Visual Studio ALM MVP

Tags for this article:  ALM, Scrum, Sprint, Product Backlog, Sprint Backlog

Date:  15 October 2010

Level:  Introductory


Application lifecycle management (ALM) is the business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management (SD Times 2010). There are two common methodologies ALM projects follow, namely CMMI (Capability Maturity Model Integration) and Agile. Apparently, there are four types of process under agile software development, namely Extreme Programming, Feature Driven Development, Test Drive Development and Scrum.

We are a strategic agency under purview of the Malaysian Ministry of Science, Technology and Innovation. Development is our bread and butter. We have hundreds of developers to develop numerous software projects.  Our organization has adopted Scrum as one of our development processes.

In Scrum, the process starts with product backlog. Product backlog is in the form of user stories that can be divided into tasks. The Scrum team needs to identify the user stories that are suitable for specific sprint duration. Upon each sprint, the Scrum team incrementally implements the functionalities in the sprint backlog to develop a potentially shippable product increment. The product will be ready to deliver all the sprints are completed (Wikipedia 2010). Figure 1 depicts a typical Scrum cycle.


Figure 1 – Scrum cycle

Product backlogs in Scrum are analytical to classes in object-oriented programming. The developers must get the classes correct in order to do function overloading, overriding, inheritance and other object oriented capabilities. The Scrum master must get the user stories in product backlogs correct in order to fulfill the user requirements. For example, as a customer I want to buy raw material so that I can do production.

The following is the suggested format for user stories:

As a (role) I want (something) so that (benefit)

User stories are described by the customers and stakeholders. In other words there are actually the users’ requirements that will eventually develop to become the functionalities of the software. A user story can be stand alone or with multiple tasks associate to it. Every user story and task must have the start and end date so that the overall project timeline can be calculated. Most of the time not all the user stories can be implemented, it is depending on the how much time and cost has given to the project. Weight will be assigned to all the user stories, for example 1 to 100, to determine whether or not the particular user story will be implemented to the software. The sprint will then be started. Figure 2 denotes a typical sample of user stories.


Figure 2 – User stories and tasks sample

Sprint is grouping of user stories based on how close there related to each other. Every sprint begins with the sprint planning meeting, in which the product owner and the Scrum team discuss which stories will be moved from the product backlog into the sprint iteration. It is the responsibility of the product owner to determine what work the team will do but with the consent of the Scrum team.

The key element of the sprint process is the daily standup meeting, also known as the daily Scrum. The meeting captures sprint’s emphasis on communication and transparency quite like the standup. This meeting helps to ensure that the entire development team is always synchronizing on the delivery timeline. Every day, the Scrum team gathers together to report on the progress made since the last meeting, goals for the next one, and any impediments blocking their path. These reports are often answering the following three questions:

·         What have I done since the last Scrum meeting (yesterday)?

·         What will I do before the next Scrum meeting (tomorrow)?

·         What prevents me from performing my work as efficiently as possible?

The burn down chart is one of the major artifacts of Scrum (Wikipedia 2010). The Scrum team tracks its progress against the timeline by updating a release burn down chart at the end of each sprint. The horizontal axis of the release burn down chart shows the sprints; the vertical axis shows the amount of work remaining at the start of each sprint. Work remaining can be shown in whatever unit the team prefers–story points, ideal days, and team days.

Figure 3 depicts an illustration of a burn down chart from ( 2010). Burn down chart is a visual representation of the amount of work that still needs to be completed before the end of a project. A burn down chart has a Y axis (work) and an X axis (time). Ideally, the chart illustrates a downward trend as the amount of work still left to do over time “burns down” to zero. A burn down chart provides both project team members and business owners with a common view of how work is proceeding. The term is often used in agile programming.




Figure 3 – Burn down chart

Thus far adopter Scrum in Agile as our ALM model has been pretty efficient on meeting the timeline in our software development. Of course with the aid of ALM software tool such as Team Foundation Server, the ALM can manage at the fingertip.


1. SD Times Retrieved 2010-09-23.

2.,,sid92_gci1379644,00.html. Retrieved 2010-09-23

3. Wikipedia. Retrieved 2010-09-23.

About chanmingman

Since March 2011 Microsoft Live Spaces migrated to Wordpress ( till now, I have is over 1 million viewers. This blog is about more than 50% telling you how to resolve error messages, especial for Microsoft products. The blog also has a lot of guidance teaching you how to get stated certain Microsoft technologies. The blog also uses as a help to keep my memory. The blog is never meant to give people consulting services or silver bullet solutions. It is a contribution to the community. Thanks for your support over the years. Ming Man is Microsoft MVP since year 2006. He is a software development manager for a multinational company. With 25 years of experience in the IT field, he has developed system using Clipper, COBOL, VB5, VB6, VB.NET, Java and C #. He has been using Visual Studio (.NET) since the Beta back in year 2000. He and the team have developed many projects using .NET platform such as SCM, and HR based applications. He is familiar with the N-Tier design of business application and is also an expert with database experience in MS SQL, Oracle and AS 400.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s