Software,Configuration,Managem technology Software Configuration Management... for the Technical Write
Active shredder safety technology for the small office. Shreds 15sheets per pass into 5/32" x 1-1/2" cross-cut particles (Security Level3). Patented SafeSense® Technology stops shredding when hands touch thepaper opening. Designated shredde The electronic cigarette is not new. People who buy electronic cigarette knows that this product has been in the market for years now. Despite some sectors apparently trying to shoot the product down from the shelves, the popularity of elect
Many software companies with which I've worked didn't have any type ofprocess in place for tracking and managing their software. Usually two orthree lead developers controlled the software. Everyone else had to workbehind them to update or integrate their individual components. As theprojects grew, developers became confused, management became frustrated, andwriters quit because it was hard to keep up with so many simultaneouschanges.--- What is Software Configuration Management? ---The purpose of Software Configuration Management (SCM) is to identify thestate and configuration of a software project and be able to control changesto maintain the software's integrity, traceability, and accountabilitythroughout the software life cycle. The core objective of SCM is to bringcontrol to the development process through:- increasing development productivity,- supporting better control over the project,- supporting better project management,- reducing errors and bugs,- supporting faster problem identification and bug fixes,- improving customer goodwill.One problem is that a single SCM solution is not suited for all projects.While the core SCM objectives and functions remain the same, the SCM systemhas to be tailored for each project.--- SCM Process for the Technical Writer ---Many software projects I've seen changed course daily. One day the productworked one way, the next day it was completely different. Many of thewriters at these companies walked out the door mumbling that "the companywasn't ready for documentation."Actually, this is the norm for many newer software companies and you'd besurprised how ready they are to have you!When working on software documentation, it's important to either getinvolved in the SCM process, or put one in place so that you can always havethe most recent version of the software with which to work. Of course, youcan't afford to spend days working on a complete process that, in the meantime, won't be adopted by the company. However, you can take a piece of thepuzzle and use it to your advantage.Of course, once development settles down a bit, you'll have a real productto work with. But, in the mean time, you have the core product that you canuse in your task analysis and research. This single step will place youleaps and bounds in front of other writers who give up because of theever-changing state of a product!The general steps of an SCM process are described in the followingsubsections. Your knowledge of these processes can enhance the developmentand deliverables for any software project!* Source Code Versioning and TrackingSource code versioning and tracking is usually handled by some type ofsource safeing application. The application is used to store and trackdifferent versions of the source code so that developers can maintain anarchive of changes without the fear of losing any level of previous changes.Source safeing applications save each new version of the code by archivingthe differences between previous versions. If you want to go back to aprevious version of the code, the application rebuilds the selected versionfrom the differences.If you have numerous files in a given project, you can tag a set of fileswith a symbolic name. This symbolic name can be used to extract all filesfor a release or version number so that you can group all current projectfiles together.The most popular source safeing applications include the following:- Visual Source Safe: http://msdn.microsoft.com/ssafe/Prodinfo/?RLD=25- PVCS: http://www.merant.com/products/pvcs/- RCS: http://www.componentsoftware.com/- CVS: http://www.cvshome.org/You should talk to the system administrator to obtain access so that you candownload the code. Not only will you be able to better understand what'sgoing on in the application by reading the code, but you can access thevarious headers to develop Application Programming Interface (API)references as required.* Installation BuildsIt's the responsibility of the developers to determine and acquire all filesassociated with a given installation. All files should be uploaded into thesource safe system and tagged. Once a new tag is created, you can downloadthe version onto a build machine and create a new version of the product. Insome cases, this responsibility is handed off to a Configuration Manager,however, your purpose for getting involved in the SCM process is to developsolid documentation...not manage the source safe.Ideally, as part of an SCM process, the build process should occur at leastonce a week. It's a good idea to talk with the developers so they can notifyyou when they tag a new release. In this way you are obtaining a completeand up-to-date set of files to build the most current product.* QAQuality Analysis and testing are important parts of the SCM process as thisis where problems are found and the product can be evaluated to see if itmeets the standards and requirements for the project. For your purposes, youcan provide a set of basic tests by creating a Task Analysis and a simpleTest Plan.The Task Analysis provides a set of steps that must be executed to perform aspecific operation with the product---also part of Documentation Analysis.It's essential that the Task Analysis be performed for each major update tothe software to ensure that the changes are carried through to thedocumentation.* Bug Tracking and ResolutionBug tracking and resolution are not only part of the SCM process, but arealso used with Change Management. It's essential that bugs be reported andthat developers are notified of the problems to ensure resolution. But,resolving a bug can place the product into deeper jeopardy when, in somecases, the resolution introduces another set of bugs.This is where a Feature Update document comes into play. Whenever a changeis made to the software, to either resolve a bug or change thefunctionality, the Feature Update document assists in the tracking of thechanges. Additionally, Feature Update documents can be used as addendum tothe documentation until the actual content can be updated.Some of the more popular bug tracking and management systems are as follows:- TestTrack: http://www.seapine.com/- Gnats: http://sources.redhat.com/gnats/- Bug Wiser: http://www.hallogram.com/bugwiser/As you evaluate the newly built product, keep track of various problems youencounter and report them back to development. In this way, you can providea service for the development staff as well as learn the various issuesassociated with the product itself.* PackagingProducts available for release should be presented as a completed and testedinstallation on CD and over the Web. For CD installations, documentation canbe provided in HTML or PDF format. All installations should auto-start wheninserted into the CD drive or be started by double-clicking on the setupapplication.For Web-based installations, the basic installation information is locatedon the Web page associated with the given download. Once the product isinstalled, the user can read detailed documentation from an HTML or PDFfile.Some of the more popular packaging systems include:- InstallShield: http://www.installshield.com/- Wise Solutions: http://www.wisesolutions.com/default.htm* DeploymentWeb-based deployment can consist of a Web page with a link to theinstallation executable. The user can access the page, read the instructionsfor installation, then click on the link to download.CD based deployment can consist of a full installation copied to a CD. Theuser can access the CD, read the instructions for installation from theonline documentation, then maneuver through the installation.* Customer and Technical SupportAll products should come with a User-Acceptance Test (UAT). For customproducts, the UAT ensures that the product meets a minimal set ofrequirements originally defined in the Requirements Analysis document. TheUAT allows the user to feel comfortable that the product meets their needsand functions according to their requirements. For off-the-shelf products,the UAT ensures that the product is setup properly and functions in theuser's environment.Customer and technical support are essential in that, once the product isout in the field and in use, the customer needs some way of reporting bugsthat were missed during QA. It does happen, but a solid QA process shouldcapture a good percentage of the problems before deployment.Additionally, the customer will need to access a portion of the bug trackingsystem to monitor progress on their trouble tickets. This makes the customerfeel better about the product and the process if they can monitor the statusof their issues and reports.--- What's next? ---Numerous new software companies don't have the time or the desire to put aproper SCM process in place. Such a process not only helps in thedevelopment, but it also assists in the documentation. In such a situation,it's important that you understand the basics of SCM and various softwaredevelopment life cycles. Not only will you be able to generate a solid setof documents, but you will also assist the development of a solidinfrastructure for the company's development team! Article Tags: Software Configuration Management, Software Configuration, Configuration Management, Technical Writer, Software Companies, Task Analysis, Feature Update
Software,Configuration,Managem