Title: ALM Case Study: A Government Project Success Story
11186
A Government Project Success Storywith Borland
ALM
Andrew AlsupSenior Systems EngineerLog.Sec
Corporation
2Introduction
- 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
3Topics
- 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
4Technical Architecture of the Software Application
5Technical 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
6Defining the Process
7Defining the Process
Important Factors
- Loosely defined (evolving) requirements
- Aggressive schedule
- Limited funding
Agile Process
8Defining 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
9Defining the Process
- JAD sessions
- Users Government PM Developers
- Held at regular monthly intervals
- Narrow scope and focus
- Demonstration, discussion, prioritization
10Defining 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
11Defining the Process
- Agile Modeling (Design)
- Simplicity More isnt always better
- Flexibility Dealing with changing requirements
- Use what works
- UML
- CRC (Class Responsibility Collaborator) cards
- Whiteboard and sticky notes
12Defining the Process
- Agile Development
- Communication!
- Standardize frameworks and code implementation
- If it doesnt compile (or breaks existing code)
dont check it into StarTeam
13Defining the Process
- Testing
- If its not tested, its broken (Bruce Eckel,
Thinking in Java) - Unit tests and database-centric objects
- Lazy optimization
- Functional testing plan
14Motivation to use Borland Enterprise Suite
15Motivation to use Borland Enterprise Suite
- Extensive ALM capabilities
- Flexibility
- Productivity
- Collaboration
- Integration
16Motivation to use Borland Enterprise Suite
- Extensive ALM capabilities
- Define CaliberRM
- Design Together
- Develop JBuilder
- Test OptimizeIt
- Manage StarTeam
17Motivation 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
18Motivation 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
19Motivation 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
20Motivation 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
21Applying Borland Enterprise Suite for ALM
22Applying 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
23Applying 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
24Applying 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
25Applying 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
26Applying 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 developers daily
planner
27Customer Perspective
28Customer 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 (IVV)
company
29Conclusions
- 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.
30Web 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)
31Demo
32Thank You
- 1186
- A Government Project Success Storywith Borland
ALM - Please fill out the speaker evaluation
- You can contact me further at aalsup_at_logsec.com