Recommended Configuration Management Practices for Freelance Software Developers

Similar documents
Project Management Institute (PMI) Practice Standard for Configuration Management

MIS Systems & Infrastructure Lifecycle Management 1. Week 9 March 17, 2016

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

Buy:

Software Development Life Cycle (SDLC) Tata Consultancy Services ltd. 12 October

Software Testing Life Cycle

Building a Rational Software Configuration Management Environment for the IBM e- Business Platform

Program Lifecycle Methodology Version 1.7

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

IT Service Management with System Center Service Manager

ENTERPRISE OPERATIONS SERVICES

1.0 PART THREE: Work Plan and IV&V Methodology

A CASE STUDY ON THE CHALLENGES AND TASKS OF MOVING TO A HIGHER CMMI LEVEL

The Impact of Requirements on Software Quality Across Three Product Generations

IT Service Management with System Center Service Manager

Challenges in Archiving SharePoint documents to a file server / file share

A Holistic Qualitative Approach to Software Reliability

CMMI Version 1.2. Model Changes

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Texas Department of Human Services Long Term Care Regulatory, page 1. Nomination Form

SYNOPSIS. Software design, development and testing have become very intricate with the advent of

COPYRIGHTED MATERIAL. Production-Ready Software. Part I. Chapter 1: Production Readiness. Chapter 2: The Quality Landscape

The SAM Optimization Model. Control. Optimize. Grow SAM SOFTWARE ASSET MANAGEMENT

Build Capabilities to Win

Software configuration management

Deliverable: 1.4 Software Version Control and System Configuration Management Plan

Course Outline (10996A)

Page # Configuration Management Bernd Brügge Technische Universität München Lehrstuhl für Angewandte Softwaretechnik 11 January 2005

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

CHAPTER 5 INFORMATION TECHNOLOGY SERVICES CONTROLS

Testing strategies for stakeholders in Component Based Software Development

Success story of migrating an ongoing J2EE project from Microsoft VSS to IBM Rational ClearCase

Support for Capability Maturity Model Integration

Design, Install and Manage System Center 2012 Operations Manager

Configuration Management

A Framework for Maturity Assessment in Software Testing for Small and Medium-Sized Enterprises

Child Welfare Digital Services Project Service Asset and Configuration Management Plan

How mature is my test organization: STDM, an assessment tool

Trusted Computing Exemplar: Configuration Management Plan

COURSE OUTLINE MOC 20332: ADVANCED SOLUTIONS OF MICROSOFT SHAREPOINT SERVER 2013 MODULE 1: UNDERSTANDING THE SHAREPOINT SERVER 2013 ARCHITECTURE

Using Software Process Simulation to Assess the Impact of IV&V Activities 1

White Paper. Managed IT Services as a Business Solution

Taming the Information Explosion

Course 55004A: Installing and Configuring System Center 2012 Operations Manager

Managing Production Systems

System Center 2016 Service Manager Overview and Key Features.

Critical Systems Guidelines

Formal Techniques in Large-Scale Software Engineering

CMMI 2008 CMMI 2008 Denver, Colorado United States November Tim Kasse. Kasse Initiatives LLC Europe

Cloud & Datacenter Monitoring with System Center Operations Manager

Computerised Systems. Alfred Hunt Inspector. Wholesale Distribution Information Day, 28 th September Date Insert on Master Slide.

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

HP Agile Manager. Key Benefits. At a glance. Project Management. Key Software Capabilities. Administration. Enterprise SaaS.

Exam /Course 20332B Advanced Solutions of Microsoft SharePoint Server 2013

Advanced Solutions of Microsoft SharePoint Server 2013

Achieving Better Deployment Efficiency with Automation via Open Source Software

10965D: IT Service Management with System Center Service Manager

Configuration Management Measures in CMMI

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

Delivering high-integrity accounting with Xero

Microsoft is slowly phasing out FRx, and will be replaced by Management Reporter

PDSA Reviews. Application Lifecycle Management Software Architecture Application Performance Application Security SQL Server IT Skills Assessment

