rational - taking software design and development to the next level

14
Rational: Taking Software Design and Development to the Next Level Written by Ronald Gruia, Principal Analyst - Emerging Telecoms

Upload: frost-sullivan

Post on 12-May-2015

1.554 views

Category:

Technology


1 download

DESCRIPTION

A whitepaper commissed by IBM on software design and development, written by consultant Ron Gruia.

TRANSCRIPT

Page 1: Rational - Taking Software Design and Development to the Next Level

Rational: Taking Software Design and Development to the Next Level

Written by Ronald Gruia,

Principal Analyst - Emerging Telecoms

Page 2: Rational - Taking Software Design and Development to the Next Level

2 Frost & Sullivan

TABLE OF CONTENTS

INTRODUCTION: WHERE ARE WE? .............................................................. 3

Current Challenges in Software Development ................................................. 3

Why are These Challenges Important? ............................................................. 4

ADDRESSING THE CURRENT SOFTWARE DEVELOPMENT CHALLENGES ..................................................................... 5

Addressing Design Challenges .......................................................................... 5

Tackling Development Issues ........................................................................... 6

IBM’S APPROACH TO SOFTWARE DEVELOPMENT AND DESIGN ............. 7

Rational Software Architect ............................................................................ 7

Rational Application Developer....................................................................... 9

HOW IBM STACKS UP AGAINST THE COMPETITION ................................ 11

CONCLUSIONS .............................................................................................. 11

ABOUT THE AUTHOR.................................................................................... 13

Page 3: Rational - Taking Software Design and Development to the Next Level

INTRODUCTION: WHERE ARE WE?

In the fast-paced world of software development, change is permanent as businessesconstantly strive for competitive differentiation through software-driven innovation.Therefore, it is natural to see development teams strive to keep up with the latesttechnologies, methodologies and trends. In the quest to build solutions efficiently andrapidly deliver them to their customers, architects and developers are driven to consideringand utilizing multiple technologies.

A parallel trend to accelerating the pace of projects is pressure to reduce the cost ofsoftware development. With the advent of rapidly improving frameworks, tools, componentsand Web service APIs, software can be built not only faster, but also cheaper.

The concurrent pursuit of faster and cheaper software development presents gaps betweenconcept and realization, as there are many areas that require a substantial improvement inorder to enable developers to attain these goals.

Current Challenges in Software Development

The current pain points being felt by the software developer community can be categorizedin two groups, as shown in Figure 1 below:

Figure 1—Current Challenges in Software Development

1. Architecture/design—concerns in this area include:

• Management of complex software and IT: IT applications can be extremelycomplex, sometimes linking disjointed, heterogeneous back-end systems and producinga human consumable solution. Such complexity requires a structure and language toallow designers to simplify the development task. This is ideally done through theabstractions provided via software architecture practices. Deployment can often be anintricate and cost-intensive task that can be further aggravated by the knowledge gapbetween development and operations; this results in apps that do not fit theinfrastructure in which they must run, known solutions that cannot be reused, and thefallback to manual deployments or home-grown scripts

Frost & Sullivan 3

Page 4: Rational - Taking Software Design and Development to the Next Level

• Agile development: move toward agile development and short-term ROI, whichdraws away from a business’ focus on modeling and architecture bridging the gapbetween development and operations teams; the challenge is having a good tool to helpenforce a small, controllable development/release/test cycle and to encourage goodcommunication across the teams

• Handling BSS evolution: managing the transition to next-gen large business supportsystems is sine-qua-non, with more business functions being automated; this requiresdefining engineering processes, information (in a common fashion), systems toimplement processes, interfaces between the systems and the way these systems plugtogether (architecture)

• Standards support: embedded support for industry-specific standards and theavailability of packages enabling functionality such as real-time communications is alsoa key requirement that is lacking in some integrated development environments; thereis a growing demand for support of specifications such as Parlay, protocols such as SIP,and frameworks such as TM Forum’s NGOSS

