Software development now "Mission Impossible"

03.08.2005
Von Kenneth Liew

Software development has been an increasingly complex and dynamic activity. Teams frequently perform parallel development on the same application, and multiple versions of applications need to be supported and run on different machines and operating systems. With the roll-out of roles-based software development tools from Borland, IBM and Microsoft, it is now ?mission possible? to make application development a repeatable business process.

Borland

Borland?s launch of the Core SDP (software delivery platform) is positioned as an integrated ALM (application life cycle management) platform for software delivery optimization. Core SDP is a role-based platform that provides a customized work environment for analysts, architects, developers and testers ? optimized for specific job functions and yet integrated across other roles within the application life cycle.

With Core SDP, the company adopts the model also embraced by Microsoft with its forthcoming Visual Studio Team System and IBM Rational?s Atlantic suite. Previously code-named ?Project Themis?, the initial release of Borland Core SDP covers four principal roles: architect, analyst, developer, and tester. (Others will be added later.) The tool chains for these roles are all built on a platform of services called Core Foundation, which includes a central team repository, versioning and configuration management, requirements management, software metrics and reporting, as well as collaboration and project-management capabilities.

Core Architect bundles UML modelling, support for design patterns, code audits, and metrics. The Core Analyst role places greater emphasis on capturing and defining requirements, analyzing impact of changes, and scheduling. Core Developer is the principal programming tool set, using either JBuilder 2005 or Eclipse as the IDE. Core Developer does not have the modelling or requirements tools of the first two roles, but it has profilers, testing frameworks, and static code analyzers, and it includes good support for J2EE and web services. It offers a developer-centric view into specifications, change requests, and test cases. Core Tester bundles greater testing and profiling resources, as well as test- and defect-management tools. It is intended to ensure applications achieve functional compliance and quality goals.

Borland Software began breaking up its Together ControlCenter package for UML modelling in October last year, separating it into products for developing, designing, and architecting applications.

Products released as the follow up to -ControlCenter included Together Designer, Together Developer and Together Architect.

UML 2.0 support was featured in the Together platform. ?(UML 2.0) provides you a structured schema or structure underneath your model that can later be used to automate generation of bits and pieces of your application,? said Tom Gullion, Together Business Unit Product manager at Borland. With Core SDP, the role modules integrate into a server-based platform which features CalibreRM, Together, StarTeam, Optimizeit performance testing, and the JBuilder IDE.

In terms of development platforms, -Borland continues to maintain its neutrality, supporting both Java and .Net worlds. ?I see this as a significant advantage for larger organizations, which almost invariably need to support both,? said Tim Jennings, analyst with the Butler Group. Currently, the roles in Core SDP are all Java-based. A Microsoft (Profile, Products, Articles) .Net-based version is also being planned. ?Core SDP has been designed to work with multiple development frameworks, and .Net and the (open source IDE) Eclipse framework are the two primary choices available,? said Jennings.

The release of Core SDP was accompanied by a significant announcement from Borland that it is expanding its support for Eclipse, an open source community and universal development platform supporting multiple languages, deployment platforms and technologies.

Borland said it will expand its use of Eclipse as a platform across its ALM product line and lead the proposal for a new graphical modelling framework that would build upon, bridge and extend the existing modelling technology within the Eclipse community.

?Eclipse, which, outside of the Microsoft environment, is rapidly becoming a de facto standard for development tool interoperability,? said Jennings of Butler Group.

Eclipse is an open, extensible industry-supported platform designed for building diverse applications. By providing a common interface, an optimized process that closely parallels how developers work and the ability to support collaborative development with a common user model, the platform is designed to enable increased productivity while leveraging existing and newly acquired tools.

IBM

Eclipse also plays a key role in IBM Rational?s Atlantic release, which Borland?s Core SDP is pitted against. Based on the open Eclipse 3.0 development framework, the new platform is designed to enable both corporate and third-party developers to craft complementary offers that will bolster IBM?s existing software development offerings.

?You?ll see a theme of the Eclipse environment as the integration framework that?s really integrating across the whole technology base? for IBM and Rational tools and for other products as well, said Mike Devlin, general manager of Rational Software in the IBM Software Group. IBM acquired Rational in 2003.

Officially released in October 2004, Atlantic has been heralded as the next major release of the IBM Software Development Platform, which features IBM?s and Rational?s tools.