IT Service Management with System Center Service Manager (10965)

SharePoint as a Cost-Effective ECM Solution

Dovico Planning & Timesheet v4 BEST PRACTICES

"Charting the Course... MOC D: IT Service Management with System Center Service Manager. Course Summary

Configuration Management in a Nutshell

IT Service Catalogue. every interaction is a personal journey...

You can plan and execute tests across multiple concurrent projects and people by sharing and scheduling software/hardware resources.

Software Project Management Sixth Edition. Chapter Software process quality

COURSE 20332B: ADVANCED SOLUTIONS OF MICROSOFT SHAREPOINT SERVER 2013

By: MSMZ. Standardization

IT Service Catalog College of Arts & Sciences

Skelta. Document Management Solution. Business Process Management for All POWERED BY SKELTA BPM.

<Project Name> Development Case

You can plan and execute tests across multiple concurrent projects and people by sharing and scheduling software/hardware resources.

EXIN ITIL Exam Questions & Answers

Innovating Availability Strategies for the Hybrid Cloud

AZIST Inc. About CMMI. Leaders in CMMI Process Consulting and Training Services

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

Course 20332A Advanced Solutions of Microsoft SharePoint Server 2013 Course Duration: 5 days Course Type: Instructor-Led/Classroom

Administration of Clearwell ediscovery Platform 7.x Study Guide

Oracle Technical Cloud Consulting Services Descriptions. January 25, 2018

Software Test Costs and Return on Investment (ROI) Issues

How I Learned to Stop Worrying and Love Benchmarking Functional Verification!

Request for Proposal for Implementation of ERP and Webbased ERP- like Solutions

IT Service Management with System Center Service Manager

Top 6 Things to Consider When Making the Transition to Microsoft Office 365

Best Practice: Migration Strategies

ehealth Suisse Checklists Addendum to the guideline for app developers, manufacturers and distributors

Evaluation of the Software Requirement Tools

Model-Based Systems Engineering: Documentation and Analysis

Course Content Advanced Solutions of Microsoft SharePoint Server Course ID#: W Hours: 35. Course Description:

Advanced Solutions of Microsoft SharePoint Server 2013

HYBRID APPROACH. Software Development Approaches. Agile. Rapid. Waterfall

DocAve Governance Automation

Microsoft IT Service Management with System Center Service Manager

The world leader in serving science. DataSafe Solutions. Protect your valuable laboratory data

9110 Correlation matrices

DEVELOPING A CONFIGURATION MANAGEMENT MODEL FOR USE IN THE MEDICAL DEVICE INDUSTRY

Transcription:

Recommended Configuration Management Practices for Freelance Software Developers Chaudry Bilal Ahmad Khan Department of Electrical Engineering Institute of Space Technology Islamabad, Pakistan chaudrykhan@gmail.com Dr. Ali Ahsan Department of Engineering Management Center of Advanced Studies in Engineering Islamabad, Pakistan al_ahsan1@yahoo.com Abstract - Configuration Management (CM) is an important activity throughout the software development life cycle (SDLC). CM becomes essential if any of the artifacts is to be changed during the life cycle. There are many practices which can be adopted in configuration management to stream line the work and bring the quality to the software development process. For this reason most of the software development companies also adopt configuration management practices with larger teams to implement these practices. The problem appears with the freelance software developers, where the numbers of people working in teams are a few. This is an investigative study which is carried out to find if the freelance software developers adopt the configuration management practices. Moreover, the purpose of this study is to find out the configuration management practices freelance software developers suggest are important and should be done by the freelance software developers. The study was done by distributing an open ended questionnaire to the freelance software developers working in a team of 5-30. The results show that although the freelance software developers do not implement all the configuration management practices, but they do suggest a few practices which they feel are important for them to carry out their work efficiently. Keywords Software Configuration Management; Software Quality Management; Change Management, Freelance Software Development I. INTRODUCTION This paper presents the recommendations of CM practices for freelance software developers. CM can be thought as the combination of hardware and software to provide better traceability and control over the processes involved in the SDLC. Adoption of the CM practices has not only helped in developing and streamlining the processes during SDLC but also helped the software developers increase their return on their investment (ROI) in their businesses [1]. Successful implementation of CM brings the quality to the software and work by cutting down the wastage of time in SDLC [2]. II. Literature review CM involves different steps for developing the baselines and versions of all the Configuration Items (CI). These basic steps of CM are applied to entire SDLC starting from getting the requirements of the software to software testing, verification and validation. Software Engineering Institute has also developed Capability Maturity Model Integration (CMMI) version 1.3 for the improvement of the processes for developing better software products and their services [3]. CMMI 1.3 gives a detailed description of all the process improvement methods including CM. Previously, studies have been done on the implementation, benefits and recommendations of CM practices in the organizations developing software [4-8]. The studies clearly show that it is recommended to adopt the CM practices to make the processes more reliable and robust resulting into a better and efficient end product. According to [9-10] CM is an integration of four basic requirements which can be done on different tools, the description of which are listed below: A. Identification of CIs First, it is important to identify the CIs. There are different types of artifacts which can be identified as CIs and non configurable items (NCI). The artifacts which can be identified as CIs can undergo change during SDLC. It is important to keep track of and control all kinds of changes during SDLC. The software requirement specification documents, software designs and test cases are the typical examples of the CIs. Another type of artifacts which usually are not identified as CIs are the NCIs. These artifacts need not be changed and controlled during the SDLC. Matrices results and software test results are the example of the NCIs. It is therefore important to identify all the CIs and add them in the repository.

B. Control of CIs Once the CIs are identified and are included in the repository, it is necessary to keep track of the changes of each CI throughout SDLC. The change requests from the customers may change the requirement specification document which may change subsequent steps in SDLC. In order to maintain proper change propagation through each step of the SDLC, it is important to have a control over each CI. Control not only helps in the change propagation but also in the bug tracking. It becomes important to keep track of the bugs generated each time the code is written and tested or every time the code is changed due to the change in the design or change in the requirement specifications. C. Accounting of CIs The controlled CIs produce statistics and status reports every time the change occurs in the artifact. These statistics provide an overview of how many times and why the artifact was changed including who worked on the artifacts. The status reports provide the current status of the artifact along with the baselines and versioning if applicable. D. Auditing the CIs All the changes made to the artifact is stored as a log. This log provides the details of all the changes made as a history along with the timestamps. This improves the traceability of all the artifacts selected as CIs. E. Tools for CM There are several software tools available for CM. Some of these software tools are open source like CFEngine and SmartFrog and some can be purchased like Microsoft s Sharepoint. III. PROBLEM STATEMENT CM practices are largely being implemented in the organizations where the software are developed. Different software development organizations use different software for the management and control of their configurable artifacts or CIs. In larger organizations it becomes easier to implement all the CM practices as there are larger number of employees and properly established teams. However it becomes necessary for the software development organization to hire a configuration manager who can take care of CM processes. As CM plays an important role in SDLC by providing the traceability of the artifacts, it is important for any software developer to maintain the record of the changes made to the artifacts. Maintaining the traceability of the CIs in a large scale project requires a bigger team but for the smaller projects CM does not require a bigger team because handling the CIs is relatively easy and changes are easier to track. This brings in the freelance software developers into focus. The freelance software developers usually work in the smaller projects compared to the software development organizations therefore requiring lesser effort to adopt the CM practices. Due to lack of human resource, it might become a problem to implement the CM practices. These reasons formulate the following research questions: Do the freelance software developers adopt CM practices? Which CM practices are recommended by the freelance software developers? Is it feasible for the freelance software developers to adopt the CM practices? IV. RESEARCH DESIGN In case of any change in the CI, it becomes necessary to keep track of the changes in it. For instance, in an ongoing software development project the customer may request a change in the requirements of the software. This may lead to a chain reaction changing different processes of software lifecycle. Irrespective of the size of the project, it becomes difficult important for the teams to keep track of the changes. In case of the freelance software developers, it is not necessary that all the CM practices should be followed. However there might be some of the CM practices which freelance software developers may think as important. It is therefore important to consult the freelance software developers if they adopt any of the CM practices. It is necessary to understand that a freelance software developer has relatively smaller teams as compared to software organizations. Therefore freelance developer s focus on the CM practices may vary from that of the software organizations. A. METHODOLOGY This was a qualitative study. The questionnaires in this study contained total of forty eight CM practices. The questionnaire was an open ended questionnaire with an option of Yes and No to measure the percentage of software developers who were adopting different CM practices. The open ended questions consisted of two different categories. One of the open ended option for the respondents was Should the respective CM practice be done by the freelance software developer? and the second open ended option was Why do you think the respective CM practice should be done? The unit of analysis in this research was the freelance software developers. The questionnaires were distributed amongst the freelance software developers using the emails and Skype and the response was the received the same way. While distributing the questionnaires it was kept in mind that the freelance software development teams should consist of members of 5-30 freelance software developers. IV. DATA ANALYSIS AND DISCUSSION After receiving the data from the respondents, percentage of CM practices was measured.

