michael solomon tugboat software managing the software development process

25
Michael Solomon Tugboat Software Managing the Software Development Process

Upload: brett-nicholson

Post on 23-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Michael SolomonTugboat Software

Managing the Software Development Process

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.3

Software Development

© 2011 Tugboat Software. All rights reserved.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?

© 2011 Tugboat Software. All rights reserved.5

Software Configuration Management

Software Configuration Management is the discipline of managing the entire

life cycle of a software project.

© 2011 Tugboat Software. All rights reserved.6

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

SCM Benefits

Improves• Product protection• Product visibility• Product control• Team communication• Customer confidence

Decreases• Rework• Confusion• Project risk

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.10

Identify application components Define the physical and functional hierarchy Identify application configurations

Configuration Identification

© 2011 Tugboat Software. All rights reserved.11

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

Configuration Control

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.14

Logical Schema - PDBASE

Database Object Definition PDBASE is a collection of...

• PFILE Objects• Sequence definitions

Sports2000 (WIP) 2.0.0

Customer 1.0.0

Order 2.0.0

OrderLine 1.1.0

Warehouse 1.0.0

PFILE assignments are attributes of

this version of the PDBASE Object

© 2011 Tugboat Software. All rights reserved.15

Customer (1.0.0)

CustNum

Name

City

Logical Schema - PFILE

Different versions of PFILE Objects can have…• Different PFIELD Object assignments• Different Index Definitions

Customer (2.0.0)

CustNum

Name

City

Hairstyle

New PFIELD Object

assignment for this version

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.17

Change Request Form and Log

Describing the desired

change

Thoroughly analyzing the

change

Decision and formal

approval

Project Name:

TrackingNumber Item Type Systems/Subsystems Short Description of Change Urgency Requestor

DateSubmitted

Analysis AssignedTo: Result

Change Request Log

Keeping track of all the desired changes

© 2011 Tugboat Software. All rights reserved.18

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 Status Accounting

© 2011 Tugboat Software. All rights reserved.19

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

Configuration Auditing

© 2011 Tugboat Software. All rights reserved.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.)

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.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

© 2011 Tugboat Software. All rights reserved.25

Questions