Upload
vanessa-hardy
View
214
Download
0
Tags:
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
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
• 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
• 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
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
“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)
Thank You
1186
A Government Project Success Storywith Borland ALM
Please fill out the speaker evaluation
You can contact me further at …[email protected]