05
Sat, Oct
2 New Articles

Moving to Structured Software Change Management

Change Management
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times
Over the course of my career, I've had the opportunity to see change management evolve from a manual process to one that is fully automated and traceable. I have learned that change is actually a simple process that's not so easy to do. Sure, the steps of a software change are easy enough to outline, but the actual performance of those steps is time-consuming and prone to human error.

Supervisors, managers, developers, and even an organization's leaders can benefit when a structured change management system is put in place. Most people fear change, or at the very least, resist it. You can imagine then the resistance encountered when you talk about changing the way your developers make software changes. It strikes at the very core of an organization. It examines the existing culture and points out its flaws and shortcomings.

This process of examination often uncovers many different pieces of software and many different manual operations. These all need to be integrated in some fashion in order to yield a clear picture of what's going on. Different databases from different platforms, spreadsheets, documentation, and sometimes email communications all need to be captured and brought together to know exactly what has transpired or what is now required. This integration is often a manual effort.

If you've ever spent the day constructing a spreadsheet that contains all the information you need for a meeting that afternoon, you know what kind of effort can be involved. Imagine never having to produce that spreadsheet again. A structured change management system can provide you with all the information you need at the touch of a button.

The reason more shops have not implemented change management varies, but the usual objections are money and time. It will cost too much, and it will take too long to implement. Those are the very things a structured change management system is designed to alleviate: the time it takes and how much it costs to make a software change. If done right, implementing change management will complement, not replace, your traditional way of doing things and will ultimately make your developers more productive. A good change management system will never overload your managers and project leaders with information or bureaucracy.

Effective change management means that changes to the system are well thought out from the beginning. Every task should be identified and evaluated prior to any code changes. There should be plans in place to recover from the change in the event things do not go as planned. A change does not end when it reaches production. A full evaluation of the change should be done to ensure it's what was requested and is in fact performing as designed.

Tackling Application Modernization

With application modernization efforts, software change management has become a lot more complex. IT organizations today are confronted with a set of new challenges. They need to deal with multiple code lines on multiple platforms and with a new skill set for developing those applications.

Companies that want to keep their competitive edge and ensure the longevity of their existing business systems need the ability to rapidly adapt their main applications to new technologies. In addition, they need to improve their applications to stay ahead of the curve.

Most companies already have software systems in place that contain their business rules. These legacy applications are vital to the company's business activities, and they're a huge investment. Applying new technologies to these existing legacy applications is the driving force behind change in a lot of organizations. This is where the right tools and a good plan come into play.

Whatever strategy you implement, you'll be confronted with four major concerns:

  • Gaining a clear and accurate view of existing applications
  • Maintaining stability of your applications as changes are made
  • Conserving your team's productivity
  • Keeping track of the systems' ever-growing complexity

How do you do you address all of these? By controlling the stages of the process. You need to define a common methodology for managing development that includes these elements:

  • Auditing existing applications
  • Documenting business rules
  • Migrating RPG code to its more recent versions
  • Merging development environments like native and Java

This is where structured change management comes into play. Poorly planned changes seldom succeed, and the decisions you make today will be around for years to come. Let's take a look at what it takes to implement structured change management over today's complex applications.

Application Analysis

The first step is to gain a clear understanding of what you have on your system now. You'll need to examine your existing environments for errors and inconsistencies that will hamper the process of making a change later on. You should be concerned with things like source code not found, source without an object, objects that are no longer used, inconsistencies on objects (such as ownership), and so on.

In addition, you may need to undertake this process on several machines. Try to identify any inconsistencies between development and production machines that could cause issues later on.

While it's typically not a requirement, cleaning up your existing environments before you implement a change management strategy is always a good idea. It is best to start the process from as clean a slate as possible.

This process need not be time-consuming. A good change management software package will have tools available to help you not only identify these situations, but also correct them.

Once you have your environments in order, it's a good idea to keep them that way. You need to define and implement a methodology that each change will follow—no exceptions. Look for a solution that will allow you to automate the entire change process across all your application servers.

From Initial Request Through Development

There are many things to consider when defining how you make changes; let's start at the beginning.

