You might be surprised to hear that the mainframe is still a vital piece of hardware at the core of enterprise systems. Those who say the mainframe is dead couldn’t be more wrong. Mainframe computing is thriving as it approaches its fiftieth anniversary; however, the essential skills that are necessary to process enterprise applications are scarce. Graduates today are empowered by their newfound java skills, mobile expertise, and knowledge of distributed platforms. COBOL and enterprise systems just aren’t flashy enough for young programmers to take notice. Little do they know that those skills are not only practical but in high demand.
Coding today isn’t like it was twenty years ago. So when a Forrester Forrsights software survey found that organizations deem updating and modernizing their legacy applications as a critical priority, our first question should be, “How do we bridge the gap between tenured developers and the new generation of software coders?”
z/OS Development Then
Our predecessors were very process driven. They relied on proven technology rather than risking stability by challenging the status quo. While stable and relatively bug free, systems were complex, requiring substantial investment. Development was done sequentially and only after a substantial amount of time had been spent planning and developing system requirements that were documented and agreed on by the entire team.
Back then, virtual collaboration wasn’t available, which meant programmers needed to work in the same location in order to communicate with their team. Visibility was limited since developers weren’t able to access a real-time view of the project. For this reason, project health reports were created manually and were quickly outdated as programmers resumed their daily tasks.
z/OS Development Now
Today’s preferred development style is agile. Young coders want better access, with the ability to shift priorities at a moment’s notice based on evolving requirements gathered through team collaboration. Dynamic interfaces are a necessity as green screens have been replaced by highly intuitive IDE’s and interactive editors. Lean development practices and continuous testing lead to fewer defects and faster release schedules. Face-to-face communication is a thing of the past. Geographically dispersed teams are the norm with Software Configuration Management Systems (SCM’s) keeping cross-functional groups connected. These days, developers are highly adaptable with a keen sense for coding practically and efficiently.
Organizations are looking for better traceability. They want improved efficiency while taking advantage of all the latest technology. But, while businesses are looking to modernize, they’re also looking to get the most out of their investments. Why would a company choose to shift directions and finance new IT expenditures, when they can update legacy systems that have been successfully running for decades? The answer, of course, is that they wouldn’t. Enterprise modernization allows businesses to transform what they already have rather than re-implementing an entire system architecture.
Overcoming the Challenges
When an organization makes the decision to modernize its legacy systems, there are challenges that need to be addressed up front in order to mitigate problems later.
First, there are application challenges. When modernizing a business’s entire IT infrastructure, we must first decide which applications to keep and which to get rid of. In doing this, we should evaluate the initial and ongoing investment. This includes both the monetary investment and the investment in skills to maintain the legacy applications. Once we’ve determined the contribution to the enterprise and evaluated the risks, we can judge whether the effort to modernize the individual applications is necessary or if it’s avoidable.
The next challenge has to do with the people inside the organization. The issue here is the plethora of tools, technologies, and standards that vary from project to project and organization to organization. Before engaging in a modernization effort, we must determine which skills need to be maintained and which are obsolete.
Poorly integrated teams are a third challenge. Just like the tools and technologies are fragmented, so are the teams. The challenge here is much greater as poorly integrated teams will deliver poor results. We need to enable teams to collaborate across platforms, languages, and environments.
Finally, there are infrastructure challenges derived from inefficiencies in the utilization of IT and the high cost of maintaining it. We should address performance issues and scalability concerns before planning to modernize legacy applications.
How Do We Bridge the Gap?
Once we understand and have addressed the challenges, we can begin to look at the bigger picture of technology, process, and people.
The technology should allow for both sets of developers to come together under a common set of tools. Leveraging a common multiplatform development environment will reduce costs, decrease miscommunication between development teams, and speed up the completion of the project.
A defined process is crucial in synchronizing legacy and new developers. The modernization of existing systems must be conducted as a formal project with a defined implementation plan, formal tasks, and milestones. In developing the plan, best practices from other businesses that have implemented similar solutions should be considered. Besides the implementation planning, we should also establish procedures and methods that should be followed when the new tooling and techniques are introduced. By documenting the expectations, both long-term and newly hired developers will have a standard by which they can perform their job function.
The success of any project hinges on the people involved. If developers don’t feel inspired to embrace the new technology, they will not do so. A comprehensive adoption plan in which the team is comfortable with the skills necessary to support the new applications will motivate their success. Training should begin on the first day with developers learning basic functionality of their new toolset in order to shorten the learning curve. By empowering developers through mentoring and ongoing support, they will remain engaged and will maintain efficiency as new tools are introduced.
Mainframe expertise is an extremely valuable skill. With legacy developers leaving the workforce, there’s a dire need to replace the knowledge in order to maintain the mainframe systems and applications that are still in use today. Both “then” and “now” developers can reap the benefits and learn from each other as they’re united under a common and modern set of tools.