SlideShare a Scribd company logo
10 Best Practices for New Robotic Process
Automation (RPA) Developer
The democratizationof RPA iscreatinga new breedof developers,manyof whomare from
non-ITbackground.If youare one of them, readonfor the 10 bestpracticeswhichall newbie
developersshouldknow.
. . .
RoboticProcessAutomationorRPA has beendominatingthe headlinesof late.Forall the
goodreasons,of course.
Justrecently, UiPathannouncedthatithas raised$153 millioninaSeriesBroundthat values
the companyat $1.1 billion,makingthempossiblythe firstRPA unicorn.Notthe last,dare we
suggest.
Blue Prism,anotherleadingvendorinthisRPA space,isgoinggreatguns.Their shares,which
are publiclytradedonLondon’sAlternative InvestmentMarket,hasrisenastaggering3-fold
overthe past one year.
Andthe impact of thistechnologyisstartingtotrickle down.
Beyondthe earlyadopterslike the Banking,FinancialServices andInsurance (BFSI) and
BusinessProcessOutsourcing(BPO) industries,manyorganizationsacrossvariedsectorsare
nowlookingatlaunchingor have alreadystartedtoimplementaformal automationor
robotisationprogramme.
CFB Bots
We are a disruptive, deep tech start-up which strives to empower employees to make a
difference at work.
Apr 6 · 10 min read
Get started
In manyof these companies,mundane,repetitive workthatusedtobe performedby
employeesare nowbeingautomatedbysoftware robots.
Of course,the goal of automationisnot simplyjobdisplacements.
For manyof the enlightenedcompaniesthatwe’veseen,besidesenhancingenterprise
productivityandimprovingemployee engagementlevels,RPA alsoprovidesanopportunity
for movingtheiremployeesupthe value chain.
Essentiallyfromless doing tomore thinking.
“You’re eitherthe one that creates the automation or you’re getting automated.”
For example,insteadof performingthe mind-numbingtaskof transactionprocessing,many
SubjectMatter Experts(SMEs) are now takingonthe role of RPA developerwhere theywill
designanddevelopthe software robotsthatwill automate thesetasks.
AndRPA isgreat inthissense because of itsease of use.
Withstandard out-of-the-box featureslike graphicaluserinterface,drag-and-drop
programming,desktoprecordingtool,andmanymore,evennontech-savvyuserscan
become a bonafide RPA developer.
Havingsaidthat, if youhave neverdone programmingorcodingbefore,itisunderstandable
if you harboursome trepidationstowardsyournew jobdescription.
In fact,you are not alone.
Many usershave privatelyairedtheirconcernstousabouttheir new roles.Especiallywhen
manyof theirbosseshave alreadyassumedthatitwill be apiece of cake makingthis
transition.
We knowthe journeyisnotso straightforward.
Hence,to helpyou,we have puttogetherthisguide containingthe 10 bestpractices whichall
newRPA developersshouldknow.
These bestpracticesare distilledfromyearsof experienceinprogramming(ingeneral)and
RPA developmentmore specifically.
Theyare meantto shortcutyour learningcurve,andreduce the amountof angstand
frustrationyoumayhave duringyour developmentcycle.Mostimportantly,we hopethese
tipsprovide youwithactionable insightsthatyoucanimmediatelyapplyinyourwork.
These bestpracticesare generallyRPA-platformagnostic,meaningyoucanapplythem no
matterwhichspecificRPA tool youare workingon.For the clarityof instruction,we have
chosento use UiPathto illustrate some of these concepts.
Let’sget started.
1. DocumentationBegin
withthe endinmind.
In the contextof RPA,thismeansyou shouldstart off bydocumentingthe processthatyou
will be automating.
We call thisthe ProcessDefinitionDocument(PDD),anditminimallycomprisesof the
processmap,as well asa detailedstep-by-stepwalkthroughof the process.These process
stepsare usuallyaugmentedbyscreenshotsforclaritypurposes,andmayinclude pertinent
informationsuchaspossible exceptionsanderrorhandling.
Otheruseful informationtoinclude inside the PDDare:
· Contactsof the processSMEs
· “As is”processmetrics,e.g.transactionvolumes,average handlingtime(AHT),etc
· In scope and outof scope
One hiddenadvantage of doingthisisthatthe PDD can serve aspart of yourorganization’s
BusinessContinuityPlan(BCP).Forexample,if there isanoutage inthe productionbots,your
SMEs shouldbe able topickup the PDD and follow the instructionsthere toperformthe
processmanually(asa lastresort,of course). 2. Planning
If you fail toplan,you planto fail.
The same goesforRPA developmentaswell.
It isgenerallynotadvisableforone tojumpstraightintoRPA developmentwithoutfirst
consideringthe highlevel design.
What thismeansisthat you needtoidentifybeforehandthe variouscomponentsthat
altogethermake upyoursolution,andhow these componentsinteractwithone another.
One great hack — create agenericandprocessagnosticframeworkthatenablesyoutodeal
withanyuse casesina consistentandstructuredmanner.
3. Modularity
Impliedfromthe previouspointisthe importance of modularity.
Modularityinthiscontextmeanssimplytobreakdownacomplex programme intobitesized,
more manageable components.
There are twoimportantbenefitsof doingso.
Firstly,there are oftencommonstepsthatoccur across differentprocesses,forexample,
loggingintothe SAPsystem.Ratherthangeneratingthese stepsfromscratcheverytime you
automate a newprocess,a smarterand more efficientwayistocreate a separate workflow
that doesso,and add thisto yourautomationlibrary.
So the nexttime youhave a processthat requiresloggingintoSAP, youcansimplyinvoke this
workflowfileasfollows:
Thisgreatlyenhancesthe reusabilityof yourcontent.
The secondbenefitisthatmodularitysupportsfine granulardevelopmentandtesting.Thisis
especiallyuseful whendealingwithcomplex processes,asyoucan independentlyassignthe
developmentandtestingof specificcomponentstoindividual developers.
4. Readability
Ignoringthe readabilityof yourRPA scriptisa commonmistake made bymany new RPA
developers.
Readabilityinthiscase meanshoweasyisitfor someone else(otherthanthe developer) to
take the script and understandwhatthe software robotisbeingprogrammedtodo.Infact,
for complex processesinvolvinghundredsorthousandsof steps,the developerhimself often
lose track of what isgoingon if he doesnot take active stepsto ensure readability.
Ensuringgoodreadabilitywill alsodrasticallyreducedthe amountof time youspendduring
troubleshootinganddebugging,aswell asduringbotsmaintenance.
To do so isfairlystraightforward.Mostly,youneedtomake aconscientiousefforttoprovide
meaningful namesforworkflowfiles,activities,argumentsandvariables.
Moreover,as a bestpractice,all yourvariablesandargumentsshouldbe alignedtoa naming
convention:
· Variablesshouldbe incamelCase,e.g. firstName,lastName
· Argumentsshouldbe inTitleCase,e.g. FileName,DefaultTimeOut
Also,all yourworkflownamesshouldcontainthe verbdescribingwhatthe workflow does,
e.g. GetTransactionData,LoginToSAP.
Last but not least,youshouldmake judicioususe of commentsandannotationstodescribe
sectionsof yourcode whichare not as intuitive.Itisimportanttobe selective thoughasyou
do notwant to endup clusteringyourprogramme withredundantcomments.
5. Avoid hard coding
Where possible,youshouldavoidhardcodingall the external settings(e.g.file paths,URLs)
withinyourscript.Byhard coding,we meanthat the onlywayto change these settingsisto
amendthemfromwithinthe scriptitself.
Hard codingshouldbe avoidbecause these settingsare prone tochangesovertime.For
example,the file locationwhereyoudownloadthe dailyreporttomightchange due to
businessrequirements.
The ideais to minimizeunnecessarychangestothe script,especiallyif ithasalreadybeen
deployedtoproduction,toavoidintroducingadditionalbugsorerrors.Also,if these settings
are usedmultipletimeswithinthe script,if youhardcode,youneedtoknow exactlywhere
the changesare required(chancesare thatyoudo not).
The most efficientwaytostore these parametersistouse a configurationfile,anexampleof
whichisgivenbelow:
In thisexample,we have createdanExcel spreadsheetcontainingthree worksheetswhere
the external settings,constantsandautomationassetsare stored.
6. You are not alone
No,I am not referringtothe 1995 Michael Jacksonclassic.
Chancesare thatas a beginner,youare likelytoencountersome seemingly“insurmountable”
problemsduringyourdevelopmentstage.
Ratherthan tearingyourhair cut tryingto resolve yourissues,keepcalmandgoogle it!
For it ishighlylikelythatsomeoneelsehave encounteredthe same problemandfounda
solutionforit.
You will be pleasantlysurprisedbyhow helpful ProfessorGoogle canbe.
By the way,if you happentouse UiPath,do check outtheir forumas well.There are a lotof
active discussionsandyoucanfrequentlyfindanswerstoyourmostpressingquestions.
For it is highly likely that someone else have encountered the same problem and found
One additional advice Iwouldgive istobe as precise aspossible inyoursearchquery.Often
times,the solutionisalreadyoutthere — youjustneedtoknow whattosearch
for!
7. Testing
One commonmistake made bynewbie developersisnottestingtheircode enough(or
at all).
Thisis especiallytrue inthe case of RPA where developersnormallystartoff workingonthe
happypath.
Unfortunately,inreality,the scenariosare usuallymuchmore complicatedthanthat.There
couldbe many variantsof a single process,orthe inputdatamight not come inthe format
that youexpect.
Hence it isimportantto putin place a robusttestplanwithcomprehensive testcases,sothat
we can ensure the robotis performingexactlythe waywe wantitto be.
“Testing leadsto failure,and failure leadsto understanding.”
A failedtestshouldnotleadtofingerpointing.Rather,itshouldbe embracedinthe sense
that the error isdiscoveredbeforethe botsgointoproduction(where fargreaterdamage
can be caused).
Also,youshouldstrive totestas frequentlyaspossible.Donotwaituntil the entire
developmentiscompletedbeforeyoustarttesting.If youhave implementedmodularityin
your design,youshouldbe able toindependentlytestthe variouscomponentsandsee if they
are workingasintended.
For the bestresults,RPA developmentshouldnotbe anindividual pursuit.Inanideal case,
the developer,the peerreviewerandthe testershouldall be differentpersons.
8. Understandthe limitations
No matterwhichRPA platformsyouuse,there isnoone perfecttool.
There are alwayslimitationstowhatall these commerciallyavailable RPA softwarecando,
despite whatyourvendormaytell you.
Some of these include:
· Do not be overlyreliantonthe desktoprecorder.The desktoprecordercanbe a veryuseful
tool for youto understandhowtoconstruct yourRPA scriptfor a certainprocess,butrarely
isthe generatedscriptresilientenoughtobe usedreliablyinaproductionenvironment.
· The truth,unfortunately,isthatthe robots,notmatter how carefullydesignedand
developed,isunlikelytoworkall the time.Hence,inRPA,itisextremelyimportantforthe
robotsto be able tohandle errorsand exceptions.Loggingshouldbe done sothatfurther
investigation,if warranted,canbe carriedout.
· Image recognitionshouldbe usedonlyasalastresort whenall else fails.Thisisbecause
image matchingonlyworkswhenthe image isfullyvisible onscreen,i.e.itcannotbe inthe
background.Also,image recognitionissensitive tothe screenresolution,whichcanbe
sometimestrickytohandle.
· Most RPA toolsallowyoutoextracttextfromdesktopor webapplications,eithernativelyor
usingan OCR engine.If youare usingthe latter,dobe mindful thatOCRis not hundredper
centaccurate. In caseswhere accuracy isimportant,youmightnotwant to relysolelyon
OCR.
9. KeepIt Simple,Stupid
In programming,simpleisbeautiful (butnotalwayseasy).
Where possible,trytoreduce or eliminate unnecessarycomplexitiesinyourscript.Thiswill
helpreduce the numberof bugsor programmingerrors,whichinturnmeansthat you need
to spendlesstime tryingtodebugorresolve them.
10. Taking breaks
You are nota robot,so youwill notbe able to write code non-stop.Yourbrainandbody
requiresregularbreaksforeffectivecoding.Infact,youare likelytocreate more bugsor
make more mistakeswhenyouare tiredor stressedout.
So make ita pointto take enforcedbreakseveryonce inawhile sothatyougive yourself the
opportunitytorecuperate andrecharge.Afterall,codingisaveryintensive(andaddictive
too) activity.
Good automating.
Thisarticle originallyappearedonourRoboticProcessAutomationblogseries.
. . .
Whatare someother adviceyou havefornew RPA developers?Do share themin the
commentsbelow.
sBest Practice nProcess Automatio sRobotic Automation Rpa
FollowCFB Bots
We are a disruptive,deep tech start-up which strives to empower
employees to make a difference at work.
72
Never miss a story fromCFB Bots GET UPDATES

