You’re reading the third post in a series that’s intended to get you and your teams started on the path to success with your UI test automation projects:
2. Before You Start
3. People (you are here)
5. Look before You Jump
6. Automation in the Real World
7. Improving Your Success
Important note: After its completion, this series will be gathered up, updated/polished and published as an eBook. We’ll also have a follow-on webinar to continue the discussion. Interested?
As with everything else in software development, success comes through getting good people and giving them the tools they need to succeed. Lining up the right people for your successful project means finding ones with the right skills, or giving them time and support to grow those skills.
Please get this clear in your mind immediately: you can't take developers with no UI automation background and expect them to succeed at test automation without help. You can't take manual testers and expect them to succeed at test automation without help. You can't take non-testers, give them a fancy tool and expect them to succeed at test automation without a lot of help. Ensure you're setting your organization up for success by ensuring you're able to get or grow the right team members.
UI automation requires a specialized set of skills to be effective. Becoming adept at UI automation requires time and mindful practice. ("Mindful practice" is a term used for carefully chosen work/study/practice meant specifically to improve one's skills or knowledge. You can't just "go through the motions" and expect to improve. You need to dedicate yourself to improvement. Read more in Andy Hunt's Pragmatic Thinking and Learning.)
Keep in mind that it's not enough to simply learn UI automation skills—just as you want developers who write great maintainable code, you also want people who understand how to write great maintainable automation scripts.
Finding great people in any corner of the software development domain is hard; finding people with great UI automation skills is much harder. It's a specialty that's underappreciated and not practiced widely enough. Make sure you have your time frame and budget expectations properly set if you're looking to expand your team by hiring.
What I've found more effective in my experience is to find current team members, or people elsewhere in my organization, and bring them to my team, then develop their skills. Poaching from other teams ("stealing" is such a harsh word!) can be politically tricky at times, so make sure you're not sawing off the branch you're standing on, metaphorically speaking.
You'll need to work hard at building up your team's skills. This means you'll need both resources to learn from, plus a plan on how to learn.
Thankfully, there are a lot of great resources around to help you learn UI test automation. Better yet, many of the fundamental concepts are the same, regardless of the specific toolset you're working with, so you can look to industry experts rather than just tool experts.
I've worked with many teams and individuals to help them up the learning curve, and I've talked with lots of other people who've been through the same process. All that experience and those conversations echo what should be common sense: directed, thoughtful practice is the best way to quickly get up to speed.
Remember: as you get to this point, it's critical that you've got support from stakeholders and your team. That support is key to getting through the learning process.
Here's an outline of a process that may be useful to you:
Getting the right people lined up and empowered to succeed is crucial. Learning to master automation takes a long time, but the payoff is worth it: better value and higher-quality software delivered to your users.
Are you enjoying this series so far and finding it useful? Let us know in the comments!
Jim is an Executive Consultant at Pillar Technology. He is also the owner of Guidepost Systems. He has been in various corners of the IT world since joining the US Air Force in 1982. He’s spent time in LAN/WAN and server management roles in addition to many years helping teams and customers deliver great systems. Jim has worked with organizations ranging from startups to Fortune 100 companies to improve their delivery processes and ship better value to their customers. When not at work you might find Jim in the kitchen with a glass of wine, playing Xbox, hiking with his family, or banished to the garage while trying to practice his guitar.
Subscribe to be the first to get our expert-written articles and tutorials for developers!