
featureagile methods Using the Agile Unified Process in Banking Ioannis T. Christou, Athens Information Technology Stavros T. Ponis, National Technical University of Athens Eleni Palaiologou, Athens Information Technology he banking sector is well known for using large, sometimes monolithic, leg- A banking-sector acy systems. Now, banks find themselves having to catch up with rapid ad- project combined vancements in software development that call for new service-oriented com- agile methods puting paradigms. Unfortunately, this task is nontrivial and often requires with the Rational Thuge projects that are costly, time consuming, and risky. The safe choice for a develop- Unified Process ment methodology is a process framework such as the Rational Unified Process (RUP), to exploit service- which is customizable enough to fit any project. However, customizing RUP isn’t trivial, oriented architecture so it’s often used in its full-blown out-of-the-box project, regardless of its size. Still, customizing RUP functionality and form, which entails significant sacrifices of time, demands both experienced staff and preparation 1–3 user interface cost, and flexibility. But what if the organiza- time, otherwise it could result in an oversimplified tion is unwilling to make these sacrifices? What project or, worse, a failure to meet essential require- integration of legacy happens when time, cost, and flexibility aren’t ne- ments. To avoid the effort and risk, organizations applications. gotiable issues but hard management constraints? often implement RUP with little or no customiza- We recently applied the Agile Unified Process tion, resulting in a complex process requiring nu- (AUP)4—a hybrid approach designed by Scott Am- merous documentation artifacts. On the other bler combining RUP with agile methods5–7—to a hand, agile methods are considered more light- successful project in the banking sector. The proj- weight, emphasizing people and shifting authority ect achieved on-time delivery within budget, inte- to the developers at the heart of the project. Never- grating heavy legacy back-end application systems theless, the two methods aren’t incompatible. with newly reengineered client user-interface appli- AUP is an agile public-domain instantiation cations on a modern service-oriented architecture of RUP.9–11 It’s a simple, easy-to-understand ap- (SOA) platform.8 proach to developing business-related software us- ing agile techniques and concepts while remaining The Agile Unified Process true to RUP. It applies agile techniques including Agile methods and RUP are among the most widely agile modeling (AM), test-driven design (TDD), ag- used software development methods. Although ile change management, and database refactoring both are iterative, they seem to have significant to improve productivity. AM is the basis for agile differences. model-driven development and is a key concept in- For starters, RUP is a process framework of- troduced in AUP to effectively model and document fering adaptability to every software development software systems. Simply put, AM is a collection of 72 IEEE SOFTWARE Published by the IEEE Computer Society 0740-7459/10/$26.00 © 2010 IEEE values, principles, and practices for modeling soft- project’s scope to ensure that it’s delivered on ware in a lightweight manner.9–10 It values commu- time and within budget. nication, simplicity, courage, feedback, and humil- ■ Environment. Support the rest of the effort by ity. Its principles include ensuring that the team has the proper process, guidance (standards and guidelines), and tools ■ assuming simplicity, which is the equivalent of (hardware, software, and so on). Occam’s razor in software engineering; ■ embracing change, in that requirements will in- Ambler designed AUP around a few basic con- evitably change during the project lifecycle; cepts. First, people won’t read detailed process doc- ■ incremental change of a system over time to ac- umentation, but they will want high-level guidance commodate requirement changes; and and training from time to time. Second, describe ■ rapid feedback from project stakeholders after things concisely in a few pages, not thousands. every software release. Third, focus on the important activities and risks, not every minute detail. Fourth, teams should use AM practices are a set of best practices that include any tools they prefer for a given job, not have tools creating several models in parallel, modeling in imposed on them by the process. And finally, the small increments, iterating to another artifact, and process should be highly customizable so that you updating models only when it hurts. can tailor it to a specific project’s needs. As in RUP, AUP has four major phases: The Integrated Desktop 1. Inception. The team identifies the project’s ini- Using AUP, one of the largest banks in Greece im- tial scope, a potential architecture, and obtains plemented a small to medium-scale project called initial funding and stakeholder acceptance. the Integrated Desktop (ID). It was an important 2. Elaboration. The team establishes the system’s part of a large company-wide project that aimed feasibility and proposed architecture. to transition the company’s IT architecture from 3. Construction. The team builds working soft- the aged client-server model to one using SOA ware on a regular, incremental basis that meets concepts. The parent project was based on an en- the project stakeholders’ highest-priority needs. terprise service bus framework—a standard archi- 4. Transition. The team validates and deploys the tectural framework in the world of SOAs—devel- system in the production environment. oped for the company’s particular needs. The project’s main objective was to host private- Unlike RUP however, AUP is guided by seven banking applications with single sign-on capabil- principles: ity, thus automating daily tasks via global customer handling, exploiting the enterprise service bus ■ Understanding. Understand the business of the framework architecture, and managing multiple organization and the problem domain the proj- and concurrent customer sessions. Modifying ex- ect addresses, and identify a viable solution. isting functionality or creating new functionality in ■ Implementation. Transform models into ex- the existing back-end systems was beyond the proj- ecutable code, and perform a basic level of test- ect’s scope. ing, particularly unit testing. In the context of the parent project, the bank ■ Testing. Find defects, validate that the system adopted RUP as its development methodology. ID works as designed, and verify that it meets the was the first to adopt AUP to produce quick-win requirements. user results. The bank’s IT strategy unit and IT de- ■ Deployment. Plan for the system’s delivery, velopment units authorized AUP’s adoption. and execute the plan to make it available to end Figure 1 summarizes the project’s main char - users. acteristics. ■ Configuration management. Manage access to project artifacts. This includes tracking arti- Project Life Cycle Based on AUP fact versions over time and then controlling and The team followed the SOA-phased deployment managing changes to them. approach based on AUP and Microsoft’s Smart ■ Project management. Direct the activities that Client and Customer Care Framework (CCF).9 take place within the project. This includes The ID phased deployment stopped at CCF step managing risks, directing people (assigning 2. The project included an integrated user interface tasks, tracking progress, and so on), and coor- that combined existing user interfaces and new ap- dinating with people and systems outside the plications based on a small set of enterprise service May/June 2010 IEEE SOFTWARE 73 Figure 1. Project information summary. The Project name Integrated Desktop project involved 23 people spanning a large Project owner Private banking unit portion of the organizational hierarchy. In addition to the purely technical core, the Bank units IT development and operations, organization and plan- people involved included five users and involved in the ning, private banking (top management, relationship four top managers who formed the project project managers, middle office, customer documentation, and MIS) steering committee. The project lasted six months, during which the team implemented Team size Nine developers, three technicians (operational and administrative support), two test managers, five users, a total of 13 use cases. and four top managers (see steering committee) The team followed AUP’s four phases through- Steering Project manager, IT development manager, and top committee management review (private-banking operations unit out the project life cycle. Figure 3 shows the project manager, brands unit manager, area manager, and time line. private-banking general manager) Project An author of this article who has much experience in Inception manager successfully managing large-scale IT projects During inception, the team defined the project Project duration Six months scope as follows: Project size 13 use cases ■ A role-based integrated user desktop hosts pri- vate-banking applications. ■ The ID system automates daily tasks via global customer handling, exploiting the SOA-based parent project architecture and managing mul- Host native user interface tiple and concurrent customer sessions. Start now ■ The ID system prefetches customer information Quick bene ts and shares it intelligently among different appli- cations to eliminate redundancy and radically reduce the time users
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-