A. Adoption of CM Practicesnby Freelancers The results show the percentage of freelancers recommending each practice. It can be seen that more than 85% of the users recommended the practices Monitoring and control mechanism of the process is in place, The status of request is being tracked till its closure and Changes have been clearly identified made in next build, where 75% of the users recommend Disaster recovery is being properly done, Archived versions of configuration items are being stored and recovered and Reasonable time has been taken for request processing?. Fig-1: Percentage of CM Usage by Freelance Software Developers The results in Fig-1 show that 57% of the respondents responded that they use CM practices, however 43% of the freelance software developers said that they do not use CM practices. This means that more than half of the responded are using CM practices. The results given in Fig-2 shows that there are some practices none of the freelancers are doing. The practice like Documents being uploaded on any CM tool without any delay? was not done by any of the freelancer. However the practices like Monitoring and control mechanism of the process is in place., The status of request are tracked till its closure and Changes have been clearly identified in next build are done by more than 80% of the freelancers. Fig-3: Recommended Practices Similarly third largely recommended practices with 62% of recommendations are Unique identifiers have been assigned to all configuration items, The owner responsible for each configuration item has been identified, Changes to configuration items are being controlled throughout the life of the product, Authorization is being obtained before changed configuration items are entered into the Configuration management system, The history of change has been maintained and The upgraded versions of the changed work products have been correctly identified. The reasons why the freelancers should adopt the specific practice mentioned by the freelancers were also investigated and the common reasons were filtered from all of the said reasons. These common reasons were calculated and the percentages of these are given in the graph in Fig-4. Fig-2: Adoption Response of Freelancers for Each Practice B. Recommended by Freelancers: Once the results regarding the adoption of CM practices by freelance software developers are obtained, percentage of recommended practices by each freelancer was measured and can be seen in Fig-3. Fig-4 shows that approximately 62% of the freelancers agreed that disaster recovery should be properly done. However each of the practices like Monitoring and control mechanism of the process is in place, There is coherence between various directory structures of project using any tool, Redundant configuration items are deleted, The documents are being uploaded on any CM tool without any delay, Unique identifiers have been assigned to all configuration items, The integrity of the baselines has been assessed and The history of change has been