2. Construction/development—issues in this category include:

• Cost effectiveness: software developer environments typically lack a good entry-levelprice, which hinders a wider adoption; most offerings are fully featured packages thathave a higher initial price

• Web 2.0 support: developers are increasingly in need of tools that offer a richdevelopment, debugging and profiling experience designed for the Web; therefore,development environments need to be able to extend SOA and Java EE assets to theglass via JSF (JavaServer Faces) and DOJO Toolkit (open source JavaScript library) apps

• Better service composition: solutions have to enable the assembly of Web servicesand SCA (Software Communications Architecture) components into heterogeneousbusiness applications

• Software code quality: developers need to rely on an environment that is conduciveto a better coding consistency, being capable to perform automated quality checks, andbehavior and performance analyses of software as it executes

Why are These Challenges Important?

A software development solution portfolio that addresses the above challenges can beinstrumental in driving the following:

• Higher developer productivity: up to eight times greater than the industry average• Lower project lead times: reductions of up to 70 percent are feasible• Reduction in total development cost: a drop of 70 percent in total costs can

be attained• Improvement in software quality: 3 to 3.5 times better than the industry average

Frost & Sullivan 4

Page 5: Rational - Taking Software Design and Development to the Next Level

• Increase in customer satisfaction: not uncommon to witness a satisfaction of 4.9/5• Improve team morale/satisfaction: developers recognize the importance of

their contributions

More importantly, solutions tackling the key current issues in software development willcertainly resonate well with the developer community, helping it keep current with theadvent of the latest industry advances, including cloud computing, the Web as a platform andthe agile development process, among others.

ADDRESSING THE CURRENT SOFTWARE DEVELOPMENT CHALLENGES

Addressing Design Challenges

Looking from an architectural perspective, existing state-of-the-art modeling anddevelopment environments typically rely upon UML (Unified Modeling Language) fordesigning architecture for C++ and JEE (Java Enterprise Edition) applications. Modeling inUML can even be done for applications that will be implemented in Microsoft’s Visual Studiosuite using C# .Net, as design teams look to start using more standardized methods ofrepresenting their solution.

Model simulation is a key requirement in order to test and validate a developer’sarchitecture, and that can be achieved via model execution via UML behaviors, topologytraces, ability to step through break points, restart/suspend/resume execution and to inject values.

A feature that sets modeling and development environments apart is the ability to supportvertical industry frameworks such as:

• Telecom: SIP, Parlay X and NGOSS

• Financial services: IAA (Insurance Application Architecture) and IFW (IBMInformation Framework)

• Federal government: DoDAF 2 (U.S. Department of Defense ArchitectureFramework 2), including PES import-export

The modeling for these vertical sectors is further aided by UPIA (UML Profile forIntegrated Architectures) support, which enables rich graphical representations of business-level and environmental concerns that can be interconnected to requirements andrepresentations of solution architectures. Data can be imported to UPIA from CSV(Comma Separated Value) files and spreadsheets.

One key intangible for a modeling and development environment is the integration withother software configuration management and version control tools. Smarter ITdeployment planning can be achieved via communication and validation of IT deploymentsto avoid costly problems late in the application lifecycle. It is important to also be able toreuse known solutions and define building blocks to speed up the creation of deploymenttopologies. Some of these topologies can be created from “live” configuration data.

Frost & Sullivan 5

Page 6: Rational - Taking Software Design and Development to the Next Level

Another important area is the emerging practice of agile modeling. Although it was initiallyfrowned upon by purists, just-enough-modeling or informal sketching is now accepted asthe best way to ensure software development is undertaken with due diligence and thesolution can withstand the vigor of software governance.

Furthermore, a new domain where modeling is helping to address some challenges is theDevOps area, where the “deployment modeling” initiative strives to align and streamline theorganization, enhance clear specifications and communication between architects and ITinfrastructure teams and its processes to enable iterative application delivery more rapidly,and to support greater development and business agility. By embracing this philosophy, amodel and development environment is better equipped to bridge the gap between the“development” and the “operations” sides of the IT family, and to quickly adapt to changein an efficient and cost-effective manner.