More Related Content

PPTX
PPTX
10TH ANNUAL CFO ​LEADERSHIP CONFERENCE: Most Common RPA Implementation Pitfalls
PDF
Rpa ai automation webinar by new, cfgi, ui path 11 82018
PDF
So Now You’re a UiPath Developer – What’s Next?” What Role do You Play as Dev...
PPTX
RPA_EC_2Cre_Chapter 02-Planning for RPA_Slide
PDF
Rpa webinar part 1 nov 2021
PPTX
Leading RPA Software Solutions for Business Automation
PDF
BA and Beyond 19 Autumn Event - Jurgen Claes - RPA at Acerta Payroll
10TH ANNUAL CFO ​LEADERSHIP CONFERENCE: Most Common RPA Implementation Pitfalls
Rpa ai automation webinar by new, cfgi, ui path 11 82018
So Now You’re a UiPath Developer – What’s Next?” What Role do You Play as Dev...
RPA_EC_2Cre_Chapter 02-Planning for RPA_Slide
Rpa webinar part 1 nov 2021
Leading RPA Software Solutions for Business Automation
BA and Beyond 19 Autumn Event - Jurgen Claes - RPA at Acerta Payroll

Similar to 10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33 (20)

PDF
RPA: Solution, Tool or Hype?
PPTX
ROBOTIC PROCESS AUTOMATION PART - 2.pptx
PPTX
Олена Вірун “Robotics process automation: How we can change the customers bus...
PPTX
Day 2- Solution Design in Process Analysis.pptx
PDF
Learn RPA From School of RPA
PPTX
Softcon - Intelligent Automation: Helping the Future of Workforce
PPTX
Center of Excellence Part 2 - First Steps in Building Scalable RPA
PDF
JOB OF THE FUTURE: RPA Developer
PDF
Why is it so hard to scale your rpa program going from poc to hyperautomation
PDF
Your UiPath Bots are Live, Now What?
PDF
Business Analyst Series 2023 - Week 1 Session 2
PDF
Steps towards RPA Development: How to Document your Automation.pdf
PPTX
RPA_Automation_Anywhere_A360_Presentation.pptx
PPTX
Day 1 - Automation Solution Architect Overview.pptx
PDF
RPA Developer: Navigating The World of Automation
PDF
What it Takes to Automate Your Organization and Develop a Mature Automation S...
PDF
What it Takes to Automate Your Organization and Develop a Mature Automation S...
PDF
Auxis Webinar: Diving into RPA
PDF
Rpa conference new delhi
RPA: Solution, Tool or Hype?
ROBOTIC PROCESS AUTOMATION PART - 2.pptx
Олена Вірун “Robotics process automation: How we can change the customers bus...
Day 2- Solution Design in Process Analysis.pptx
Learn RPA From School of RPA
Softcon - Intelligent Automation: Helping the Future of Workforce
Center of Excellence Part 2 - First Steps in Building Scalable RPA
JOB OF THE FUTURE: RPA Developer
Why is it so hard to scale your rpa program going from poc to hyperautomation
Your UiPath Bots are Live, Now What?
Business Analyst Series 2023 - Week 1 Session 2
Steps towards RPA Development: How to Document your Automation.pdf
RPA_Automation_Anywhere_A360_Presentation.pptx
Day 1 - Automation Solution Architect Overview.pptx
RPA Developer: Navigating The World of Automation
What it Takes to Automate Your Organization and Develop a Mature Automation S...
What it Takes to Automate Your Organization and Develop a Mature Automation S...
Auxis Webinar: Diving into RPA
Rpa conference new delhi
Ad

