Sunday, 29 May 2022

How to motivate your mainframers

There may come a time when you feel you need to motivate your mainframers. Maybe they are thinking of retiring, like so many have. Maybe the Covid pandemic led them to re-evaluate their life and their focus is now elsewhere. Or maybe they are just not as enamoured with mainframes as they once were.

So, where to start? You can try looking up motivational theories. Unfortunately, there are rather a lot of them. Here’s a very short list: Incentive theory, Drive-reduction theory, Cognitive dissonance theory, Content theories (eg Maslow), Temporal motivation theory, Achievement motivation, Cognitive theories, etc. The fact that there are so many, I think, goes to show that no-one is quite certain how motivation works – which doesn’t help – although self-determination theory (SDT) seems pretty good (see later).

What has kept humans – and all the creatures that preceded humans in the evolution of life on this planet – alive is that they have a strong drive away from danger, and a much smaller drive towards rewards. A consequence of that is when you talk to mainframers about work. the universe, and everything, their first answers are always about what they don’t like or don’t want. In psychology terms, this is described as being problem focused. Once they’ve got that off their chest, it’s important to turn things around and get them to focus on what they do want – to make the conversation goal focused.

And, as all good managers know, once you have a goal or target, it’s usually very useful to express it as a SMART target. Firstly, the goal has to be specific. They can’t simply say that they will do something, they need to say exactly what they will do differently or exactly when a particular task will be performed. That makes it easy to see whether a particular target is being achieved. The letter M stands for measurable. That’s another reason vague targets are no good – they must be easily measurable. The A stands for attainable. It’s no good someone setting themselves a goal that they can’t possibly achieve. The R stands for relevant. The person needs their goal to be something that they are interested in doing and something relevant to their job. And, finally, the T means time-bound. And that means the goal will be achieved within a specified period of time.

Goals are often divided into intrinsic and extrinsic goals. Intrinsic goals are all about doing or chasing something that’s personally meaningful to an employee. They have come up with the idea of achieving something, eg taking a particular exam. Extrinsic goals are usually set by someone else. If a person wants to achieve them, it’s often about obtaining the other person’s validation and approval. Intrinsic goals are usually the best ones for a person to have if they are going to be successful. Extrinsic goals might be ones set by their boss. These can be very effective, but not always and the changes may not always last.

The great thing about people who are self-motivated (rather than doing something for someone else) is that they have:

  • Greater confidence
  • Improved vitality
  • More interest
  • Enhanced performance
  • Increased persistence
  • Greater creativity
  • Higher self-esteem
  • Increased general wellbeing.

Self-determination theory (SDT) is very popular at the moment as a way of looking at motivation. Edward Deci and Richard Ryan are the two people most closely associated with self-determination theory. They were originally looking at intrinsic and extrinsic motivation. They proposed autonomy, competence, and relatedness, as the three basic psychological needs to motivate a person to initiate a behaviour and they are essential for individual psychological health and wellbeing.

So, let’s see what those three things actually mean:

Autonomy – this is the desire to be a causal agent in one’s own life and to experience freedom. An autonomously motivated person will find their performance, wellness, and engagement is heightened compared to a person who is extrinsically motivated.

Interestingly, Deci (1971) found that offering people extrinsic rewards for behaviour that is intrinsically motivated undermined the intrinsic motivation, and a person becomes less interested in the activity. It seems that the intrinsically motivated behaviour becomes controlled by external rewards, which undermines the person’s autonomy. Amabile, DeJong, and Lepper (1976) found that external factors such as deadlines restrict and control an individual, which decreases their intrinsic motivation.

On the plus side, increasing a person’s options and choices increases their intrinsic motivation. It also seems that satisfaction or frustration about their autonomy not only impacts a person’s motivation, but also their growth. High levels of autonomy lead to optimal wellbeing.

Competence – this is where a person seeks to control the outcome and experience mastery.

Deci (1971) found that giving people unexpected positive feedback on a task increases their intrinsic motivation to do it, because the positive feedback fulfilled their need for competence. Giving positive feedback on a task not only increases intrinsic motivation but decreases extrinsic motivation. Not surprisingly, Vallerand and Reid (1984) found negative feedback had the opposite effect.