Tackling Development Issues

From a software construction/development standpoint, a fundamental requirement forcurrent IDEs (Integrated Development Environments) is the reduction of repeatable tasksvia wizards, visual programming and editors that can help during the software constructionprocess. The rationale is to maximize programmer productivity by delivering tightly-knitcomponents with similar user interfaces so that the developers perform less modeswitching compared to when they utilize discrete development programs.

Another aspect that is often overlooked is the ease of migration of software applicationsfrom one version to another. It is essential to be able to support the developer to migratehis/her application to a different technology specification or application server to make useof performance and efficiency enhancements. In other words, to empower the programmerto take advantage of the latest technology, while still supporting older versions ofapplications in production.

Because an IDE is by its own nature a rather complex piece of software, a lot of theproductivity gains only materialize after a prolonged learning process, so making the newimprovements easier to learn, faster to implement and with fewer bugs is a keydistinguishing factor among all IDE solutions.

Most IDEs typically include tools for deploying an enterprise application to a local orremote server, including test environments that enable developers to test their applicationslocally before publishing it to a production server such as IBM WebSphere ApplicationServer. A key feature is the tight integration with the production-hosting environment or application server, which is a sine-qua-non requirement to simplify compleximplementations. Good visual tools not only simplify development but also promote abetter code understanding and accelerate the completion of applications. Anotherdifferentiator is the support for frameworks such as OSGi, which relies on Java and is now used in applications such as fleet management, grid computing, and mobile phonevalue-added services, among others.

Frost & Sullivan 6

Page 7: Rational - Taking Software Design and Development to the Next Level

Finally, a host of other important considerations include full solution support, includingdocumentation, 24x7 one-on-one or self-help, and the provisioning of test servers (e.g., Ajax test server) to rapidly preview Web pages, including images, scripts, services anddata, and ease the adoption of Web 2.0 technologies.

IBM’S APPROACH TO SOFTWARE DEVELOPMENT AND DESIGN

IBM is one vendor offering a software development and design solution set that addresses these key issues currently being faced by most programmers. The company isdelivering a couple of recently upgraded products tackling the challenges discussed thus farin this paper.

Rational Software Architect

The latest release of Rational Software Architect V8 features a new pricing and packagingscheme, with a lower-priced entry-level product that can be enhanced with separatelypurchasable extension offerings. This reduces one of the barriers to adoption of modelingand development environments, which is cost, and enables developers to better match theirpurchases to the specific implementation they are trying to achieve. This is illustrated inFigure 2 below:

Figure 2—Rational Software Architect New Pricing & Packaging Scheme

Frost & Sullivan 7

Page 8: Rational - Taking Software Design and Development to the Next Level

V8 of Rational Software Architect also delivers a dramatic simplification of user experience,usability and performance improvements over prior versions. The resulting ease of use,improved performance on large models and the ability to install only the necessary featurescontribute to an improvement in productivity. The simplified UI does not expose as muchof the underlying Eclipse platform by default, which allows users to configure a workbenchenvironment that is better suited to the activities of creating and managing architecturesand designs rather than Java code or Eclipse extensions.

Rational Software Architect’s model simulation empowers developers to test and validate their architecture right at the design and conceptualization stage. This is a keydifferentiator as some other competitive products such as No Magic’s MagicDraw and SparxEnterprise Architect only identify design errors later in the design cycle, when they arecostlier, and the implementation ends up diverging from the design due to weak behavioralcode generation.

Another value-add is the integrated architecture framework delivered by Rational SoftwareArchitect, which includes:

• UPIA profiles for representing business/mission-level concerns

• Structured data importer—capture mission/business-level information from worksheetsor CSV; generate UPIA models from it; generate diagrams and reports from thosemodels for impactful, audience-appropriate communication of that information; andconnect the business drivers to solution architectures to help ensure business-alignedIT delivery outcomes