More from Srinivas Kannan (8)

PDF
An in-depth introduction to Canary Deployments PDF.pdf
PDF
Deploy on AWS from GIT Lab PDF2.pdf
PDF
copados-5-steps-to-devops-success-2022.pdf
PDF
1b-kubernetes-introduction.pdf
PDF
MasteringKubernetesSecondEdition_ColorImages.pdf
PDF
Pipeline_Patterns_R7.pdf
PDF
Pipeline+over view
PDF
Dynamic roadmap for successful implementation
An in-depth introduction to Canary Deployments PDF.pdf
Deploy on AWS from GIT Lab PDF2.pdf
copados-5-steps-to-devops-success-2022.pdf
1b-kubernetes-introduction.pdf
MasteringKubernetesSecondEdition_ColorImages.pdf
Pipeline_Patterns_R7.pdf
Pipeline+over view
Dynamic roadmap for successful implementation
Ad

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
A Presentation on Artificial Intelligence
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
Teaching material agriculture food technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Electronic commerce courselecture one. Pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
A Presentation on Artificial Intelligence
The Rise and Fall of 3GPP – Time for a Sabbatical?
Teaching material agriculture food technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Review of recent advances in non-invasive hemoglobin estimation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
A comparative analysis of optical character recognition models for extracting...
Programs and apps: productivity, graphics, security and other tools
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
Assigned Numbers - 2025 - Bluetooth® Document
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Electronic commerce courselecture one. Pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf

10 best-practices-for-new-robotic-process-automation-rpa-developer-220f7ccdf33

  • 1. 10 Best Practices for New Robotic Process Automation (RPA) Developer The democratizationof RPA iscreatinga new breedof developers,manyof whomare from non-ITbackground.If youare one of them, readonfor the 10 bestpracticeswhichall newbie developersshouldknow. . . . RoboticProcessAutomationorRPA has beendominatingthe headlinesof late.Forall the goodreasons,of course. Justrecently, UiPathannouncedthatithas raised$153 millioninaSeriesBroundthat values the companyat $1.1 billion,makingthempossiblythe firstRPA unicorn.Notthe last,dare we suggest. Blue Prism,anotherleadingvendorinthisRPA space,isgoinggreatguns.Their shares,which are publiclytradedonLondon’sAlternative InvestmentMarket,hasrisenastaggering3-fold overthe past one year. Andthe impact of thistechnologyisstartingtotrickle down. Beyondthe earlyadopterslike the Banking,FinancialServices andInsurance (BFSI) and BusinessProcessOutsourcing(BPO) industries,manyorganizationsacrossvariedsectorsare nowlookingatlaunchingor have alreadystartedtoimplementaformal automationor robotisationprogramme. CFB Bots We are a disruptive, deep tech start-up which strives to empower employees to make a difference at work. Apr 6 · 10 min read Get started
  • 2. In manyof these companies,mundane,repetitive workthatusedtobe performedby employeesare nowbeingautomatedbysoftware robots. Of course,the goal of automationisnot simplyjobdisplacements. For manyof the enlightenedcompaniesthatwe’veseen,besidesenhancingenterprise productivityandimprovingemployee engagementlevels,RPA alsoprovidesanopportunity for movingtheiremployeesupthe value chain. Essentiallyfromless doing tomore thinking. “You’re eitherthe one that creates the automation or you’re getting automated.” For example,insteadof performingthe mind-numbingtaskof transactionprocessing,many SubjectMatter Experts(SMEs) are now takingonthe role of RPA developerwhere theywill designanddevelopthe software robotsthatwill automate thesetasks. AndRPA isgreat inthissense because of itsease of use. Withstandard out-of-the-box featureslike graphicaluserinterface,drag-and-drop programming,desktoprecordingtool,andmanymore,evennontech-savvyuserscan become a bonafide RPA developer. Havingsaidthat, if youhave neverdone programmingorcodingbefore,itisunderstandable if you harboursome trepidationstowardsyournew jobdescription. In fact,you are not alone. Many usershave privatelyairedtheirconcernstousabouttheir new roles.Especiallywhen manyof theirbosseshave alreadyassumedthatitwill be apiece of cake makingthis transition. We knowthe journeyisnotso straightforward. Hence,to helpyou,we have puttogetherthisguide containingthe 10 bestpractices whichall newRPA developersshouldknow. These bestpracticesare distilledfromyearsof experienceinprogramming(ingeneral)and RPA developmentmore specifically. Theyare meantto shortcutyour learningcurve,andreduce the amountof angstand frustrationyoumayhave duringyour developmentcycle.Mostimportantly,we hopethese tipsprovide youwithactionable insightsthatyoucanimmediatelyapplyinyourwork. These bestpracticesare generallyRPA-platformagnostic,meaningyoucanapplythem no matterwhichspecificRPA tool youare workingon.For the clarityof instruction,we have chosento use UiPathto illustrate some of these concepts. Let’sget started. 1. DocumentationBegin withthe endinmind.
  • 3. In the contextof RPA,thismeansyou shouldstart off bydocumentingthe processthatyou will be automating. We call thisthe ProcessDefinitionDocument(PDD),anditminimallycomprisesof the processmap,as well asa detailedstep-by-stepwalkthroughof the process.These process stepsare usuallyaugmentedbyscreenshotsforclaritypurposes,andmayinclude pertinent informationsuchaspossible exceptionsanderrorhandling. Otheruseful informationtoinclude inside the PDDare: · Contactsof the processSMEs · “As is”processmetrics,e.g.transactionvolumes,average handlingtime(AHT),etc · In scope and outof scope One hiddenadvantage of doingthisisthatthe PDD can serve aspart of yourorganization’s BusinessContinuityPlan(BCP).Forexample,if there isanoutage inthe productionbots,your SMEs shouldbe able topickup the PDD and follow the instructionsthere toperformthe processmanually(asa lastresort,of course). 2. Planning If you fail toplan,you planto fail. The same goesforRPA developmentaswell. It isgenerallynotadvisableforone tojumpstraightintoRPA developmentwithoutfirst consideringthe highlevel design. What thismeansisthat you needtoidentifybeforehandthe variouscomponentsthat altogethermake upyoursolution,andhow these componentsinteractwithone another. One great hack — create agenericandprocessagnosticframeworkthatenablesyoutodeal withanyuse casesina consistentandstructuredmanner.
  • 4. 3. Modularity Impliedfromthe previouspointisthe importance of modularity. Modularityinthiscontextmeanssimplytobreakdownacomplex programme intobitesized, more manageable components. There are twoimportantbenefitsof doingso. Firstly,there are oftencommonstepsthatoccur across differentprocesses,forexample, loggingintothe SAPsystem.Ratherthangeneratingthese stepsfromscratcheverytime you automate a newprocess,a smarterand more efficientwayistocreate a separate workflow that doesso,and add thisto yourautomationlibrary. So the nexttime youhave a processthat requiresloggingintoSAP, youcansimplyinvoke this workflowfileasfollows: Thisgreatlyenhancesthe reusabilityof yourcontent. The secondbenefitisthatmodularitysupportsfine granulardevelopmentandtesting.Thisis especiallyuseful whendealingwithcomplex processes,asyoucan independentlyassignthe developmentandtestingof specificcomponentstoindividual developers. 4. Readability Ignoringthe readabilityof yourRPA scriptisa commonmistake made bymany new RPA developers. Readabilityinthiscase meanshoweasyisitfor someone else(otherthanthe developer) to take the script and understandwhatthe software robotisbeingprogrammedtodo.Infact, for complex processesinvolvinghundredsorthousandsof steps,the developerhimself often lose track of what isgoingon if he doesnot take active stepsto ensure readability. Ensuringgoodreadabilitywill alsodrasticallyreducedthe amountof time youspendduring troubleshootinganddebugging,aswell asduringbotsmaintenance. To do so isfairlystraightforward.Mostly,youneedtomake aconscientiousefforttoprovide meaningful namesforworkflowfiles,activities,argumentsandvariables. Moreover,as a bestpractice,all yourvariablesandargumentsshouldbe alignedtoa naming convention: · Variablesshouldbe incamelCase,e.g. firstName,lastName · Argumentsshouldbe inTitleCase,e.g. FileName,DefaultTimeOut
  • 5. Also,all yourworkflownamesshouldcontainthe verbdescribingwhatthe workflow does, e.g. GetTransactionData,LoginToSAP. Last but not least,youshouldmake judicioususe of commentsandannotationstodescribe sectionsof yourcode whichare not as intuitive.Itisimportanttobe selective thoughasyou do notwant to endup clusteringyourprogramme withredundantcomments. 5. Avoid hard coding Where possible,youshouldavoidhardcodingall the external settings(e.g.file paths,URLs) withinyourscript.Byhard coding,we meanthat the onlywayto change these settingsisto amendthemfromwithinthe scriptitself. Hard codingshouldbe avoidbecause these settingsare prone tochangesovertime.For example,the file locationwhereyoudownloadthe dailyreporttomightchange due to businessrequirements. The ideais to minimizeunnecessarychangestothe script,especiallyif ithasalreadybeen deployedtoproduction,toavoidintroducingadditionalbugsorerrors.Also,if these settings are usedmultipletimeswithinthe script,if youhardcode,youneedtoknow exactlywhere the changesare required(chancesare thatyoudo not). The most efficientwaytostore these parametersistouse a configurationfile,anexampleof whichisgivenbelow: In thisexample,we have createdanExcel spreadsheetcontainingthree worksheetswhere the external settings,constantsandautomationassetsare stored. 6. You are not alone No,I am not referringtothe 1995 Michael Jacksonclassic. Chancesare thatas a beginner,youare likelytoencountersome seemingly“insurmountable” problemsduringyourdevelopmentstage. Ratherthan tearingyourhair cut tryingto resolve yourissues,keepcalmandgoogle it!
  • 6. For it ishighlylikelythatsomeoneelsehave encounteredthe same problemandfounda solutionforit. You will be pleasantlysurprisedbyhow helpful ProfessorGoogle canbe. By the way,if you happentouse UiPath,do check outtheir forumas well.There are a lotof active discussionsandyoucanfrequentlyfindanswerstoyourmostpressingquestions. For it is highly likely that someone else have encountered the same problem and found
  • 7. One additional advice Iwouldgive istobe as precise aspossible inyoursearchquery.Often times,the solutionisalreadyoutthere — youjustneedtoknow whattosearch for! 7. Testing One commonmistake made bynewbie developersisnottestingtheircode enough(or at all). Thisis especiallytrue inthe case of RPA where developersnormallystartoff workingonthe happypath. Unfortunately,inreality,the scenariosare usuallymuchmore complicatedthanthat.There couldbe many variantsof a single process,orthe inputdatamight not come inthe format that youexpect. Hence it isimportantto putin place a robusttestplanwithcomprehensive testcases,sothat we can ensure the robotis performingexactlythe waywe wantitto be. “Testing leadsto failure,and failure leadsto understanding.” A failedtestshouldnotleadtofingerpointing.Rather,itshouldbe embracedinthe sense that the error isdiscoveredbeforethe botsgointoproduction(where fargreaterdamage can be caused). Also,youshouldstrive totestas frequentlyaspossible.Donotwaituntil the entire developmentiscompletedbeforeyoustarttesting.If youhave implementedmodularityin your design,youshouldbe able toindependentlytestthe variouscomponentsandsee if they are workingasintended. For the bestresults,RPA developmentshouldnotbe anindividual pursuit.Inanideal case, the developer,the peerreviewerandthe testershouldall be differentpersons.
  • 8. 8. Understandthe limitations No matterwhichRPA platformsyouuse,there isnoone perfecttool. There are alwayslimitationstowhatall these commerciallyavailable RPA softwarecando, despite whatyourvendormaytell you. Some of these include: · Do not be overlyreliantonthe desktoprecorder.The desktoprecordercanbe a veryuseful tool for youto understandhowtoconstruct yourRPA scriptfor a certainprocess,butrarely isthe generatedscriptresilientenoughtobe usedreliablyinaproductionenvironment. · The truth,unfortunately,isthatthe robots,notmatter how carefullydesignedand developed,isunlikelytoworkall the time.Hence,inRPA,itisextremelyimportantforthe robotsto be able tohandle errorsand exceptions.Loggingshouldbe done sothatfurther investigation,if warranted,canbe carriedout. · Image recognitionshouldbe usedonlyasalastresort whenall else fails.Thisisbecause image matchingonlyworkswhenthe image isfullyvisible onscreen,i.e.itcannotbe inthe background.Also,image recognitionissensitive tothe screenresolution,whichcanbe sometimestrickytohandle. · Most RPA toolsallowyoutoextracttextfromdesktopor webapplications,eithernativelyor usingan OCR engine.If youare usingthe latter,dobe mindful thatOCRis not hundredper centaccurate. In caseswhere accuracy isimportant,youmightnotwant to relysolelyon OCR. 9. KeepIt Simple,Stupid In programming,simpleisbeautiful (butnotalwayseasy). Where possible,trytoreduce or eliminate unnecessarycomplexitiesinyourscript.Thiswill helpreduce the numberof bugsor programmingerrors,whichinturnmeansthat you need to spendlesstime tryingtodebugorresolve them.
  • 9. 10. Taking breaks You are nota robot,so youwill notbe able to write code non-stop.Yourbrainandbody requiresregularbreaksforeffectivecoding.Infact,youare likelytocreate more bugsor make more mistakeswhenyouare tiredor stressedout. So make ita pointto take enforcedbreakseveryonce inawhile sothatyougive yourself the opportunitytorecuperate andrecharge.Afterall,codingisaveryintensive(andaddictive too) activity. Good automating. Thisarticle originallyappearedonourRoboticProcessAutomationblogseries. . . . Whatare someother adviceyou havefornew RPA developers?Do share themin the commentsbelow. sBest Practice nProcess Automatio sRobotic Automation Rpa FollowCFB Bots We are a disruptive,deep tech start-up which strives to empower employees to make a difference at work. 72 Never miss a story fromCFB Bots GET UPDATES