Changes start with a request for development or modification, or as an incident report or trouble ticket. Meeting regulatory demands (SOX, Basel II, etc.) further requires companies to provide total traceability for the entire chain of events, starting at this point. This means getting the users involved.

Users may need to be linked via several interfaces:

  • A 5250 interface, for users with no access to PC- or Web-based solutions
  • A rich-client interface installed as an executable on all PC workstations
  • A browser-based interface for those who require access without a client

Users should be able to do more than simply enter and manage their own requests. They should also have access to a knowledge base for FAQs and white papers for more information when needed. All activity performed by users should be captured in the database. Look for an issue-tracking system that can produce and send emails to keep people informed along the way.

Also consider your service-level agreements (SLAs) with your user community. Any solution considered should be able to monitor a request and take action if required. This is a process known as "escalation."

Every request that enters the system needs to be analyzed and evaluated before a decision is made to proceed. If action is required, the request then becomes a maintenance report that should ultimately be linked with the components involved, the developers who made the change, the location the changes were deployed to, and so on.

A maintenance report needs to be managed as well. A project leader should review all maintenance reports and decide how to proceed. The manager will assign these tasks to the appropriate developer or team and will need to keep track of it as it progresses through the system.

Developers working on the task need to have easy access to the maintenance report to update it with new information and to track the time involved. Of course, a capable change management system, with integrated help desk and change management modules, will provide a developer with a lot more than that.

A Repeatable Process Means Repeatable Quality

A good change management system will allow you to define many different work environments. These work environments help you structure the lifecycle of a change and provide different validation steps along the way. A solid repeatable process is required to ensure application reliability, especially during periods of intense change.

Below is a sample configuration plan:

http://www.mcpressonline.com/articles/images/2002/Structured%20Change%20ManagementV3--09120700.jpg

This configuration allows for the reception of code changes from outside vendors, as well as changes being made in developer environments. It includes an integration environment that serves multiple purposes. It is not only a quality assurance area, but also an area where the transfer to production process can be tested. This goes back to repeatability. If you can prove the process on a test area, then you stand a much better chance of getting it right the first time in production.

Of course, there may be more test levels at your organization. Make sure any product you consider has the capability to be configured the way you do things now. In most cases, the way you make changes now is sound. You simply need to automate it and make it auditable.

Distribution of changes locally and to remote servers should also be a function of your change management system. This distribution may be performed at different levels. For example, you may need to send changes to a testing machine and a few testing servers before you actually make the changes on your production machines. In addition, different people should be assigned to implement at different levels. A good separation of duties and responsibilities is part of this process. No one person should have the ability to alter production. It's dangerous.

Final Words of Wisdom

Make sure any software change management system you consider can handle the complex environments we see in today's IT world. As applications move onto new platforms, you don't want to keep adding tools to the process. It confuses the issue and only makes things harder. Look for a system that can work regardless of the platform.

A tool that can provide a developer with cross-platform transparency is more crucial than ever. Cross-platform capability helps in many ways. First, a developer using a tool like this can perform a complete impact analysis, thus improving effectiveness in making the change. Secondly, cross-platform capability allows perfect synchronization of different development teams and the deployment of the components they create. Make sure any solution you choose can handle new objects like ILE, SQL, Java, C++, and so on.

A good change management system will also interface well with tools that developers need, like IBM Rational.

Rational products, which incidentally were first created for the aerospace industry, provide tools for developers to use throughout the development process. Developers working in Rational environments, or Visual Studio, need the same access to the change management system as a native developer requires. Look for tools that allow you to set a methodology and support it no matter what the IDE.

Of course, change management can be done without the purchase of a tool or even the coding of a single program. It could be an entirely manual process, but when you think about the enormous number of steps involved in even a simple change, the benefits of automation become clear.

You'll improve your traceability, eliminate most human errors, and offload many of the tedious and repetitive tasks that your highly paid developers perform, thereby freeing them up to do what they do best: make your software better. You'll save time and money because changes can be implemented faster and recovered automatically when things do go wrong.

Having all your change data in one place, regardless of what platform the change was made on, will also ensure you can produce the reports you need, when needed, not only for management, but for those pesky auditors as well.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: