1 / 25

Managing the Software Development Process

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.

annot
Télécharger la présentation

Managing the Software Development Process

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Managing the Software Development Process Michael Solomon Tugboat Software

  2. 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

  3. Software Development

  4. 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?

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

  6. 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

  7. SCM Benefits • Improves • Product protection • Product visibility • Product control • Team communication • Customer confidence • Decreases • Rework • Confusion • Project risk

  8. 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

  9. 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

  10. Configuration Identification • Identify application components • Define the physical and functional hierarchy • Identify application configurations

  11. 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

  12. 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

  13. Schema – Object Types • PDBASE • Database Object Definition • PFILE • File Object definition • PFIELD • 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

  14. 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

  15. Logical Schema - PFILE • Different versions of PFILE Objects can have… • Different PFIELD Object assignments • Different Index Definitions New PFIELD Object assignment for this version

  16. 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

  17. Change Request Form and Log Thoroughly analyzing the change Describing the desired change Decision and formal approval Keeping track of all the desired changes

  18. 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

  19. 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

  20. 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.)

  21. SCM Tools • Many version control tool sets • Fewer SCM tools • Good comparison of language-agnostic tools • http://better-scm.shlomifish.org/comparison/comparison.html • (No Roundtable review) • Most common tools for OpenEdge SCM • Roundtable • Mecurial • CVS • Subversion

  22. 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

  23. 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

  24. Summary • 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

  25. Questions

More Related