Relatedness – this is the will to interact with, be connected to, and experience caring for others. This is what we might think of as positive interactions with others.

According to self-determination theory, extrinsic motivations and the motivations of others, such as a manager, may be beneficial. However, it is more important for individuals to find the ‘why’ behind their desired goal within themselves.

We can conclude from this that if we want to motivate other mainframers, we should recognize when they do good work and tell them so. We should allow them to come up with their own targets or goals. And we should organize times or events when they can interact with each other in a positive way.

Sunday, 22 May 2022

Mainframes and Ansible


There’s a lot of talk, a lot of presentations, and a lot of articles published about mainframe modernization. Many of those articles and presentations are by companies that simply want to ‘help’ mainframe sites migrate all their applications onto the cloud. But that isn’t the only mainframe modernization that mainframe users are considering. One of the biggest drivers at the moment is mainframe automation. And one way of doing that is to use Ansible.

Ansible is now available from IBM following its takeover of Red Hat in 2019. In fact, Ansible was written by Michael DeHaan and Red Hat acquired it in 2015. As I’m sure you know, Ansible is an open-source software provisioning, configuration management, and application-deployment tool. Modern automation on mainframes using Ansible is important because it provides a way to integrate z/OS into an enterprise automation strategy in a consistent way. With Ansible, it’s easy to onboard new systems programmers, DBAs, and developers. And, with Ansible, infrastructure and provisioning changes are all managed as code.

The Ansible Engine runs Ansible Playbooks. Playbooks are YAML files that store lists of tasks for repeated executions on managed nodes. Each Playbook maps (associates) a group of hosts to a set of roles. Each role is represented by calls to Ansible tasks.

Ansible Tower is a REST API, web service, and web-based interface (application) designed to make Ansible more accessible to people with a wide range of IT skillsets. It is a hub for automation tasks. Tower is a commercial product supported by Red Hat,  but derived from AWX upstream project, which is open source.

There is plenty of Red Hat Ansible certified content for IBM Z. Certified content collections accelerate the use of Ansible with IBM Z and enable:

  •  Improved efficiency via the simplification and standardization of complex IT deployments and enterprise automation strategies.
  • The visibility of z/OS automation. It’s possible to know what’s being automated, when, and by whom.
  •  Increased productivity simply, with certified collections that codify system-specific knowledge and complexity.

Mainframe sites use Ansible to build and provision middleware, to roll out fix packs to thousands of servers, and for self-service provisioning of portals. They also use Ansible for middleware configuration as well as network and security configuration. For security, it can be used for the SSL certification renewal process, password resets, and to create new users. Ansible can integrate infrastructure provisioning and Z application deployment into a CI/CD pipeline. It can orchestrate and replace existing siloed in-house automation. And it can integrate existing automation into the overall workflow. Lastly, it can collect audit and security configuration details, system status, and health checks.

The IMS collection is available from Ansible Galaxy. Simply search for ibm_zos_ims to find the IMS collection. There is also plenty of documentation available, especially for each of the modules available.

At a recent meeting of the Virtual IMS user group, Haley Fung, IBM Product Manager for IMS and Ansible for Z, discussed some examples of using Ansible with IMS. She said that a developer can use Ansible to compile and issue IMS commands to refresh an IMS transaction for testing from their preferred development tool, such as VS Code, after they change their COBOL application code.

A second example is that a DevOps engineer can build a playbook to generate a new PSB to update the program view for an application change, and drive the IMS online change in a CI/CD pipeline.

Another example is a system administrator, who can create a reporting tool to query the status of IMS transactions or programs, and send out notifications to report issues.

A database administrator could issue IMS commands to take an IMS database offline for processing and put it back online when complete. Or a DBA could populate a new catalog. Or, a DBA could orchestrate new automation to update the IMS catalog and integrate existing ACBLIB and Managed ACB directory automation to ensure that they are in sync.

A DBA could use DBRC commands to examine information captured in the RECON datasets, such as image copies that have been captured over the month, to determine which image copy to recover from.

The last example Haley gave was a DBA who might also need to issue a command to register a new database with RECON or run clean-up or maintenance tasks with the RECON datasets from time-to-time.

Haley went on to say that IMS users can try the Ansible IBM Z Trial. This is a free guided virtual demo environment, providing users with the ability to run and review Ansible playbooks automating tasks on z/OS.

