cancel
Showing results for 
Search instead for 
Did you mean: 

Duplication Detection

AntonyAskew
Level 2
Currently when starting development, a BP dev is tasked with making sure there isn't already a process or object in existence that they can also use. 

This manual checking doesn't scale well, and as the number of processes and objects in our environment increases, and we have a large team of developers, we are finding sometimes there is duplication of functionality in our objects in particular. 

Has anyone tried to tackle this other than by manual effort?

------------------------------
Thanks!
------------------------------
3 REPLIES 3

DaveMorris
Level 14
I completely agree that this is a huge pain. In an ideal world, a central team would have oversight of the various projects going on and ensure that objects that are candidates for reuse are raised up to be developed and managed at a higher level. Just because an object already exists for the same purpose does not automatically mean it should be reused. It depends on the quality of the code, the originally-intended scope, and what not. Granted, if it's an object that simply launches app or gives some extra string manipulation options, then of course that's a no-brainer. But I do think it takes using a central team to review the possibility of reuse. The 'contract' of what those reusable objects/actions provide has to then be maintained, but the original developer of that object that is now being reused may not even be aware that someone is reusing it and thus that developer may end up breaking the functionality during updates without even realizing it. This is why I think that Blue Prism's reuse feature is really cool and is awesome when a central team manages the reuse objects, but it is absolutely not a good idea unless someone is taking responsibility for ensuring those objects are always backwards compatible.

A slightly easier way to accomplish this would be to assign people as the 'owners' of various objects and updates should always go through them. The owner's name could be saved in the Description field of the object or maybe in a spreadsheet (yuck). Then just have some kind of global chat in TEAMS or Slack or whatever your chat app is. When someone is going to build a new object that 'seems' like it's worth looking up an existing action/object for, then the person posts in the chat and says, 'hey guys, anyone already got an object for this?' And then in my perfect imaginary world, it doesn't take 3 days for someone to respond. They say, 'yeah, I made an object that does X and Y but it looks like you also need Z. Let me get that updated and then you can go for it.'

You're welcome. This has been a walk through Dave's dream world.

------------------------------
Dave Morris
3Ci @ Southern Company
Atlanta, GA
------------------------------
Dave Morris 3Ci at Southern Company Atlanta, GA

AmiBarrett
Level 12
In theory, you could try and run some queries against the BPAProcess table. There's probably a way of using that to automatically find duplicates (though I'd imagine it would be slow), but you can certainly run "like %keyword%" queries against it and see what comes up.

------------------------------
Ami Barrett
Sr Product Consultant
Blue Prism
Plano, TX
------------------------------

Sorry for the  delay in replying.  I suspect there may be mileage in parsing the contents of BPAProcess in an attempt to at least capture and categorise what is in it, as a starting point.  It sounds like a development opportunity for a BP partner - one of many I can think of.

------------------------------
Antony Askew
CSA Capability Lead
Schroders
------------------------------