Professional Documents
Culture Documents
Configuration Management
Management
Software
OFTWARE DEVELOPMENT IS TOUGH enough already, and recent laws and corporate emphasis on greater accountability have raised the bar even higher. Forget about the latest object-oriented programming techniques or creating service-oriented architectures. If you cant track changes to your code and guarantee that the application version you think youve implemented is whats actually running in production, youre in trouble. Adequate software accounting is just the beginning. Software development also demands effective management of a complex process, from tracking error reports and change requests to dependably deploying applications across a network of production platforms. Cutting code is no longer enough. No single solution exists for software development, but Software Configuration Management (SCM) helps greatly. SCM is a set of practices and tools to manage the
life cycles of events and artifacts (such as source and executable files) used to produce software applications; it is the foundation of any effective software development process. Some familiar elements of SCM are change request tracking, source version control, and automated system builds. This guide identifies the essential SCM practices and tools and their benefits. It also alerts you to the essential audit questions for which you need to prepare. Heres an essential truth about software configuration management: Its not as much fun as programming, but its every bit as important. Your job as a developer or development manager is to deliver reliable code within relatively predictable budgets and time frames. Have fun along the way, but dont fool yourself by thinking you or your team can consistently rely on heroics to meet the expectations of your users, your organization management, or (increasingly) the auditors. So settle back and
XMLJavaProjectsArchiveCOBOLDevel DefectTrackingAnalysisTeamSupportP WindowsiSeriesDevelopmentSCMiSe ControlSQLTestDeployVersionControl TestQATestWebSphereiSeriesIssueTr ReleaseManagementWDSCDevelopm .NETAutomatedDeploymentLinuxAudit WebDevelopmentAnalysisDeployProje TeamSupportWebFacingQAIssueTrac easeAuditsDevelopRPGLERecoveryAr
Heres an essential truth about software configuration management: Its not as much fun as programming, but its every bit as important.
Getting It Done
If all these SCM practices are still in the future for you, then I know your head is hurting right now. Youre probably wondering, How can we get developer buy-in? What about management funding? If we get buy-in and funding, how do we make such a big leap in all our development practices? Lets take these one by one. Developer buy-in. Its important to recognize that developers like to cut new code and not much else; they dont like being tagged as the person responsible for application failures, and they dont like being paged during
unified approach to software management has many benefits for both managers and developers. However, implementing SCM can be challenging, particularly in multiplatform environments. You may want to consider obtaining a single software change management solution that can handle critical RPG, PC, and Web projects.
TurnOver Workflow
Issue Tracking
Process Requests
Project Mgt.
Develop
RPG, ILE, SQL, etc. Review Tasks Assign/ Monitor Tasks Deploy to Production UNIX Server
WebFacing
Java, XML, A prime example is TurnOver Change .NET, Web Management from SoftLanding, which Services covers the full development lifecycle for all software assets across the enterprise, including native iSeries, client/server, One iSeries Database for Auditing Web, and PC-based applications. It offers issue tracking, project management, Full Lifecycle Management with TurnOver development tools such as source and object control, version control, and cross-referencing, Issue Tracking Creates a seamless flow of automated movement of files into any number of test information from the affected department, to project environments, managers, to development and QA so issues are and deployment of the completed change into production.
In addition to providing traditional iSeries source control, TurnOver takes a team-oriented approach to PC/Web development with TurnOverSVN, its integrated PC source version control module. As a result, TurnOver can maintain a change history for your iSeries applications and your PC and Web projects. TurnOvers single iSeries DB2 database consolidates key information regarding software changes to any of your applications, regardless of platform, into one place. You can select a sample set of changes and follow each one through its entire lifecycle to make sure it was implemented according to policy a tremendous benefit for companies that are implementing best practices standards and audit controls across the enterprise. TurnOver also allows you to set authorities by both software application and development level such as development, test, and user QA. These authorities help ensure separation of duties, a recurring theme when it comes to audit compliance. Reporting and other auditfriendly capabilities in TurnOver make it an ideal solution for businesses facing compliance audits.
Project Management Where project managers define the scope of the project, document responsibilities and authorities, break the project into tasks, budget time and resources, identify milestones and checkpoints, and provide for approvals. Development Supports iSeries developers as they check out source code, make and test changes, and prepare them for promotion and deployment. Includes a comprehensive set of tools to help developers analyze what needs to be changed. Offers advanced version control, release management, and source compare for PC/Web developers. Testing/QA Supports effortless handoff between development and testing, automates the movement of artifacts into any number of test environments, and provides a mechanism to report defects back to development. Integrates with TestBench to support automated testing. Deployment Ensures distribution of the correct software to the right place with integrity and reliable audit trails. Archives the previous production environment for you so you can roll back a change quickly if necessary.
RESOURCES The following items are available for free download at www.softlanding.com: Subversion for OS/400 RSE Extensions Plug-in for WDSC IT Managers Working Guide to SOX Compliance Software Development Survival Guide: 5 Steps from Chaos to Control
sioning for much of your source code. So, first implement versioning for the 80 percent (or whatever major part) of code that is the core of your applications. For most iSeries organizations, this means one or more of the iSeries HLLs (e.g., RPG, Cobol, C) plus some DDS, CL, and SQL. Worry later about other code that might not be handled perfectly by a new tool. Follow the same approach to get started with automated build, promotion, and deployment. First, tackle the applications, or parts of applications, that dont require lots of special handling. Maybe some will still have to be done the old way, by hand. But these parts can be incorporated later. Leave the automated regression (or other) testing until youve successfully taken your first steps into version
control and automated build, promotion, and deployment. Once these are working smoothly, bring in whichever SCM process or tool addresses the most pressing problem that remains, whether it is testing, change request management, or something else. If you have to leave gaps in the artifacts or processes covered by your first iteration, thats okay. Learn from these initial steps, make adjustments, and then begin another iteration to reduce the gaps. This iterative approach may span a year or two before you have SCM fully in place for all your systems, but you can make big gains in a short time if you focus on high-return areas. Dont hold off until you find the perfect solution.
Meyers the computer software field. Hes also a senior technical editor for iSeries
Network and president of PCES, an educational and consulting practice in Eugene, Oregon. Paul has published six books and numerous articles on database systems and software development. Among his clients have been many major corporations and government agencies. Paul has presented numerous professional seminars to other software developers throughout North and South America and Europe. Paul has a B.A. in Psychology from Georgia State University, and an M.S. in Computer Science from University of Oregon.