Having a fully-trained staff is essential to productivity, employee satisfaction, teamwork, and just getting the job done!
This is a re-publishing of an article first published in September 2016. It’s a great topic to republish in an issue on testing as a job and the skills needed. At the time this was first published, the magazine was focused on SMAC – Social, Mobile, Analytics, and Cloud technology.
It is guaranteed that technology will continue to change super -fast. Whatever the currently new technology may be – SMAC or a new IoT wearable platform-test teams will be required to quickly be knowledgeable enough to do gray box testing.
But more importantly and unique for Test Engineers, I was recently asked by a Director of Software Engineering at a very large company: “Why don’t testers ‘come with’ their job skills? Why do they need to be trained?“ Well, the fact is most people working in testing have almost no specific training to software quality and testing-very few universities teach it. People are expected to pick it up on their own. This has always been a dangerous proposition; the idea that testers somehow automatically know test methods and various test practices to choose from to make a strategy is false. Even getting a university degree in Software Engineering might mean you have one class that mentions testing, coupled with safety-critical systems, ethics, and regulatory compliance-but it’s not likely to have much to do with customer satisfaction! Not to mention, the practices and methods of testing. Most anyone who goes through a program in Software Engineering never once hears the phrase “customer satisfaction.” Anyone working in software needs to have these conversations, but the major reliance in most companies is that people who test have already had them!
So, I hope you find this article on training for test teams useful. Every leader knows having a fully-trained staff is essential to productivity, employee satisfaction, teamwork, and just getting the job done!
This is particularly true today in technology for many reasons.
I want to focus on 3 ideas:
1. Training for training’s sake:
a) Training to keep up with technology changes.
b) Training as a tool for better employees and employee satisfaction.
2. Training on software development, process, communication, and collaboration.
3. Training for a new and specific technology.
1. Training for Training’s Sake
Technological advances are happening at a significantly rapid pace. Just keeping a team’s skill set to get the job done correctly is a headache for any manager. When the product or platform grows, teams must be ready to hit the ground running.
a) Training to Keep Up With Tech Changes.
I think of the time when Agile was first being introduced into organizations and the direction from development managers was, “cut release time, stop documenting, we’re going to move your seats around, the project lead is now called the Scrum Master, and now we’re going to be Agile.” Most times, those changes were made without the needed work culture changes. They were made without the benefits being communicated to the staff – namely being that they were going to lead to better customer experience and shorter release times. As a result, many teams adopted Scrumbut practices to meet these demands. It took some organizations years to catch up to implementing Agile and Scrum correctly. I saw a great lack of leadership in many organizations that implemented Scrum wrong. This could easily have been remedied or prevented by giving a few staff workshops in trainings from qualified people to have everybody understanding what these culture and practice changes were about.
b) Training as a Tool for Better Employees and Employee Satisfaction.
I like to refer to this as continuous learning. Technology employees are in great demand. Working in a continuous learning environment is essential to staff retention. It is often a hiring criterion for prospective employees. What is the annual training budget? Who manages my career path? How often do you bring in outside training? These are all commonly asked questions.
Every manager knows that having a skilled staff is essential to getting the job done. But how much is a manager responsible for their staff’s training? This is an age-old question. Having worked in Silicon Valley for my whole career, 2 answers come to mind. As technologies change, it impacts changes to both staff and products. It’s important that your team knows how to do their job – that is a leader’s job. It is your responsibility to make sure that your staff is fully equipped with all the knowledge they need to get the job done. Having said that, many companies in Silicon Valley rely on the individual to keep their skills up to date. Most companies do not provide a career path for their employees. This is unique to the Silicon Valley mindset where knowledge is all-powerful. It is the individual’s job to make sure they can compete in the workforce and get the job done. On the other hand, many companies use training for a staff retention tool. For leaders, this means balancing the individual’s job to direct their career with creating an environment where learning is valued, appreciated, and paid for-sometimes to attract the best employees. It is a long-known fact that many knowledge workers in technology will apply for a job or stay in a current job, because they’re learning cool technologies or using cool technologies, even if they are paid less, compared to if they were to stay or join a company that would be using older or not as cool technologies and platforms.
2. Training on Software Development, Process, Communication, and Collaboration
Just when some teams are feeling more comfortable in Agile development, many organizations are now moving past Agile or graduating from Agile to Kanban development-also known as Lean Software Development (LSD). This change to Kanban has been particularly rapid when dealing with customer support and production issues. Kanban is not the same as Scrum, and a little bit of training can go a long way in helping teams reduce stress and maximize their performance. Many organizations are moving from regular interval releases using Agile development to Continuous Delivery or continuous deployment using DevOps practices. Product development teams really need to know what they are talking about. For example, Continuous Testing is not merely testing continuously.
Currently, I see a huge need for training concerning the move to DevOps. This is a real turning point in software development, where we need culture shifts, team building, and technical knowledge before any significant changes should be attempted. Having operations people, programmers, and testers working daily with business-side people may not go as smoothly as some companies wish. These teams do not have a long history of working together on the same projects, but it can be successful as long as there are culture shifts, in addition to work habit shifts. What DevOps is and how it will be implemented across organizations or even pilot projects, requires rethinking roles and responsibilities. Although DevOps will challenge operations people more than other people on the team, testers, in particular, have a new way of working with far greater responsibility in Continuous Testing. This will directly impact test environments, regression testing, and Test Automation. The demand for training is huge.
3) Training for New Technology
Many companies are familiar with mobile test strategies, but they now have the SMAC stack to contend with-SMAC: social, mobile, analytical, and cloud technologies all rolled up into one development platform.
The rapid growth of mobile testing and mobile platform products took many people by surprise. That platform has now evolved into a much more technically complex set of technologies called the SMAC stack. Testers need significant technical training to be able to handle this shift. Many testers who had been just getting on their feet with mobile testing, or even web service and social API testing, are now being asked to do this in the cloud with cloud tools. A whole new area of analytics also has to be tested. You can read from many sources on how analytics is impacting product development and design, as well as modeling the customer experience. Test teams are in the middle of the analytics world in their work.
This is a brand new area for many test teams. The first thing we all need to agree on is that it is a manager’s job to make sure the team has the skills to do their job effectively. The question for leaders today is how you’ll ensure that your staff gets those skills.
Conclusion: Ideas for Training
There are great traditional practices for getting your staff’s skills up. You can do brown bag lunches, where you give training for an hour, during lunchtime, one day a week. These tend to be very effective as hour chunks of training, and are not as difficult as a full-day training to develop. Also, an hour at lunch is a manageable amount of time and can still have a great impact. You can find some good videos on just about any technology topic and have the team watch them individually, or as a team. To reinforce the learning and make sure all the staff is participating, you can have a group discussion afterward. Doing so enables you to have a minimum amount of content development time.
You can find articles and case studies on all of these new technologies, pass them out to the team to read and follow the same process or examples as the videos, then have group discussions afterward.
The most effective method, which also may be the most traditional, is where you bring an outside trainer in to hold a workshop or teach various topics. There are a lot of hidden values to this style of learning. When the training becomes an event, it tends to be given more weight and focus than having individuals read an article or watch a video. By having a forum where teams can ask questions, argue, and discuss, it tends to get everyone on the same page and reinforce the learning. Also, bringing in an outside expert on the technologies you need is a quick way to get high value learning to a big group of people. As a leader, this is one of your core functions: continuous learning for you and continuous learning for your staff! How you do it is up to you. Good luck!