They can then request the Ansible Automation Platform free trial. This includes: a single self-supported 60- day subscription for Red Hat Ansible Automation Platform for Red Hat Enterprise Linux; access to Red Hat’s customer portal with documentation, videos, discussions, and more; and it can support up to 100 Ansible managed nodes.

For those of you who like this kind of arcane information, the term 'ansible' was coined by Ursula K Le Guin in her 1966 novel Rocannon's World. In the book, it refers to instantaneous communication systems.

Ansible seems to be a great way to automate mainframe tasks, and also provides a easy way for non-mainframe specialists to work on mainframes.

Sunday, 15 May 2022

So, what is Web 3?


We all know what the World Wide Web is, and probably use it every day to send emails, do some shopping, and look at social media. It was back in 2005 that I was talking about Web 2.0. Here’s what I said then…

Typically, Web 2.0 sites will be making use of techniques such as AJAX (see last week’s blog), Web syndication, and public Web APIs. What I’m talking about are things like blogs, wikis (and who needs to buy Encarta when the wonderful Wikipedia is only a click away), RSS, and podcasts. Web 2.0 sites successfully use information from their site’s visitors – for example Amazon recommends similar books that you might like when you order a book. Web 2.0 sites can also easily update the software they use – and do. This means that each time you browse the site, the experience can be slightly different, but should be better (faster and easier). Web 2.0 sites can incorporate or link to pages from other sites to improve the browser experience (mash-ups). For example, the Google Earth maps can be overlaid with bus routes (for example).

And now we’re at Web 3.0. The term ‘Web3’ was coined in 2014 by Ethereum co-founder Gavin Wood. So, what can we expect from Web 3.0 (also sometimes written as Web3)? Firstly, it uses blockchain technology, which was originally associated with cryptocurrencies because it is decentralized. That means there is no one copy of the database in use, there are multiple copies, which are stored on various computers (nodes) in a network. Blockchain is often referred to as a ‘ledger based’ system or ‘Distributed Ledger Technology’. Of course, blockchain can be found on mainframes

Like any concept based on people’s ideas, Web 3.0 has slightly different meanings to different people, but generally it can be recognized as different from Web 2.0 because it has certain characteristics. You find people talking about semantic web, which is supposed to make Internet data machine-readable. The use of artificial intelligence or machine learning can speed up the process and help to provide the user with the information they need. 3D graphics are also something found with Web3. And Internet data is available everywhere on all sorts of Edge devices. The use of blockchain and decentralized data is meant to give individuals more control over how their data is used.

Understanding natural language is an important part of Web3. How often have you had to repeat an instruction to your Alexa device? It can process natural language using cognitive technology, which makes the possibilities of what can be done so much greater than a reliance on keywords. But, other people like to think of Web3 as a way of giving control of the Internet back to the users, using blockchain, and orchestrating it with tokens. They see it in terms of decentralized social networks (sorry Facebook), monetized video-style games, and non-fungible token (NFT) platforms.

Companies like Facebook won’t be able to sell on user’s information because they won’t have access to it. Adverts won’t follow people around from site to site. And users can earn money in different ways on different sites and invest money in different things.

In fact, the use of tokens could become a really big thing in a few years’ time as Internet users become more than simple customers, they also become participants and shareholders. And Google, Facebook, and Twitter lose their control of the Internet.

The Web3 foundation says: “Our mission is to nurture cutting-edge applications for decentralized web software protocols. Our passion is delivering Web 3.0, a decentralized and fair internet where users control their own data, identity and destiny. It also goes on to say: “Web3 Foundation believes in an internet where:

  • Users own their own data, not corporations
  • Global digital transactions are secure
  • Online exchanges of information and value are decentralized.

Will we ever see a recognizable Web3? The answer is almost definitely yes. There are some sites now that are Web3 or Web3-ish. Certainly, many people don’t like their data to be bought and sold by Facebook and other big players. And the gambling industry and games industry are very big and are likely to take advantage of Web3 – which means it will be getting a push from them in many directions. And NFTs are gaining in popularity. So, it is very likely that their association with Web3 will grow.

I just wonder how many years it will take before we are talking about Web 4.0?