maintained was recommended by 38% of the freelancers each. should be done and percentage of respondents who have not adopted CM practices. The results in Fig-6 give a very interesting insight of how much percent of the freelancers are not doing the practices and how many are recommending these practices along with the common reasons. The results of this plot can be seen in Fig-6. Fig-4: Reason for Adotping CM Practices C. Recommended CM Practices and Common Reasons for Adopting Practices: The result obtained from the recommendations becomes more meaningful if compared with the results of common reasons for adoption mentioned by the freelancers. This is the reason why practices recommended by each freelancer were compared with their common reasons. The result is shown in Fig-5 below: Fig-5: Recommended CM Practices and Common Reasons for Adopting Practices The comparison in Fig-5 shows a good view of respondents recommending and giving the common reasons for why practice is recommended. This gives a good picture about how many freelancers are facing the same issue. Like 75% of the freelancers are not doing anything for disaster recovery but there are 62% freelancers who are giving the same reason for having the disaster recovery plan. D. Comparison of Recommended Practices and Common Reasons by Non-Adopters: Another comparison analyzed the recommended practices, common reason of why a specific practice Fig-6: Comparison of Recommended Practices and Common Reasons by Non-Adopters The results show that the practices like Planning of Audits, Conducting of Audits, Coherence Between Different Directory Structures, Usage of CM tools, Dedicated CM Manager, Deletion of Redundant CM Items, Disaster Recovery, Uploading of document in CM tool, Unique Identifier Assignment, Identification of Owner Responsible for Each Configuration Item, Storage and Recovery of Configuration Item, Maintaining Backup, Maintenance of Baselines, Change Requests Initiated and Recorded, Reason for Changes Recorded, Proper maintenance of Configuration Management Item so that Older Item can be Recovered, Integrity of Base Line, Proper Time Taken for Request Processing, Maintenance of History of Change, Dependent work Product are Correctly Identified, Baseline Done After Implementation and Changes Been Identified Clearly in the Next Build were recommended but were not adopted by freelancers and the recommendations were also common for each practice. E. Reasons for not Adopting CM Practices: The reasons taken from the most of the freelancers why they do not adopt CM practices are listed as under: Do not have the time to implement these practices High Cost is required to support these practices The project life cycle is too small to do these practices

V. CONCLUSION The freelance software developers do not recommend all the 48 practices due to different reasons already discussed above. The practices which were not done by the freelancers but were recommended by more than 50% of the freelancers and also had the common reasons were chosen as the proposed practices to be done by the freelancers. The recommended practices for the freelancers are given as under: Establishing Monitoring and Control mechanism of the process Planning of audits Usage of CM tool Coherence between Various directory structures of project using any tool Deletion of recommended configuration items Establishing disaster recovery mechanism Unique identification to the Configuration item Identification of the person who will do the Configuration management Maintaining backups History of Change to be Maintained Properly Identification of Versions of Changed Work Product Baselining done after the change implementation Clear identification of changes in the next build [7] S. Pei and D. Chen, "The Implementing of Software Configuration Management Based on CMM," in IEEE, 2009. [8] T. N. Nguyen, E. V. Munson, and C. Thao, "Object-oriented Configuration Management Technology can Improve Software Architectural Traceability," in Third ACIS International Conference on Software Engineering Research, Management and Applications, 2005. [9] D. o. D. Systems Management College, Systems Engineering Fundamentals. Belvoir, Virginia, USA: DEFENSE SYSTEMS MANAGEMENT COLLEGE PRESS, 1999. [10] B. Bruegge and A. H. Dutoit, Object Oriented Software Engineering Using UML, Patterns, and Java. Pearson, 2010. References [1] Marent, "The Benefits of Software Configuration Management," Marent White Paper, 2001. [2] A. G. Do, "The Impact of Configuration Management During the Sofwtare Product's Lifecycle," in IEEE, 1999. [3] S. E. Institute, "CMMI for Development, Version 1.3," Carnegie Mellon, 2010. [4] A. Sarma and D. R. a. A. v. d. Hoek, "Empirical Evidence of the Benefits of Workspace Awareness in Software Configuration Management," in SIGSOFT, 2008. [5] S. S. M. Fauzi, N. Ramli, and M. H. N. M. Nasir, "Software Configuration Management A Result from the Assessment and Its Recommendation," in International Conference on Information Management and Engineering, 2009. [6] R. Foulkes and M. P. Mills, "Software Configuration Management and Its Contribution to Reliability Program Management," IEEE Transaction on Reliability, vol. R-32, no. 3, pp. 289-292, Aug. 1983.