A first step in mainframe application modernization is to equip development teams with a modern development environment.
All technology and tool change can be disruptive, but change in the mainframe environment presents some unique challenges. Tool changes alter complicated development infrastructures and practices that were refined, often literally, over decades. Mainframe developers can face a steep learning curve as they attempt to unlearn now nearly automatic, “green screen” taskflows, recast their work in the new environment, and broaden their development capabilities.
These challenges are far from insurmountable, but they require organizations to take a strategic approach to learning and the solution adoption effort.
When adopting new tools, a development team experiences a temporary dip in productivity as their focus gets divided between work and learning new skills (A). As developers acquire the new skills and put them to work, they realize the benefits of the solution (B). As changes and opportunities arise (perhaps a new tool release, or unforeseen problems as processes change), the organization works to maintain productivity over the long term (C) to maximize the return on their initial investment.
The goals of the adoption effort are to reduce time in periods A and B, and to maximize gains in productivity in periods B and C, while avoiding derailment of the effort at any of these stages.
From a learning solutions perspective, the productivity graph like this:
Learning through the change isaccelerated with training and performance support. Learning is not a single event, and these approaches are not mutually exclusive. But these two approaches come to dominate at different stages in the process, based on the changing needs of the learner.
Training means instruction, structured hands-on learning in interactive events. Working with a coach or instructor is most efficient for the new user adapting to a fundamental change in practice. Training takes a tutorial approach, allowing the user to assimilate new skills incrementally. But training needs to become more self-directed over time. As the productivity curve rises into period B, the training approach tapers off into mentoring.
Performance support then comes to the fore. Performance support is learning that the user accesses in their day to day project workflow. The most familiar examples of performance support in software include online contextual Help, cheat sheets, tooltips, reference aids, video demonstrations, and so on. Experts and social networks (of the kind you find here on developerWorks, or on Jazz.net) serve a crucial performance support function as well.
Let’s explore these approaches and consider the case of mainframe solution adoption more closely.
Developer training events are cited time and again as being pivotal in successful ISDz adoption efforts. When using these tools for the first time, training provides the most efficient way to build foundational skills, share effective practices, and motivate process change. Although limited in scope—training amounts to little more than 25% of a successful rollout effort—a small, strategic investment in training pays dividends throughout the life of the solution.
The ISDz tools, such as Rational Developer for System z, are designed to make use of some of the intricate skills mainframe developers already possess, but most of the efficiencies and automation these solutions provide involve new, unfamiliar practices. Taking time out to learn these practices with experts and peers in a focused training event is more efficient for the mainframe practitioner and presents fewer risks of failure than self-study.
In order to be successful, training programs should be:
Tailored to the environment: Since the mainframe environment is usually tailored for the enterprise, each organization typically has its own usage model and development conventions for the ISDz tools. Training should incorporate some of the developer’s own artifacts and these conventions.
Focused on performance: Focus the learning on the application development and maintenance activities developers perform every day. At the same time, activities need to be simpler than real life so that participants can focus the effort on building new skills instead of on the complexity of the problem domain.
Learner centered: Training needs to be engaging for the learner, offering hands-on practice and group workshops. Foundational concepts and demonstration are provided just to provide context for each applied activity.
IBM Rational Software Services can help design the best training program for your organization.
Performance support and social learning
However important training may be in a rollout effort, learning is not a single event. We use training to transfer essential skills and set a foundation for learning and practice, not to try to serve up everything a user needs to know. The classic Ebbenhaus Forgetting Curve, demonstrating the exponential nature of forgetting, is a potent reminder that an all-in training event by itself is an incomplete enablement strategy.
The training approach itself becomes less useful as developer skill levels rise. When applying the tools on the job, learning needs to be more individualized and self-motivated. The learning challenges in the workflow are also more problem-focused than skills focused. On-demand learning resources are needed that help with the following activities:
Applying the tool: Reviewing skills learned in training, or applying skills in a new project situation.
Solving problems: When a process doesn’t work the way the user thinks it should, or where the user is blocked by an emerging problem.
Dealing with change: Adapting to a new tool release, adopting new development technologies, or changing configurations and usage models.
For these challenges, there are many resources available: the product information centers, YouTube and IBM Education Assistant videos, developerWorks articles, IBM Redbooks, blogs, and developer forum and Support archives, just to name a few examples. Developers can gather and pool useful resources like these for use in their teams as they use the ISDz solution.
During the rollout effort, early adopters, administrators, and other specialists emerge from the team as experts who can help with problem-solving, forming an informal “center of excellence” within the organization. At the same time, developers can turn to social networks, such as IBM developerWorks, to find answers in learning communities like the Rational Cafés.
Work of all kinds is becoming faster-paced, more automated, more distributed, and more agile. The need to control costs in change processes is part of this new normal. Given these challenges, it is essential to take a strategic approach to transforming development organizations, bringing together the right formal training and on-demand resources to reduce time to value and ensure maximum productivity for your tool investment.