Rational Software Architect also embraces the DevOps philosophy, scaling to very largemodels and teams, and aiding a closer collaboration between developers and operationsthrough deployment planning diagrams, which can be used as a first step toward automatingand managing complex, cumbersome deployments. This compares favorably to SparxEnterprise Architect and MagicDraw, which offer poor team collaboration (only on packagelevel, with weak performance of configuration management operations via XMI).

One strong suit for Rational Software Architect lies in its extensive focus on verticalindustries, with various packages made available to support applications for telecoms,financial services and the government sector. These integrated architecture frameworksallow a developer to quickly ramp up on the different requirements for a particular segmentand model complex processes via UPIA. In other words, Rational Software Architectprovides an extensible environment capable of supporting additional architectureframeworks and their respective iconographies, queries, views and reports. Examplesinclude the following:

• Telcos: SIP, Parlay X and NGOSS• Financial services: Supports IBM industry models (IAA, IFW)• Federal/DoD: DoDAF 2, including PES import-export

Frost & Sullivan 8

Page 9: Rational - Taking Software Design and Development to the Next Level

As an example, a developer can easily incorporate real-time communications functionalityto his IT application via the Rational Software Architect package. He could, for instance,design call flows, servllets and tests, in addition to visualizing SIP network traffic for CEA-enabled products (e.g., VoIP and IPTV). Or he could add enablers such as texting,location, presence and other Web services in his CEA product via Parlay X support.Alternatively, he can also design SOA solutions geared toward helping telcos manage theirbusiness, based upon the TM Forum NGOSS specification.

Rational Application Developer

The latest release of V8.0 continues the tight integration with WebSphere ApplicationServer that includes integrated test environments and special feature packs supporting Web2.0, SCA (Service Component Architecture), CEA (Communications Enabled Applications),OSGi, XML and Web Services, among others. The migration process is seamless, anddevelopers are able to port their apps to the latest servers and specs.

Rational Application Developer simplifies the Web 2.0 development via source-level toolsthat aid with JavaScript and dojo development. It also exposes server-side assets as Web 2.0consumable services and allows for the development of Web 2.0 pages. A lightweight Ajaxtest server can quickly preview Web pages that include images, scripts, services, and data.

Rational Application Developer also increases productivity through editors that provideassistance as developers create their code by looking up APIs for what they’ve typed,suggesting ways to complete the code they are writing, validating the code before testing,and proposing solutions to errors in the code. Rational Application Developer provides acomprehensive set of testing tools for a complete development lifecycle, unlike competitorssuch as MyEclipse Blue.

At the heart of Rational Application Developer is a tight integration with the WebSphereApplication Server (WAS), via a variety of visual tools that simplify iterative and incrementaldevelopment, as depicted by Figure 3 below. Programmers can run and test code at a clickof a button, validate applications and enjoy team collaboration via integration with RationalTeam Concert. More importantly, Rational Application Developer enforces best-practiceand code quality rules and offers integrated middleware test environments that allowdevelopers to conduct quick system integration testing. The fact that Rational ApplicationDeveloper is optimized for WebSphere Application Server allows developers to leveragetheir investment with the tools pre-built for the targeted application server.

Frost & Sullivan 9

Page 10: Rational - Taking Software Design and Development to the Next Level

Figure 3—Rational Application Developer: At the Core of Agile Development forthe WebSphere App Server

Rational Application Developer embraces agile development principles by integrating human collaboration with actual activity on machines, providing a way for businesses tobridge the communications gap. Rational Application Developer integrates with IBM’scollaborative application lifecycle management solution, Rational Team Concert, to provideindustry-unique capabilities such as “collaborative debugging,” which allow geographicallydispersed team members to troubleshoot applications at their convenience as they hand“debug sessions” back and forth. This is in addition to the IDE-integrated work managementand source-code management capabilities that are brought about as a result of Rational TemConcert and Rational Application Developer integration.

