|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Application Management Viewing Corporate Application Development As a Product Development Life Cycle
Viewing Corporate Application Development As a Product Development Life Cycle
By: Robert Costello
Oct. 21, 2002 12:00 AM
Managing the software application development life cycle is more challenging than ever. With the introduction of e-business technologies such as IBM's WebSphere solutions architecture, organizations face inherent complexities. Many more issues must be considered before launching any type of e-business application. In most cases, cross-functional teams need to be formed so that there is representation from each of the organizations participating (see Figure 1). In most large organizations, application development is usually done by one or more organizations focused only on that task. When a solution is required, the business owners contact that organization and the project begins. However, if it is across functional lines, which is the case with e-business projects, the business owners provide the external funding. With this scenario, the internal application development group morphs into not just an internal IS group, but also a product development group that executes a product development life cycle. Figure 2 is an example of a product development life cycle for a typical e-commerce application offering. It is fairly complex, as are most e-business projects. Listed below are some of the complexities not documented in the diagram:
Most companies have spent millions on software development processes that are supposed to help solve many of the problems stated above. However, just putting them into a binder and distributing them isn't the answer. What is needed is an application that can automate the life cycle - enforcing the processes, collecting the metrics to see if they're successful, and enhancing communication between the teams. This article defines the key criteria to look for when assessing a new solution for automation of the software development life cycle. The four issues that are most critical to successfully bringing applications to release are:
1. Assisting development organizations with defining and
executing a consistent life cycle process An effective automation solution must help the organization accomplish its objectives while minimizing the impact on the development team members. MS2 Accelerate is being used by application development organizations to help them address these challenges and deliver better applications faster.
Application Development Practices In a recent survey of 140 high-technology executives, 99% agreed that it is hard or very hard to repeatedly and predictably deliver applications on time. The challenges of effective application life cycle management are exemplified by the following:
Fewer than 5% of all application development programs have successfully identified the complete set of customer requirements before beginning application design. Figure 3 illustrates this point. The earlier in the life cycle you can identify problems and propose a solution, the easier it is to correct them. As simple as this may seem, most organizations fail in this, many times because the team lacks visibility into the overall solutions.
Complex Challenges Facing
Application Development
Change Is Constant
Time to Market Is Critical
Business Users Are More Sophisticated
Resources Are Scarce
Assessing an Organization's
Current Approach
-Are your teams using it? -How do people in your organization learn the process? -Can you ensure that cross-functional application development groups are working together as a team, based on a common view of what the business wants and what should be built? -Do you have real-time visibility into the detailed status of all applications under development? -Are you communicating quickly and effectively with your extended development team, including contrac- tors, joint development partners, and business users? If you answered no to some of these questions, you're not alone. Application development organizations have implemented many different tools to manage some of these complexities. Spreadsheets, program management software, source-control systems, and even home-built Web sites are being used in an attempt to assess a company's ability to design and build the right new applications. While these tools are all useful, they often create islands of information that quickly become out-of-date or obsolete, making it difficult for the team to execute on an integrated application strategy. If you can automate the processes and create process improvement, the payback is enormous. (see Figure 4)
The Need for a Solution Criteria for Automating the Application Life Cycle The increasing challenge of defining and developing winning applications on time has led to the need for an application to automate the application development life cycle. A viable Product Life Cycle Automation (PLA) solution must meet the criteria explained below. A Successful, Repeatable Application Life Cycle Process An application organization typically has an application development life cycle that it would like to follow for every program. The life cycle process is often long, detailed, difficult to execute, and even harder to repeat every time across multiple programs. Even when the entire process is fully documented, the plans may remain in a binder on someone's desk, where they're often forgotten or skipped. Many of the improvements or lessons learned never get repeated because there isn't consistent use of the defined process. A study of a dozen companies found that a viable solution for automating the application development life cycle must meet the following criteria:
Application development organizations spent less time on administrative activities and more time focused on application development. The result: business units that embraced this approach reduced their average development times by 30-50%. The first step toward ensuring a consistent and effective new application life cycle is to create a process. A PLA solution must allow the application development organization to capture its best practices in the form of processes and templates. Ideally, it should provide out-of-the-box best practices for organizations that haven't had time to create them. These processes and templates should be embedded into the work environment and the tools that team members use, thus avoiding their binder problem. Each new program should be able to leverage these best practices without requiring team members to dig up documentation on the process. Finally, successful execution of the process means that every individual on the team knows his or her role in pursuing the goal: What deliverables am I responsible for? When do I create them? Who must review and approve them?
Single Source for All Application
Life Cycle Information A recent study found that engineering resources, on average, spend 70-75% of their time attending meetings, correcting mistakes, and traveling, leaving only 25-30% of their time for value-adding activities such as designing, developing, testing and solving problems. Project managers often spend the majority of their time creating "executive dashboards" for weekly review meetings, in an attempt to give project visibility to executives. On large projects this may involve the consolidation of multiple-project plan information and numerous phone calls and e-mails. A pattern begins to emerge; by the time the project manager has finished the review materials, the cycle must begin again, never allowing the project manager to truly manage the project. Application development organizations have tried the following alternatives to address this problem:
Shared Drives or Folders
Source-Code Control System
Home-Built Web Sites An application development life cycle automation solution must provide a single source for all status and deliverables. That solution must be:
Thus, application team members will be able to spend their time developing applications, as opposed to creating and managing Web sites or searching for the right document. Making sound investment decisions across a large number of application development programs may be the single most critical challenge faced by an application organization executive. To maximize expected return on investment, executives must have the information to clearly assess the strategic value of each program, its status, and its apparent risks. An application life cycle automation solution must provide a live view into the status and future plans for all development programs, allowing executives to quickly assess portfolio status. The solution must allow them to manage by exception and take action where appropriate to ensure that the most critical applications yielding the highest ROI are delivered on time and with customer-valued functionality. Too often, executive managers use a stale application roadmap presentation to make feature content or application release date commitments to business users. Since the last executive roadmap review, the application team may have moved the release date and added or deferred key features. Understanding the complete status of a development program is a difficult task. Collecting and reviewing status reports from each team member can be time-consuming and may not provide the key information necessary to determine whether a program is really on track. In a recent study of software development programs, researchers found that at least 7 of the 10 most common signs of application development failure were present before the design was created or a single line of code was written. Visibility into these leading indicators is critical to identifying potential problems and attempting to remedy them.
Globally Dispersed Application Teams An effective PLA solution must effectively manage geographically dispersed constituents through a scalable and highly available architecture. It must allow collaboration among team members without the need for continual meetings.
Summary Reader Feedback: Page 1 of 1
Your Feedback
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||||