32
1186 A Government Project Success Story with Borland ALM Andrew Alsup Senior Systems Engineer Log.Sec Corporation

1186 A Government Project Success Story with Borland ALM Andrew Alsup Senior Systems Engineer Log.Sec Corporation

Embed Size (px)

Citation preview

1186A Government Project Success Story

with Borland ALM

Andrew AlsupSenior Systems Engineer

Log.Sec Corporation

Introduction

• The US Army Environmental Center undertook a medium-sized J2EE software development project

• Borland Enterprise Studio was chosen because it embodied the principles of ALM

• The project as developed using the Borland tools illustrates the value of ALM

Topics

• Technical Architecture of the Software Application

• Defining the Process • Motivation to use Borland Enterprise Suite• Applying Borland Enterprise Suite for ALM• Customer Perspective• Conclusions• Web References• Demo

Technical Architecture of the Software Application

Technical Architecture of the Software Application

Web-based transaction-oriented J2EE application Server Platforms

– Oracle OC4J 9.0.3 J2EE App Server– Oracle 9i DBMS

APIs/Frameworks– J2EE 1.3 (Servlet 2.3, JSP 1.2)– Struts 1.1, Tiles, JSTL

– In-house object/relational persistence framework Misc

– Ant, JUnit – RoboHelp

Defining the Process

• Loosely defined (evolving) requirements• Aggressive schedule• Limited funding

Defining the Process

Agile Process

Important Factors

Defining the Process

Choosing an agile process– XP (eXtreme Programming)

• Test oriented implementation• Simplicity

– Scrum• Development iterations (30 day sprints)

– FDD (Feature Driven Development)• Feature-by-feature implementation

Defining the Process

JAD sessions– Users + Government + PM + Developers– Held at regular monthly intervals – Narrow scope and focus

– Demonstration, discussion, prioritization

Defining the Process

Requirements

– Software: requirements should be changeable– Capturing requirements above the project-

level scope– Reusing requirements from a previous project– Adaptive (agile) approach: validating reuse

through demos– Requirement granularity: objective testability

Defining the Process

Agile Modeling (Design)– Simplicity: More isn’t always better – Flexibility: Dealing with changing

requirements – Use what works:

• UML• CRC (Class Responsibility Collaborator)

cards• Whiteboard and sticky notes

Defining the Process

Agile Development – Communication!– Standardize frameworks and code

implementation– If it doesn’t compile (or breaks existing

code) – don’t check it into StarTeam

Defining the Process

Testing– “If it’s not tested, it’s broken” (Bruce

Eckel, Thinking in Java) – Unit tests and database-centric objects– Lazy optimization– Functional testing plan

Motivation to use Borland Enterprise Suite

Motivation to use Borland Enterprise Suite

• Extensive ALM capabilities• Flexibility • Productivity• Collaboration• Integration

Motivation to use Borland Enterprise Suite

Extensive ALM capabilities – Define: CaliberRM– Design: Together– Develop: JBuilder– Test: OptimizeIt– Manage: StarTeam

Motivation to use Borland Enterprise Suite

Flexibility – Not tied to a particular process (i.e. RUP, XP,

etc.) – Accommodate varying design approaches on

different projects – User-defined requirement fields, categories,

and hierarchies

– Extensive, customizable pattern support

Motivation to use Borland Enterprise Suite

Productivity – Real-time team collaboration – LiveSource (real-time model and code

synchronization) – Two-way visual designer and wizards for Struts – Templates, synch edit– Code folding, filters in structure pane – Refactoring – CodeInsight, ErrorInsight, JavadocInsight,

ScopeInsight, TagInsight

Motivation to use Borland Enterprise Suite

Collaboration – Centralized repository

• Requirements, defects, change-requests, tasks, discussions

• Source code, diagrams• Documentation

– Interactive discussion threads– Requirement/defect/change-request tracking

and developer assignment and notification

Motivation to use Borland Enterprise Suite

Integration – JBuilder IDE is the ALM cockpit – LiveSource: Forward/reverse

engineering between model/code – Link requirements and change-requests

to design/code artifacts – 3rd party integration: local/remote

deployment, debugging, and optimization

Applying Borland Enterprise Suite for ALM

Applying Borland Enterprise Suite for ALM

ALM: Define (CaliberRM)Management

– Improved assignment, prioritization,and tracking of defects and change-requests

– Real-time progress mitigates schedule surprisesTeam

– Significant reduction in email traffic, inbox clutter, and supporting hard-copy documents

– Requirements are stored in StarTeam: versioned with the other artifacts

Applying Borland Enterprise Suite for ALM

ALM: Design (Together)Management

– Enhanced developer productivity due to model/source integration

– PM insight into status and progress via linked requirements

Team– Easier to assess impact scope of a change/enhancement

via linked requirements– Better understanding == Better quality

• LiveSource: Seeing the forest and the trees• Sequence Diagrams: Peeling away the layers of complex

operations is easy

Applying Borland Enterprise Suite for ALM

ALM: Develop (JBuilder)

Management– Developer productivity: IDE is integration focal point– Be conscious of licensing model impacts on developers

Team– IDE: much more than a syntax highlighter– Integration: Together, OptimizeIt, StarTeam, CaliberRM,

OC4J– Linking code artifacts to requirements and change-requests– Stable, responsive interface

Applying Borland Enterprise Suite for ALM

ALM: Test (OptimizeIt)

Management:– More robust, scalable product

Team:– Memory and CPU profilers can help track

down tough problems• Long-running methods, bottlenecks• Memory leaks, frequent garbage collection

Applying Borland Enterprise Suite for ALM

ALM: Manage (StarTeam)Management

– Enhanced project tracking– Real-time status on requirements, code,

and testing results.Team

– Centralized everything related to the project– The StarTeam pane in JBuilder = developer’s daily

planner

Customer Perspective

Customer Perspective

“We were able to develop a quality complex financial reporting system for the U.S. Army Environmental Center that was 20% under budget, delivered 3-weeks ahead of schedule, and with less resource intensity.” (USAEC, 2004)

The product has undergone extensive testing by an Independent Validation and Verification (IV&V) company

Conclusions 

As a 1st project with Borland Enterprise Suite– We are committed to expanding on and

replicating our success with the tools.– We anticipate even greater success on

future projects.

Web ReferencesBorland ALM

– http://www.borland.com/alm

Agile Modeling– http://www.agilemodeling.com

Agile Development– http://agilealliance.org– http://www.martinfowler.com– http://controlchaos.com (Scrum)– http://www.extremeprogramming.org (XP)– http://www.featuredrivendevelopment.com (FDD)

Demo

Thank You

1186

A Government Project Success Storywith Borland ALM

Please fill out the speaker evaluation

You can contact me further at …[email protected]