managing the software development process n.
Skip this Video
Loading SlideShow in 5 Seconds..
Managing the Software Development Process PowerPoint Presentation
Download Presentation
Managing the Software Development Process

Loading in 2 Seconds...

play fullscreen
1 / 25

Managing the Software Development Process - PowerPoint PPT Presentation

  • Uploaded on

Managing the Software Development Process. Michael Solomon Tugboat Software. Session Agenda. Software Development – Business needs Software Configuration Management (SCM) SCM Concepts SCM Benefits Case study SCM activities Controlling the schema Selecting an SCM tool Questions.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Managing the Software Development Process' - annot

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
managing the software development process

Managing the Software Development Process

Michael Solomon

Tugboat Software

session agenda
Session Agenda
  • Software Development – Business needs
  • Software Configuration Management (SCM)
    • SCM Concepts
    • SCM Benefits
  • Case study
  • SCM activities
  • Controlling the schema
  • Selecting an SCM tool
  • Questions
business needs
Business Needs
  • Respond to customers’ needs
    • Understand and deliver the right features
    • Deliver frequent enhancements
      • But not too frequent
  • Build trust
    • Maintain high quality standards
  • Know what you have
    • What features are currently in your software?
    • What new features are ready to release?
    • When will future features be ready to release?
    • What obstacles do you routinely encounter?
software configuration management
Software Configuration Management

Software Configuration Management is the discipline of managing the entire life cycle of a software project.

scm k ey activities
SCM Key Activities
  • Four key SCM activities:
    • Identification of work products and baselines
    • Control of proposed changes to application items (approval/rejection)
    • Status accounting of configuration data and changes
    • Auditing to maintain the integrity of the configuration baselines
scm benefits
SCM Benefits
  • Improves
    • Product protection
    • Product visibility
    • Product control
    • Team communication
    • Customer confidence
  • Decreases
    • Rework
    • Confusion
    • Project risk
case study challenges
Case Study - Challenges
  • Culligan International Company
    • Water filtration, softener, and delivery
  • QAD software
  • Software customizations were uncontrolled
    • Difficult to track changes between multiple developers
    • Deployment required tedious intervention
    • Keep customizations separate from vendor code
    • SOX compliance requirements
    • Many problems were due to lack of version/configuration control
case study needs
Case Study - Needs
  • Culligan needed to get a handle on their software development process
  • Needs included:
    • Method to identify snapshots of their application
    • Better visibility of ongoing changes
    • Ability to “undo” harmful changes
    • Assurance that customer requests are being met
    • Tools and techniques to create repeatable processes
configuration identification
Configuration Identification
  • Identify application components
  • Define the physical and functional hierarchy
  • Identify application configurations
configuration control
Configuration Control
  • Establish configuration security
  • Manage application changes
    • Define the problem first, not the solution
    • Document process and impact of changes
    • Approve/reject each change
    • Only implement approved changes
  • Define workflow
    • Determine how a change flows from request to deployment
schema objects
Schema Objects
  • Database schema definitions
    • Database
    • Table
    • Field
  • Creates dependency for data-related source code
    • Changes to schema often requires code changes
  • Configurations (application component descriptions) depend on source code AND schema
  • Lack of schema control increases risk
schema object types
Schema – Object Types
    • Database Object Definition
    • File Object definition
    • Field Object definition

Sports2000 - 2.0.0

Sports2000 -1.0.0

Customer -1.1.0

Customer -1.0.0

Customer.Name -1.0.0

Customer.Number -1.0.0

logical schema pdbase
Logical Schema - PDBASE
  • Database Object Definition
  • PDBASE is a collection of...
    • PFILE Objects
    • Sequence definitions

PFILE assignments are attributes of this version of the PDBASE Object

logical schema pfile
Logical Schema - PFILE
  • Different versions of PFILE Objects can have…
    • Different PFIELD Object assignments
    • Different Index Definitions

New PFIELD Object assignment for this version

coordinated control
Coordinated Control
  • SCM for database applications must manage
    • Source code
    • Schema
  • Complete SCM implementation supports all 4 activities for all application components
  • Many schema and code changes are dependent on one another
    • Cannot deploy code without schema changes
    • Cannot deploy schema changes without code
  • You must address schema management issues
change request form and log
Change Request Form and Log

Thoroughly analyzing the change

Describing the desired change

Decision and formal approval

Keeping track of all the desired changes

configuration status accounting
Configuration Status Accounting
  • Identify changes made to configuration
    • Maintain records of changes to all objects throughout the application’s life cycle
  • Identify work in process
  • Document contents of all builds
  • Generate periodic status reports
configuration auditing
Configuration Auditing
  • Ensure existence of required components
    • Maintains integrity of each configuration
    • Audits ensure each configuration contains the correct versions
  • Review configuration changes
  • Audits generally correspond to major milestones
scm records
SCM Records
  • SCM Plan – high-level document that includes responsibilities, process, and configuration descriptions
  • Schedule – list of scheduled SCM activities
  • Change Request Plan – procedure for handling all change requests
  • Change Configuration Board operating procedures and minutes
  • Audit results
  • Ongoing communication (e-mail messages, reports, etc.)
scm tools
SCM Tools
  • Many version control tool sets
  • Fewer SCM tools
  • Good comparison of language-agnostic tools
    • (No Roundtable review)
  • Most common tools for OpenEdge SCM
    • Roundtable
    • Mecurial
    • CVS
    • Subversion
case study choice
Case Study - Choice
  • Culligan chose Roundtable TSMS
  • Primary reasons
    • OpenEdge integration
    • Schema management
    • Easily extensible - Integrated bug tracking system with Roundtable
    • Controlled promotion process
      • Development
      • Testing
      • Production
    • Tracks change responsibility and reason
    • Robust security model to restrict activities
case study results
Case Study - Results
  • Happy auditors
    • On-demand reports of all changes
    • Separation of roles
  • Happy managers
    • Controlled schema
    • Work in process visibility
    • Bug tracking integration means easy to relate bugs to fixes
    • Simpler code promotion process
  • Happy (mostly) developers
    • Easier to avoid conflicts with multiple programmers working on the same code
    • Easy to get tons of information about objects
  • Start with your business needs
  • Understand how SCM can help meet needs
    • SCM Concepts
    • SCM Benefits
  • See how other businesses have done it
  • Explore how SCM activities will impact your process
  • Consider how different SCM tools will support your development efforts
  • SCM is more than just installing a tool