Federating your development efforts means that, by this point, you likely have a decent number of newcomers who have benefitted from regular “office hours” sessions by asking questions, listening in to the answers provided to the questions from others, or learning about newly available reusable assets. As your automation program continues to grow, there are two key areas that can help accelerate the onboarding and maturation of new developers being brought into the “fold” of your burgeoning automation practice.
Citizen Developer Office Hours
The first time I was told about Robotic Process Automation at my previous employer it was described to me by a well-meaning business leader who said “it’s these robots that sit behind you and watch what you’re doing on your computer...they eventually start to use your keyboard and mouse for you, and you don't have to do anything.” He wasn't trying to mislead anyone intentionally, he just legitimately didn't really understand the technology, so he filled in some gaps from stuff he must have seen in a movie or something as he tried to explain it.
We’ve all been there though, being totally new to something, intimidated to ask the questions we want to ask to really understand what's going on. Assuming you’ve decided to start democratizing bot building across your organization to include business users interested in building their own automations, there’s no doubt you have Citizen Developers who need a place to go to ask questions without feeling embarrassed or intimidated to ask for help. A regular office hours session dedicated specifically to people brand new to building automations, who may have no background in IT/Development, can provide a place for Citizen Developers to get help, learn from others, and find community with a group of other people who are admittedly still learning.
They will use incorrect phrases, they may have trouble explaining certain concepts, and they may not always be using error handling off the bat (hopefully they’re using your bot framework though). But it's important that they have a safe place to ask questions. Imposter syndrome is a real thing and it's important that these new bot builders know that even if it seems overwhelming at first, or even if it seems like they aren’t “technical,” that this IS doable, and they CAN learn new things. Know that this will require soft skills like empathy and communication as much as it will require technical skills to explain, teach, and fix their automations.
Regardless of your decision to pursue Citizen Development or not, pair programming or a co-development model can be an effective lever to efficiently bring junior developers/Citizen Developers/new employees up to speed. Pair programming, when it comes to Automation Anywhere automation development, can look a bit different based on how your organization chooses to set this up, but generally co-development includes, but is not limited to:
- Best Practices communication/validation
- Ensuring task/subtask namings are in-line with expectations
- Variable names are followed in the prescribed pattern
- Credentials Vault/Lockers are being appropriately used
- Error Handling/Logging standards followed
- Regular Code Reviews
- Ensuring the logic is built in an efficient concise way
- Validating that reusable components are being leveraged
- Testing Guidance
- Help with Various System Integrations
- Internal apps that may be challenging to work with/unfamiliar to a new developer
- Processes, Standards, and Expectations around Documentation
- Support in Working with QA Teams
- Addressing Last-Minute Process Changes
- Change Management Process Guidance
Why? Think back to when you learned to drive. You did some level of in-classroom training to learn about the laws of the road. Then you likely had to do some level of driving monitored by a licensed individual (typically a parent). And only after x number of hours of monitored road time were you eligible to take the driving test to eventually be licensed to drive on your own. In this same way, co-development provides that “on-ramp” (done with the driving analogies) for new developers to learn the standards of how things are done when it comes to automation development within your organization.
The ultimate goal of a pair programming/co-development program is high-quality automations that run reliably in a production environment that can be consistently supported, maintained, and updated regardless of who the original developer was.
Conclusion & Actionable Takeaways
Community is more important than any automation leader thinks at first. A healthy community provides in-house resources for people to get help, get guidance, and find shared experiences. Building an internal community of practice is absolutely a soft skill that many leaders overlook, but as an automation lead you have the ability to set the culture for how the automation practice at your organization is team-first and inclusive of all who are looking to drive change through automation at your organization.
- Even if you’ve already started a regular “Automation Developers” office hours as recommended in the accelerate phase, consider at least piloting an office hours session for Citizen Developers
- Invite some of the more experienced automation developers to join the session to help out, prepping them to be patient, over-communicate, and think back to when they were just learning something totally new.
- Pair Programming/Co-Development enables your automation practice to ramp up new developers and indoctrinate them into the standards you’ve set for automation development at your organization. Pilot a co-development program with some of your newest developers/citizen developers.
- Take note of how the program helps them to ramp up more quickly and identify areas for improvement as you look to expand the co-development program.