Application Development / ALM - Overview
Creating and supporting software that effectively aligns with business objectives has unique challenges. Conventional management skills adapted from other industries do not consider the peculiarities of software, and generally cannot direct the workflow well enough. Unless they are very well managed, software projects are at a high risk of failure. They can easily drift off target, fall behind schedule, exceed budget, fail to deliver adequate quality levels, or simply fail to deliver any tangible business benefit. Miscommunication and misunderstanding between the business sponsors, users, and IT experts often contribute to the failures.
The Ensynch Difference
Ensynch understands the critical nature of establishing processes for Application Development and Application Lifecycle Management (ALM)
according to best practices. We're focused on business results and our clients know they are getting proven, consistent solutions and "Whatever IT Takes" commitment, to deliver unparalleled return on investment.
With most engineering disciplines, there are “previous examples” to follow. For example, when you build a road or a bridge you can study hundreds of other similar examples. By building a new one, just like an existing one, you de-risk the whole process. Software engineering and building IT systems in general is quite different. If a system already exists like the one you want to build, economics dictate that you go out and buy it or license it commercially. In other words, you would never build it yourself.
As a result of this, you need to view software development in a completely different business context. Virtually all of your software development projects are concerned with building products and solutions that don’t already exist—so the risk is immediately higher. This business reality is the key factor that makes software development so difficult and risky, which makes attention to process essential.
Application Development / Application Lifecycle Management (ALM)
So what is Application Lifecycle Management (ALM) and how can it help address these issues? ALM describes methods to manage software development and IT initiatives by automating the process from end to end, and integrating the information from the various steps. Integration provides consistency and accuracy and also introduces opportunities for automation.
Forrester defines ALM solutions as:
Integrated tool sets that support and unite the following life-cycle activities: requirements management, design and modeling, development, software configuration management (SCM), and testing.
The three core pillars of ALM are:
• Traceability of relationships between artifacts. This is traditionally a labor-intensive, manual process, where the effort varies with the number and size of projects, the varying size and scope, and the number of artifact interdependencies. Compliance requirements make traceability a necessity.
• Automation of high-level processes. Development organizations commonly use paper-based approval processes to control handoffs between functional areas. ALM solutions improve efficiency by automating these handoffs and by providing central storage for all associated documentation. Automated and executable process models are used by ALM solutions to ensure process adherence.
• Reporting to increase visibility. Most managers have limited visibility into the progress of development projects. What visibility they have is typically gleaned from subjective testimonials, and not objective data. The lack of proper reporting also hinders opportunities for process improvement. The ALM reporting functions benefit from integration and automation to provide real-time status information and deep analysis of all activities.
Providing traceability, automation, and accurate progress tracking has traditionally been very difficult to achieve, in part due to disparate tools that do not integrate well together. ALM has been a convergence point for makers of visualization tools, modeling tools, compilers, integrated development environments, source code managers, project management systems, configuration management systems, and problem tracking systems.
A key characteristic of ALM is that all the project stakeholders (from the business and IT functions) share the same pool of up-to-date information. This includes business sponsors, users, project managers, architects, developers, testers, and system administrators. The typical activities supported by ALM include requirements gathering, solutions modeling, visual design, coding, testing, deployment, and issue tracking. ALM tools link together the artifacts that result from these activities.
Business Benefits of ALM
The introduction of ALM within your organization can result in the following business benefits:
• Increased collaboration between business and IT—better alignment of the business with IT.
• Increased accountability, enabling stricter compliance to governance initiatives.
• Improved project management, including better estimation, better tracking, and better reporting through a single, unified view of the project. The improved integration stems from the use of tools that work together rather than disparate tools, poor integration, and duplicated data.
• Quality improvements, so the final application meets the requirements of your customers, and meets quality of service requirements.
• Shorter development cycles and improved productivity through shared best practice, process learning, and improvement.
• Increased ability of the IT department to rapidly build and adapt applications to support dynamically changing business requirements.
The net result of these benefits is increased synchronization between IT and your business to deliver improved business value to your customers and to provide an additional competitive advantage.
Application Development / ALM Related Products
.NET Framework
Visual Studio 2008
SQL Server 2008, 2005
Microsoft Office Sharepoint Server (MOSS) 2007
Request more information about how Ensynch can help you with Application Development and ALM.
|