Questionnaire: Access your SCM Process in Project

TABLE OF CONTENTS

1…… General Assessment Questions. 2

1.1     Questions to analyze the development process description.. 2

1.2     Questions to characterize the project application.. 2

1.3     Questions to identify the supporting tools. 2

2…… Assessment on Configuration and Change Management   2

2.1     Project/Development Managers. 2

2.2     Developers. 3

2.3     Testers. 3

2.4     Configuration Manager. 3

3…… Assessment on Build and Release Management.. 3

3.1     Build Engineer. 3

3.2     Release Engineer. 4

 

1           General Assessment Questions

1.1      Questions to analyze the development process description

 

Which of the following do you get from your existing process?

·         Examples

·         Guidelines

·         Artifact templates

·         Activity descriptions

·         Artifact descriptions

 

1.2      Questions to characterize the project application

 

  • What is the size of each project (duration, persons, person years,  LOC)

·         What type (maintenance / enhancement / new development / prototype /

§  feasibility)

  • What type of development model is being used?
  • Are we using any process models like UCM, RUP or any other?
  • Any industry/domain specific standards (like CMMI, ITIL etc.) to be followed?

 

1.3      Questions to identify the supporting tools

 

·         What are the tools that you currently use in your work?

·         How is the integration among the above tools?

·         Are we using the tool features the way they are designed or intended?

 

2           Assessment on Configuration and Change Management

2.1         Project/Development Managers

 

·         How do you maintain all the artifacts together and version them?

·         Where are the people working on the project located?

·         What’s the difference between Developer CM and Release CM?

·         How do you assess, and track the impact of a proposed change?

·         How do you manage system integration of modules developed by individual developers?

·         How many product versions are you supporting at this moment?

·         Who is the designated Configuration Manager?

 

 

2.2         Developers

 

·         How do you baseline project artifacts?

·         Can you build your system reliably and repeatedly?

·         Explain your labeling scheme?

·         Can you show me what versions went into a certain release?

·         What does the version tree for this file look like?

·         How many product versions are you supporting at the moment?

·         What is the version control tool being used? Is it user friendly?

·         What is the bug tracking/change management tool being used? Is it user friendly?

 

2.3         Testers

·         Do you know what files/documents should be delivered?

·         How do you assess, and track the impact of a proposed change?

·         Can you show me what artifact versions went into a certain release?

·         How comfortable are you working with Bug/Change management tool?

 

2.4         Configuration Manager

·         Do you know what files/documents should be delivered?

·         How do you track who changed what, when, where, and why?

·         How long does a build or release take?

·         Is there a Configuration Management Plan document?

·         Is there a tight integration between Version control tool and Bug/Change tracking tool?

·         How the parallel (if any) development is enabled? Any limitations with the current branching strategy?

·         Is this project development spanned across multiple sites? If so, what is your multi-site strategy?

 

3          Assessment on Build and Release Management

3.1         Build Engineer

 

  • What is the build process adopted (automated/manual)?
  • Are there nightly builds?
  • Is there continuous integration?
  • Are there smoke and sanity tests at the end of the build?
  • What is the build acceptance criterion (BAT)?
  • What is the build duration? Is it optimal?
  • How are pre-conditions to the build verified?
  • Are there any build environment integrated automated unit test-cases?
  • Is there any enforcement tool on coding standards?
  • Is there any code coverage tool being used?
  • Are the post build activities automated?
  • Any additional practices (like checksum generation, signing the build artifacts) in place as part of the build?
  • Are there any scripting technologies used in automating build process?
  • Is Labeling strategy well-defined?
  • If any third party tool is being used for packaging, is that package creation process automated?

 

3.2         Release Engineer

 

  • How many major, minor releases a year per project?
  • How many customers per release per project?
  • How do you deliver the releases to the customers? – Is it physical media distribution or Push/Pull mechanism from web or any other process?
  • Is the distribution CD/DVD creation process automated?
  • What is the size of the release deliverable?
  • What are the contents of a release?
  • How is the release bundle tested?
  • How many platforms are certified? How different are the release packages?
  • Is there any release check-list for cross-check?
  • Is any part of the release process automated?
  • Is there a need for i18n? If yes, is the i18n release handled separately?
  • In case of installers, is there installer testing? Is it automated?
  • Is the release schedule well-planned?
  • Are you delivering patches in well constructed and cost effective way?
  • Is there any release audit process in place?
  • How are you tracking your releases?
  • Is there any legal compliance in place while shipping the release to the customers?