ALM Case Study: A Government Project Success Story

Download Report

Transcript ALM Case Study: A Government Project Success Story

1186
A Government Project Success Story
with Borland ALM
Andrew Alsup
Senior 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
Defining the Process
Important Factors
• Loosely defined (evolving) requirements
• Aggressive schedule
• Limited funding
Agile Process
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 projectlevel 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 surprises
Team
– 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 References
Borland 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 Story
with Borland ALM
Please fill out the speaker evaluation
You can contact me further at …
[email protected]