Other Rational Application Developer benefits include support for the cloud, as thedesktop IDE can provision and work with WebSphere Application Server instances on thecloud. A SaaS (Software as a Service) Tech Preview flavor of Rational Application Developeris available in the public cloud. Last but not least, Rational Application Developer is mission-critical ready, with 24x7 and 5+3 years of unparalleled support. This support, one of thestrong suits for the product, is superior when compared to competitive open sourceproducts and lower-cost IDE alternatives that provide end-users only with minimaldocumentation and support consisting of only a FAQ list and community postings.

Frost & Sullivan 10

Page 11: Rational - Taking Software Design and Development to the Next Level

HOW IBM STACKS UP AGAINST THE COMPETITION

Key intangibles of IBM Rational Software Architect & Rational ApplicationDeveloper Offerings

The main differentiators for Rational Software Architect include:

• UML: best in class, robust UML semantics and notation, open solution (based on Eclipse)

• Deployment planning and automation• Model validation: strong, open and extensible• Code generation and extensibility: provides a wide array of built-in generators

based on UML; extensive support for authoring custom model-to-model and model-to-text (code) transformations

• Team modeling/scalability: scales to very large models and teams; comprehensivegraphical model compare-merge

• Heterogeneity: open standards-based platform-independent modeling as well asplatform-specific MDD support for Java/JEE, (Linux-Unix) C++, .NET/C#, EGL…solutions deployable to a wide range of platforms

The key differentiators for Rational Application Developer include:

• Tight WebSphere Application Server Integration: Rational ApplicationDeveloper offers the most comprehensive development environment for WebSphereApplication Server

• Java EE, EJB, JPA and Web Services support: Rational Application Developer hasbest-of-breed tools for improving the developer productivity for Java EE

• SOA: best-of-breed Web services support (JAX-WS, JAX-RPC), SCA tools• Web 2.0: adds support for dojo, content assist, validation, drag and drop in visual

editor, support for WebSphere Web 2.0 Feature Pack• Code quality tools: static analysis, line level code coverage, runtime analysis and

profiling support on WebSphere Application Server• Portal/Debugging/J2C: best-of-breed portal and portlet tools (including visual

design), extensive debugging capabilities (mixed language, DB2, stored procedure, step-by-step, XSLT), support for accessing data and operations on EIS systems, and a host ofWebSphere adapters

• Documentation: comprehensive documentation delivered online or locally• Collaborative development: Rational Team Concert integration (Rational Team

Concert views integrated into Rational Application Developer perspectives),collaborative debug

CONCLUSIONS

As Thomas Friedman wrote in his best-seller “The World is Flat,” “…Introducing newtechnology alone is never enough. The big spurts in productivity come when a new technology iscombined with new ways of doing business.”

Frost & Sullivan 11

Page 12: Rational - Taking Software Design and Development to the Next Level

In this white paper, we discussed the ongoing challenges faced by software developers fromboth an architecture/design standpoint and a construction/development perspective. Wethen examined the IBM approach to these issues and the key intangibles of its IDE and MDEproducts.

In addition to these differentiators, we also highlighted how both solutions embrace the new “agile development” philosophy. This orchestration of both automated and human-centered tasks provides more consistency and predictability to the overall designand production process, leading to reduced error rates, less rework, shorter cycle time andlower expenses required to bring a software product to general availability.

As software companies increasingly focus on new ways to drive programmer productivity,we believe IBM is well-positioned to capture a leading mind share in the IDE and MDE spaceby providing developers with its latest release of Rational Software Architect and RationalApplication Developer.

Frost & Sullivan 12

Page 13: Rational - Taking Software Design and Development to the Next Level

ABOUT THE AUTHOR

