For the past 30 years, application development has been a black-box proposition -- dump resources into IT and, eventually, a business tool comes out. If deliverables were meeting expectations, perhaps this paradigm would endure. But, as few would argue, they are not.
Originally, the problem was a lack of standards and process standardization as application vendors battled for dominance. Today, it's equally about organizational dynamics.
"With organizations functionally siloed, there's a group of developers, a group of testers, a group of project managers, a group of business analysts," points out Carey Schwaber, a senior analyst with Forrester Research (Cambridge, Mass.). "They all have their own separate asset repositories, typically in the form of word processor documents and spreadsheets stored across network directories and drives."
Compounding the problem is a lack of automated management tools. "Unless you can look across all project domains, you don't know whether 'requirements plus test case plus code equals deployable software,'" says Schwaber. "Most organizations spend countless days manually building nightmarish spreadsheets, but human beings don't truly gain useful insights from complex matrixes. ... And depending upon where such documents are stored and who has access to them, it will become increasingly difficult to meet regulatory requirements for tracking and validating asset usage."
Fortunately, the IT industry itself is delivering technologies to help. Known as Application Lifecycle Management (ALM), the emerging solutions centralize organizational assets without upending organizational charts. According to IDC, the ALM market will grow to $3.3 billion worldwide by 2009 as competitive forces continue to pressure IT departments to add transparency and reduce time to market.
Theoretically, ALM solutions enable assets to remain the domains of their respective business units while granting individuals access rights to view, utilize, modify or create assets. Further, the latest ALM solutions enable components developed for one process to be efficiently identified and reused.
Time to Market Improvement
Such were the goals at St. Petersburg, Fla.-based Raymond James Financial. "We're always involved in dozens of complex projects as well as countless maintenance assignments," relates Mark Abbott, the firm's VP of IT. "We were managing all of them with basic productivity tools such as documents and spreadsheets. It was impossible to keep up, particularly when we were trying to manage the interdependence of these projects.
"By early 2005 we began an internal initiative to run our 800-employee IT division with the same discipline as a stand-alone business," Abbott continues. "Although our customers were happy with the software we developed, we needed to improve our time to market by streamlining processes." Among other things, this meant better source code control, he notes.
When the project began, the firm's existing development repositories were localized and inefficient, according to Abbott. "While those tools were workable at the team level, we wanted to bring repositories to the enterprise level," he says. "As we were moving toward service-oriented architecture, it was imperative to move development assets from residing within small teams to being available across the IT enterprise."
Primarily a Microsoft LAN-enabled shop with an HP Nonstop mainframe, Abbott's IT organization researched a half-dozen ALM players; three were invited to participate in a hands-on proof of concept. "We migrated several applications into the prospective tools," explains team member Sue Desiderio, Raymond James' manager of software engineering. "Then we updated the applications using our [Microsoft] Visual Studio development environment to prove that the hooks worked for drawing code into the ALM solution."