?IBM has reaffirmed its commitment to the development environment that it released to the community by using Eclipse as the foundation for all its tooling. Having a common platform, interface and integration framework certainly gives credence to the company?s claim of being able to implement deep integration,? said Bola Rotibi of research firm Ovum.

Previously, architects would have been served by the Rational Rose XDE family; now they are served by Rational Software Architect. Developers had to contend with a number of different products such as the WebSphere Studio Family or the Rational Rose XDE Developer for Java. These have now been restructured to Rational Application Developer and Rational Web Developer, making their usage and functionality much clearer, he said. Rational Software Architect takes features from these tools, adds additional model-driven development capabilities, and introduces new structural review and control capabilities on the Eclipse 3.0 platform. A similar simplification has been directed at the testing tools with the new Rational Functional and Manual Tester and the Rational Performance Tester.

The Rational Unified Process encompasses all aspects of the software development life cycle. Key features include the iterative approach, which emphasizes software quality throughout the development life cycle. With the iterative approach, the customer sees a piece of working software with every cycle.

Included as part of Atlantic will be a new ClearCase client that enables isolated users to better participate in team-based application development, Devlin said. ClearCase enables activity-based change management through unified change management, which associates specific versions of files and directories with activities.

Atlantic features technologies in the Eclipse 3.0 platform for sharing development artefacts. The Eclipse Hyades integrated test and monitoring environment also is featured. Atlantic will offer support of technologies such as JavaServer Faces, for building interactive web pages; Service Data Objects, for linking applications to databases; UML 2.0 modelling, for automating model-driven architecture efforts; and real-time deployment to WebSphere. Also part of Atlantic is WebSphere Studio Device Developer 5.7, and three other tools: WebSphere API Toolkit, Workplace builder, and Workplace designer.

WebSphere Studio Device Developer 5.7 is intended to extend enterprise applications onto devices including cell phones, wireless systems, and PCs. Workplace API Toolkit is for integrating with the IBM Workplace platform. Workplace builder is a tool for business users with limited expertise in application development. Workplace designer provides a scripting tool for building stand-alone business applications or components with Workplace builder.

At the Rational Software Development Conference in May 2005, IBM announced new software that can automatically identify and help repair problems in business applications. The two new offerings ? IBM Problem Resolution Toolkit for Rational Application Developer and IBM Performance Optimization Toolkit for Rational Performance Tester ? enable a faster, automated and more coherent process for problem identification and resolution in business applications.

Microsoft

Microsoft, meanwhile, is strengthening its push into the enterprise software development space with its Visual Studio Team development tools. At the VSLive Conference in San Francisco earlier this year, it demonstrated its Visual Studio 2005 Team System, which provides for team-based development and application life cycle management.

The graphical package features role-based components for architecture, development, and testing as well as the Team Foundation component for version control, team-based reporting, item tracking, integration services, and other functions.

Like Borland?s Core SDP and IBM?s Rational?s Atlantic, Visual Studio 2005 Team System provides tools to support the entire software development team. However, Microsoft has chosen not to strictly adhere to UML as the basis for its modelling technology.

The Visual Studio 2005 Team Architect Edition includes integrated and productive tools for visually constructing service-oriented solutions that are designed from the onset for their deployment environments. Visual Studio 2005 Team Developer Edition equips developers with advanced static analysis, code profiling, code coverage, and unit testing tools that enable teams to design for quality, early and often throughout the life cycle. Visual Studio 2005 Team Test Edition equips testers with the tools they need to manage and run a wide assortment of tests, including unit tests, manual tests, web tests and advanced load testing tools that enable teams to verify the performance of applications prior to deployment.

Visual Studio 2005 Team Foundation delivers a series of project management tools based on software such as Microsoft Excel, Microsoft Project, and Windows SharePoint Services. A project site provides a dashboard view of project status and drill-down capability to stakeholders. A customizable project process, based on industry-proven practices, drives the life cycle. It also provides team collaboration tools that enable organizations to manage and track the progress and health of software projects.

The Portfolio Explorer integrates these same project work products found on the project site into the Visual Studio IDE for effective team access. Visual Studio 2005 Team Foundation also provides an extensible work item tracking system and enterprise-class source code control.

According to Jennings of Butler Group, the emergence of such tools is essential if organizations are to achieve greater predictability and improved success rates. ?Effective processes must be deployed which extend across the whole application life cycle, allied to disciplines such as software metrics, testing, risk management, portfolio management, and project management.?