Ronald Gruia is the Principal Analyst for Emerging Telecom at Frost & Sullivan. His main focus areas include NGN migrationstrategies, IMS (IP Multimedia Subsystems), 4G (LTE, WiMAX), FMC,VoIP, Next-Gen Carrier Messaging Platforms, IPTV, Triple Play Services,Application Enablement, Software Development, EnterpriseCommunications Systems and Unified Communications, among others.He has authored several reports, managed subscriptions, and has alsoled and played a key role in strategic consulting projects in these areas.

Since joining Frost & Sullivan in February of 2001, Mr. Gruia has spoken at conferences suchas Supercomm, VON, 3GSM, CTIA (IMS Summit), IMS Expo, Futurecom (Brazil), IP Comm,Fierce IPTV, Intel Communications Summit, IMS World Forum, TMIA, VMA, VON Canada, IPWorld Canada and Comdex Canada. He also writes articles for various publications (suchas IMS Magazine, VoIP Magazine, Telecommunications Magazine and Telemanagement), hasappeared on CNBC (U.S.), BNN, Report on Business Television and TechTV (Canada),Decision TV (Brazil) and Telecom TV (UK), and has been quoted in publications such asBusiness Week, Financial Times, Forbes, Wired, API, DJ Newswire, Reuters, MarketWatch,Network World, IT Business, IT World, Los Angeles Times, San Jose Mercury News, WirelessWeek, National Post, San Jose Mercury News and CIO Magazine.

Mr. Gruia is an MIT graduate in electrical engineering and has accumulated years ofexperience in the telecom industry, having held several roles at Nortel Networks'Enterprise Division, where he earned a U.S. patent. He also possesses years of experiencein all aspects of the software development cycle, including programming, code review,unit/system testing, and SCM (Software Configuration Management). He fluently speaksPortuguese, Spanish and Romanian and has working knowledge of Italian and French.

This paper is part of the ongoing coverage of worldwide ICT (Information andCommunications Technologies) markets by Frost & Sullivan (www.frost.com), aninternational growth consulting company. Working closely with our clients, we useadvanced market research methods to identify and analyze the critical marketchallenges they must address to become successful competitors in their industry.

Frost & Sullivan 13

Page 14: Rational - Taking Software Design and Development to the Next Level

14

877.GoFrost

[email protected]

http://www.frost.com

Silicon Valley331 E. Evelyn Ave. Suite 100

Mountain View, CA 94041

Tel 650.475.4500

Fax 650.475.1570

San Antonio7550 West Interstate 10, Suite 400,

San Antonio, Texas 78229-5616

Tel 210.348.1000

Fax 210.348.1003

London4, Grosvenor Gardens,

London SWIW ODH,UK

Tel 44(0)20 7730 3438

Fax 44(0)20 7730 3343

CONTACT US

ABOUT FROST & SULLIVAN

Frost & Sullivan, the Growth Partnership Company, partners with clients to accelerate theirgrowth. The company's TEAM Research, Growth Consulting, and Growth TeamMembership™ empower clients to create a growth-focused culture that generates,evaluates, and implements effective growth strategies. Frost & Sullivan employs over 50years of experience in partnering with Global 1000 companies, emerging businesses, and theinvestment community from more than 35 offices on six continents. For more informationabout Frost & Sullivan’s Growth Partnership Services, visit http://www.frost.com.

For information regarding permission, write:Frost & Sullivan331 E. Evelyn Ave. Suite 100Mountain View, CA 94041

Auckland

Bangkok

Beijing

Bengaluru

Bogotá

Buenos Aires

Cape Town

Chennai

Colombo

Delhi / NCR

Dhaka

Dubai

Frankfurt

Hong Kong

Istanbul

Jakarta

Kolkata

Kuala Lumpur

London

Mexico City

Milan

Moscow

Mumbai

Manhattan

Oxford

Paris

Rockville Centre

San Antonio

São Paulo

Seoul

Shanghai

Silicon Valley

Singapore

Sophia Antipolis

Sydney

Taipei

Tel Aviv

Tokyo

Toronto

Warsaw