It’s common to equate Application Lifecycle Management (ALM) with the software development lifecycle (SDLC). Yet this simple approach is too limiting; ALM is much more than just SDLC. In fact, an application’s lifecycle includes the entire time during which an organization is spending money on this asset, from the initial idea to the end of the application’s life.
Like a human life, an application’s lifecycle is demarcated by significant events. It begins with an idea, once the application is created; the next big event is deployment, when the application goes into production. And finally, when it no longer has business value, the application reaches end of life and is removed from service.
ALM can be divided into three distinct areas: Governance, Development, and Operations
Governance, which encompasses all of the decision making and project management for this application, extends over this entire time. Development, the process of actually creating the application, happens first between idea and deployment. For most applications, the development process reappears again several more times in the application’s lifetime, both for upgrades and for wholly new versions. Operations, the work required to run and manage the application, typically begin shortly before deployment, then runs continuously until the application is removed from service
Visual Studio Application Lifecycle Management
You can apply proven practices to manage your application's lifecycle by using the suite of tools in Visual Studio Premium and Visual Studio Ultimate in combination with Visual Studio Team Foundation Server. By using these tools, your team can better understand customer needs and more effectively design, implement, and deploy code. For example, your team can trace requirements to checked-in code, builds, and test results. By adopting these practices, your team can create software that your customers value more and which is faster and more reliable in return.
You can use these tools to achieve the following results:
- Plan and track your project. Enact processes and monitor their quality to help your team turn customer requirements into working software.
- Design functionality, either on top of existing assets or from scratch, by using architectural diagrams to communicate critical information about your team's software.
- Write, unit test, debug, analyze, and profile your application by using tools that are integrated with the rest of the application lifecycle so that your team can understand how your progress contributes to the project. Use version control to manage your source code and other files.
- Build your application by using an integrated build system so that your team can ensure that quality gates have been met and verify that requirements have been fulfilled in each build.
- Test your application by running manual or automated tests, including performance and stress tests. Manage testing systematically so that your team knows the software quality on any given day.
- Deploy into virtual environments to enable more sophisticated development and testing.
Team Foundation Server
Microsoft Visual Studio Team Foundation Server is the collaboration platform at the core of the Visual Studio solution for application lifecycle management. Team Foundation Server provides fundamental services such as version control, work item and bug tracking, build automation, and a data warehouse. Powerful reporting tools and dashboards provide historical trending and visibility into overall project health, and real-time metrics give early warnings of potential problems so that you can make data-driven decisions and course corrections. In addition, agile planning tools and integration with Microsoft Project and Project Server help you plan effectively and manage your projects efficiently.
Visual Studio Application Lifecycle Management (ALM)
You can integrate other aspects of the application development lifecycle with Team Foundation Server by using one or more other products in Visual Studio
- Microsoft Test Manager enables you to manage and execute test cases outside Visual Studio, and create and manage physical or virtual environments.
- Visual Studio Premium provides a complete development toolset that simplifies the task of building applications. Advanced coding, debugging, database, and testing tools help you and your team to deliver scalable, high quality applications.
- Visual Studio Ultimate simplifies solution development, lowering risk and increasing return by providing tools for every stage of the lifecycle, from design and development through test and deployment. You can design your application in UML, or analyze your existing software assets. You can define your software architecture and validate that design when your team checks in and builds with Team Foundation Server.
Session - October 16, 2012
The event covered some of the general topics in the session while touching some underlying features. The speaker had a vast experience and shared few of his experiences of the above mentioned field, both theoretical and professional. Participants got first-hand experience of the Practicality of the theoretical knowledge.
About the Trainer
Mr. Tahir Masood is a Developer and Platform Group Manager at Microsoft Pakistan
About the Participants
More than 15 Project Managers, Team leads, Testing Leads and IT Professionals from different Microsoft Partners and Independent Software Vendors (ISV) attended the session. The session was focused on improving the software product quality and reducing friction between developers and testers. Participants in the Session were shown a LIVE demonstration of using Visual Studio 2010 – Application Lifecycle Management.