MANAGING THE SOFTWARE DEVELOPMENT PROCESS Michael Solomon, CISSP PMP CISM
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 2011 Tugboat Software. All rights reserved. 2
Software Development 2011 Tugboat Software. All rights reserved. 3
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? 2011 Tugboat Software. All rights reserved. 4
Software Configuration Management Software Configuration Management is the discipline of managing the entire lifecycle of a software project. It creates a structure based on the principles of the manufacturing industry that delivers repeatable, highquality production of software applications. 2011 Tugboat Software. All rights reserved. 5
SCM Key Activities Four key SCM activities: 1. Identification of work products and baselines 2. Control of proposed changes to application items (approval/rejection) 3. Status accounting of configuration data and changes 4. Auditing to maintain the integrity of the configuration baselines 2011 Tugboat Software. All rights reserved. 6
SCM Benefits Improves Product protection Product visibility Product control Team communication Customer confidence Decreases Rework Confusion Project risk 2011 Tugboat Software. All rights reserved. 7
Case Study - Challenges 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 2011 Tugboat Software. All rights reserved. 8
Case Study - Needs Culligan needed to get a handle on their software development process 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 2011 Tugboat Software. All rights reserved. 9
Configuration Identification Identify application components Define the physical and functional hierarchy Identify application configurations 2011 Tugboat Software. All rights reserved. 10
RTB Repository Exploring 2011 Tugboat Software. All rights reserved. 11
Object Search 2011 Tugboat Software. All rights reserved. 12
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 2011 Tugboat Software. All rights reserved. 13
RTB Tasks Tasks promote good workflow practices Tracking work done Check-in groups of objects Visibility to management Keep track of concurrent work Visibility of other, related work 2011 Tugboat Software. All rights reserved. 14
Task Lifecycle Tasks follow structured lifecycle Task lifecycle steps Create task Checkout/create objects Modify objects Compile objects Checkin objects Complete task 2011 Tugboat Software. All rights reserved. 15
RTB Object Checkout 2011 Tugboat Software. All rights reserved. 16
RTB Development 2011 Tugboat Software. All rights reserved. 17
RTB 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 2011 Tugboat Software. All rights reserved. 18
Schema Object Types Sports2000-2.0.0 Sports2000-1.0.0 Customer -1.1.0 PDBASE Database Object Definition PFILE File Object definition PFIELD Field Object definition Customer -1.0.0 Customer.Name -1.0.0 Customer.Number -1.0.0 2011 Tugboat Software. All rights reserved. 19
Logical Schema - PDBASE Sports2000 (WIP) 2.0.0 Customer 1.0.0 PFILE assignments are attributes of this version of the PDBASE Object Order 2.0.0 OrderLine 1.1.0 Warehouse 1.0.0 Database Object Definition PDBASE is a collection of... PFILE Objects Sequence definitions 2011 Tugboat Software. All rights reserved. 20
Logical Schema - PFILE Different versions of PFILE Objects can have Different PFIELD Object assignments Different Index Definitions Customer (1.0.0) Customer (2.0.0) CustNum Name City CustNum Name City New PFIELD Object assignment for this version Hairstyle 2011 Tugboat Software. All rights reserved. 21
Coordinated Control SCM for database applications must manage Source code Schema Complete SCM implementation supports all four 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 2011 Tugboat Software. All rights reserved. 22
Change Request Form and Log Thoroughly analyzing the change Describing the desired change Decision and formal approval P r o je c t N a m e : C h a n g e R e q u e s t L o g T r a c k in g D a t e An alysis Assig n ed N u m b e r It e m T y p e S y s t e m s /S u b s y s t e m s S h o r t D e s c r ip t io n o f C h a n g e U r g e n c y R e q u e s t o r S u b m it t e d To: R e s u lt Keeping track of all the desired changes 2011 Tugboat Software. All rights reserved. 23
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 2011 Tugboat Software. All rights reserved. 24
RTB History View 2011 Tugboat Software. All rights reserved. 25
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 2011 Tugboat Software. All rights reserved. 26
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-mails, reports, etc.) 2011 Tugboat Software. All rights reserved. 27
SCM Tools Many version control tool sets; fewer SCM tools Good comparison of language-agnostic tools SclomiFish.org (No Roundtable review) Most common tools for OpenEdge SCM Roundtable TSMS Mercurial CVS Subversion 2011 Tugboat Software. All rights reserved. 28
Case Study - Choice Culligan chose Roundtable TSMS 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 2011 Tugboat Software. All rights reserved. 29
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 Easy to get tons of information about objects 2011 Tugboat Software. All rights reserved. 30
Summary 1. Start with your business needs 2. Understand how SCM can help meet needs SCM concepts SCM benefits 3. See how other businesses have done it 4. Explore how SCM activities will impact your process Consider how different SCM tools will support your development efforts Remember, SCM is more than just installing a tool 2011 Tugboat Software. All rights reserved. 31
Questions For more information, visit www.roundtable-tsms.com and www.roundtable-team.com. 2011 Tugboat Software. All rights reserved. 32