- Language: English
- Published: October 2012
Application Development and Lifecycle Management: The Impact of Agile Practices on People, Processes, and Tools
- Published: June 2009
- Region: Global
- 283 Pages
- Butler Group
Application development continues to evolve with processes and methodologies receiving significant attention through Agile practices, while on the tooling side a new generation of Application Lifecycle Management (ALM) products are appearing with process and workflow support figuring largely.
Software application development is one of those subjects that never disappears but is always evolving. Since the last general survey Report published on this subject – Application Lifecycle Management (ALM), published in September 2005 – there has been a lot of activity in the ALM field. With our colleagues, we published an ALM Decision Matrix in 2007 that looked at the vendor ALM suite market, and we now repeat that exercise in this Report with all the leading vendors participating. (The Decision Matrix also replaces what used to be the Market Lifecycle Ratings in Technology Evaluation and Comparison Reports).
The areas that are currently receiving the greatest activity in application development are:
- Agile development and Agile project management.
- Testing and test management.
- Enterprise Web 2.0.
The application development subjects that are on the horizon, and which predicts will take centre ground, are:
- Development in the Cloud.
- Parallel programming (especially General Purpose computing on Graphics Processing Units – or GPGPU).
- Extension of ALM to overlap IT governance.
- RESTful Service Oriented Architecture. (REST is Representational State Transfer).
While what and how applications are being developed evolves, developers are still needed to programme the machines and create these applications. It had been considered that advanced modelling such as Model Driven Development (MDD) in the guise of software factories would at some point deliver on the next leap forward, a technological breakthrough such as a higher abstraction compiler that takes models rather than a high-level programming language to churn out the machine code. The Object Management Group’s Model Driven Architecture (MDA) appeared to be moving in that direction. This did not transpire, and is not likely to in the immediate future. These themes are expanded upon below.
Ultimately, software applications are built to satisfy the needs of the business, and the subject of the clash of two different cultures – the IT department and the rest of the business – has been discussed often, possibly to exhaustion. Some intractable problems become ‘solved’ through irrelevance because the ground has moved, and it can be said that whereas in the early days of computing the computer department in a business was a quite distinct function, a place where data was sent to be processed and returned with some useful statistics or reports, today there are businesses whose sole basis for existence relies on the IT function. Examples vary from obvious ones such as online banks and Web 2.0 companies, to less obvious virtual companies that operate solely due to the existence of the Internet and products with embedded software where the software component has grown exponentially. The net result of this shift towards greater reliance on IT is that the business has to take a greater interest in its IT function to succeed in the market, especially if the IT people are not delivering.
Having talked about the software crisis: the bad track record of large software projects that overrun budget, deliver late (often by 100%), have quality problems, and so forth. A real-world example illustrates how businesses are tackling this problem (names are omitted for confidentiality reasons): an IT company arose from being a small operation to having a billion dollar turnover in a short period. This company used to release its key platform application on an annual basis, but as a result of this rapid growth its current releases were taking 18 months and longer. The CEO gave the Chief Technology Officer (CTO) the highest priority directive to solve the problem. The CTO decided that all the company’s developers would switch to Scrum, the most popular Agile methodology, in big-bang fashion. The switchover was a success and delivery was back to a 12-month cycle. BT is another example where in this instance the CEO directed the company to adopt Agile, and an incremental adoption plan is in progress. Finding that Agile methodology adoption is a competitive differentiator for companies, and that this works best when there is a champion at the highest level. Alternately, the concept of reducing waste is a message that many businesses understand and this is central to Lean Development, which takes many ideas from the lean movement and Total Quality Management, and combines them into an Agile methodology. Lean Development is found to be more comprehensible to businesses than some of the more developer-oriented Agile practices.
Businesses also want greater real-time insight into software project progress, and the new generation of BI solutions integrated into ALM suites provide this capability. Rather than reacting post-event, senior managers can act to avert problems escalating into software crisis dimensions. In particular, visibility into quality control and test performance of the work in progress is necessary. When schedules become pressured, testing is the area that is traditionally cut by Project Managers. Therefore senior business managers must keep track of testing and quality – getting this wrong incurs long-term damage to the organisation in the marketplace. Agile methodologies are liked by business executives because they make testing an integral part of the development lifecycle, not the last activity before shipping.
Enterprise Web 2.0 represents a puzzle to many company executives: they see staggeringly successful businesses emerge, based on the Internet and the set of concepts and technologies behind Web 2.0, but do not see how this is relevant for them, or how they can emulate that success. This is likely to change as Web 2.0 culture permeates the workforce, that were raised in the Internet age, and use of the Web grows. Cloud Computing will accelerate that process, as various entrants trial new business models for earning revenue by offering utility-like computing services. Addressing security concerns is paramount though and will act as the brake whenever any mission-critical applications are considered. Expendable, low-risk business activity will find its way to the Cloud today. It will probably take the Internet mark 2 (there are various initiatives for upgrading the Internet, increasing bandwidth and improving security at nodes being prime motivations), for Cloud Computing to become truly ubiquitous.
The ALM suite represents the best investment to support developers and management. However, its takeup has tended to be at the large enterprise level, with many smaller organisations relying on point solutions. This has changed in the last few years with the increasing adoption of Agile methodologies and the need to support the greater discipline and process required in these practices. The waterfall process is relatively straightforward, with simple stage-gates and linear workflow, whereas an Agile methodology like Scrum has iterations (daily Scrums) within iterations (Sprints, Spikes, and Retrospectives) within iterations (the release plan). In order to support complex projects and distributed team members there is a need for tooling that allows Agile work items, called ‘stories’ or ‘features’, to be easily moved around the workflow. Developer testing is a core activity in Agile, so rigging-up automated, continuous testing is necessary. Real-time reports with charts for velocity and burndown need to be easily accessed and displayed to all team members. The project managers need the electronic equivalent of a white board to easily manage an Agile project and perform the various activities in the process. For example, at the iteration end a retrospective is held that requires all stakeholders to attend and the product owner to re-prioritise stories. This needs to be easily performed and tracked. A new generation of ALM solutions have appeared on the market to support these activities – discussed in Section 2.3 of this Report. ALM architecture, our state-of-the-art view of ALM given in Section 3.1, makes a number of distinctions: it separates out core ALM activity, cross-cutting the lifecycle segments, from plug-in ALM tools via a Service Oriented Architecture (SOA) integration layer, and from external development tools like Integrated Development Environments, test tools, and third-party ALM tools via an interoperability layer. The core layer comprises: a workflow engine and common repository as essential; Software Change and Configuration Management (SCCM); reporting (and ideally BI analytics capability); process and methodology support through Web-based guides and wikis (authoring and publishing tools, two-way access for users to read and change content), and all accessible from the ALM tools at any point in the workflow; collaboration support; software estimation (which is underrepresented in ALM but should be integral); and issue and defect management (commonly found in operations but good practice for use in development).
Beliefs that support for modelling (MDD or MDA) should be an integral part of core ALM. In reality, as mentioned in the introduction to this Section, there have been setbacks in the vendor modelling community. Certainly the developer community appears divided between those that support modelling and those that do not, with many in the Agile community shunning the activity. The fact remains that for complex projects modelling is a necessity – the telecom, automotive, and aerospace industries are examples where modelling is successfully used. The limited take-up of MDA by customers has more to do with the lack of a reference system and the slow evolution of an action/behaviour language: this is a programming language that is used to describe the business or application logic. The most successful modelling tools on the market combine visual models with an action language for the detailed work. A big mistake in the early days of MDA was to assume that everything should be done with the Unified Modeling Language – the truth is that it is not flexible enough and it is also a boring activity. Programming is successful because it is versatile and also fun. The trick is to combine visual models with an action language.
Rich Internet Applications (RIAs) continue to feed into modern, Web-based applications, and are now a standard fixture. The name will probably fade away as the technology continues to become the default – the application development tools will make non-rich Web components and widgets obsolete. The shift is towards what is being built and this is where business-oriented Web 2.0, or Enterprise Web 2.0 (the terminology preferred in this Report), takes centre stage.
Integration is one of the thorniest questions in ALM today. The first initiative to create an open ALM framework based on the Eclipse platform failed due to lack of widespread vendor support (known as Application Lifecycle Framework, the project’s lead vendor, Serena Software, shut it down in 2008).
Meanwhile IBM, the originator of Eclipse, created a new server-side ALM platform named Jazz.net. Jazz is designed to be open and a number of application development tool providers are building plug-ins for it, but the platform is being used for integrating a host of IBM Rational products, legacy and new generation, and in perfect timing, ALM products from the Telelogic acquisition that concluded in 2008.
The other ALM leaders alongside IBM – Borland and Microsoft – are also making integration a key forward strategy. Borland is building an integration layer (Borland Open ALM Framework or BOAF) and is planning on providing connectors for two third-party leading products in each ALM segment (requirements, change and configuration, etc.). It is also moving its legacy solution to this integration layer, with the new-generation Borland Management Solution already built on BOAF.Microsoft also has an ALM platform in Visual Studio Team System (VSTS), with an ecosystem of vendors providing products that plug-into the platform. However, the upcoming release – VSTS 2010 – will take Microsoft to the ranks of end-to-end ALM vendors, competing directly with IBM and Borland at the top. VSTS is a natural candidate for Microsoft developers building .NET solutions, its support for other languages and operating systems is limited though.
ALM system architecture (see Section 3.1) has SCCM as a core ALM tool, but a number of ALM suite vendors have opted out from competing in a segment of the market they view as mature and saturated. Vendors like Compuware, HP, and Rally Software will need to provide deep and orchestrated native integration to a range of SCCM products in order to achieve what's considered to be essential ALM functionality. They all support the popular open source Subversion SCCM product. Compuware and HP are long-time ALM providers, spanning mainframe and distributed systems, and also offer strong Application Performance Management solutions. HP Software also incorporates what was the Mercury product line and has deep capability in testing tools. Rally Software is one of a new breed of ALM solution providers with an Agile development focus and a hosted solution business model (although Rally Software will consider on-premises provision). The appearance of these new ALM vendors, Polarion Software and TechExcel are further examples that appear for the first time in this Report, indicates that there is a great opportunity in the market to address customer needs. In its early years ALM had a mainly large enterprise appeal, so the market is wide open for expansion. Finally, MKS and Serena Software continue to mature and build on their ALM solutions, are a short distance from the leading group, and can offer their unique takes on the ALM market. For MKS it is all about organic growth and tight integration, each time we visit MKS it has added another segment to its native ALM capability. Serena Software has also made progress with support for business mashups and Agile development as core activities. The ALM solution market as being in a revitalised state, with Agile and Software-as-a-Service creating new opportunities that should see ALM adoption reach further into the developer community. Despite the world economic recession at the time of writing this Report, investment in an ALM approach is a sound course of action to take that will lower development costs in the long run, and also help deliver better software products.
Late Breaking News
As this Report went to publication the news broke that Micro Focus International (a UK company) is to acquire Borland in a cash deal described as a definitive agreement. Furthermore it was also announced that Micro Focus is to acquire assets from Compuware’s Quality Solutions portfolio, covering Application Testing and Automated Software Quality products. The move, if concluded successfully, will catapult Micro Focus into the front rank of the ALM market. This acquisition follows the recent acquisition of Sun Microsystems by Oracle, with particular interest to developers concerned with the future of Java. It is the opinion that Oracle will be a good guardian of Java. SHOW LESS READ MORE >
Section 1: Management Summary
1.1 Management Summary
Section 2: Application Development and Lifecycle Management Today
2.1 Report Introduction and Objectives
2.2 Application Development Trends
2.3 Advances in Processes and Methodologies
2.4 The People Aspects of ALM
2.5 Application Development in Emerging Environments
Section 3: The Butler Group ALM Evaluation Model
3.1 The Butler Group Application Lifecycle Management System Architecture
3.2 The ALM Solution Features Matrix
Section 4: Agile Development and Project Management
4.1 Understanding Agile Development
4.2 Agile Software Change and Configuration Management
4.3 Advances in Project Management
Section 5: Testing and Test Management
5.1 New Tools in the Market
5.2 Test Driven Development
5.3 Advances in Test Management
Section 6: Market Analysis
6.1 Butler Group Application Development and Lifecycle Management Features Matrix
6.2 The Application Development and Lifecycle Management Decision Matrix
6.3 Vendor Analysis
Section 7: Technology Audits
Aldon – Aldon ALM Solution
Borland – Borland ALM Portfolio
Compuware Corporation – Compuware ALM Suite
HP – HP ALM Solution Set
IBM Rational – IBM Rational Software Delivery Platform
Microsoft – Microsoft Visual Studio Team System 2010
MKS – MKS Integrity 2009
Polarion Software – Polarion ALM Enterprise 3.2
Rally Software – Rally Enterprise ALM Platform
Serena Software – Serena ALM Suite
TechExcel – TechExcel DevSuite
Section 8: Vendor Profiles
Section 9: Glossary
- edge IPK
- Electric Cloud
- Perforce Software