Empowering Agile Development with CaliberRM

Empowering Agile Development with CaliberRM

Jerry Odenwelder

 

Test-first speaking 🙂 (they had to troubleshoot and test the recording software before the session started)

 

Likes agile – customer involvement, lots of testing

 

  • Individuals and Interaction: People are not pluggable units
  • Customer Collaboration: Customers are ultimate beneficiaries, so need to be involved
  • Working Software: is what adds value to the business
  • Adaptive: Change the process as needed.

Agile Requirements

  • User Stories
    • Can break down into one or many requirements
  • Describes a unit of work that contributes to business value
  • Created by, and owned by, the customer
  • Meets the PET criteria
    • Can be Prioritized
    • Can be Estimated
    • Can be and Tested

Why Use a Tool (instead of index cards)

  • Automation (cut/paste)
  • Disaster recovery
  • Reporting
  • Traceability
  • Distributed Development
  • Scalability
  • Customer is not available

CaliberRM Supporting Agile

  • Light Weight
    • Expert Client
    • Cross-Platform / Web Client
  • Works in your environment (Delphi, etc.)
  • Get the bureaucracy off your back
    • Document generation
    • Reporting
  • Everyone is on the same page
    • Central server

Managing User Stories

  • Rich text editor
  • Attach pictures
    • Take a picture of the napkin and put it in as a requirement
    • No zooming support in the current version
  • Embedded tables (e.g., Fitness)
  • Glossaries: business can write terms they’re familiar with, they’ll automatically be highlighted in the text, and when the programmer hovers over them, they find out what the acronym means
  • Could create a requirement type of “Backlog” and another called “Sprint Backlog”
  • User-defined attributes, e.g., complexity, iteration, requires spike

Collaboration

  • E-mail notifications (customize per group); registered interest
  • Threaded discussions
    • Record hallway discussions
    • If the customer isn’t immediately available, could post questions and get responses back
    • When you log into Caliber, you get a pop-up notification (can disable, can run explicitly later) showing which discussion items you haven’t read yet

Decrease time of meetings

  • Filtering: Remove data from grid that’s not important for this meeting; sort
    • Can save the grid settings and reload them later
  • Edit right there during the meeting

Maintains history of changes

  • Records how requirements change over time
  • Go back and review old version of requirements
  • Document Factory can produce documentation (which even includes the picture of the napkin)
  • History tab: top pane shows history of changes, bottom pane shows what changed in any particular rev
  • No way to require (at the server side) comments for each change

Manage Dependencies

  • Valuable for
    • Impact of change
    • Risk assessment
    • Planning
  • Important Agile Traces
    • Dependent requirements
    • Project tasks
    • Model components
    • Validation procedures
  • Tracing to
    • External files (might be a bad idea in Agile, since the files might change frequently)
      • External revision control system?
    • TestDirector
    • StarTeam
  • View trace matrix
  • When you change one item, the items it feeds into are marked as suspect, so you can go and review them

Baselines

  • Isolate requirements for a release or iteration
  • Once a requirement has been put into a baseline, it can’t be modified through normal editing (you have to explicitly go into Baseline Maintenance)
  • Baselines support digital signatures (if you have compliance issues)
  • Once a baseline is locked (signed), it can’t be unlocked (for compliance reasons)
  • Can diff two baselines, or current baseline with old baseline

Security

  • Supported to User-Defined Attribute level
  • Q: If you’re in an agile environment, do you need security? A: It might not be a bad idea to keep the customer from editing the estimates (grin). Maybe the developer shouldn’t be able to edit descriptions or iteration numbers. And if you’re working with a third-party vendor, you’d want to rein that in as well. The person who drives the meetings should probably have all access.

Conclusion

  • Change is inevitable; embrace it
  • Requirement Capture and Understanding
  • Planning and Risk Analysis
  • Tracking Progress
  • Post Mortems

Q: What happens if you have an unreliable network connection that dies while you’re working? A: Anything they were working on, but hadn’t saved yet, will be lost. The requirement they were editing will be locked until the session times out (or the admin logs off their session).

 

Q: How do you make sure the story gets QA’ed and documented? A: You would probably want to use user-defined attributes for that (possibly in combination with the built-in Status and Priority attributes). Find them by setting filters on the requirements grid.

Leave a Reply

Your email address will not be published. Required fields are marked *