
Same person should not receive funds and approve write-off of receivables.Same person should not do vendor payment – batch initiation and approve vendor payments.Same person should not create requisition and approve vendor invoice.Same person should not create requisition and approve requisition.Same person should not do buyer setup and vendor payment.Same person should not do buyer setup and approve vendor invoice.

Same person should not do buyer setup and enter vendor invoice.Same person should not approve time cards and have custody of paychecks.Same person should not do buyer setup and approve purchase order.Same person should not do buyer setup and approve requisition.Same person should not enter receivables and approve receivables.Same person should not enter a journal and approve journal entries.Same person should not maintain credit limits and release credit holds.Same person should not purchase an order and approve an order.Same person should not deposit cash and do bank reconciliation of bank statements.Same person should not do bank reconciliation and approve vendor payments.Same person should not make payments to vendors and do reconciliation of bank statements.Same person should not do bank reconciliation and vendor payments.

#Principle of segregation manual

RiskRewards™ Continuous Customer Success Program.Propel your career forward with SafePaaS.So creating arbitrary slices as you did of otherwise properly designed interfaces (your starting with a poor interface example obfuscates this) just so you don't have to implement all the pieces (but others who might need them all now have to gang all those arbitrarily tiny interfaces together) is poor design and not what the interface segregation principle intends. It's a principle that instructs creating granular interfaces - e.g., my washing machine interface shouldn't also define microwave oven functionality (might be great if I have a very special washing machine/microwave combination that lets me make popcorn while I wait for my laundry, but overall it's a poor interface design)īUT - a properly designed interface defines ALL the attributes necessary to fully express the properties, behavior, and actions involved with that interface - no more, but no LESS Interface segregation has absolutely nothing to do with whether YOU don't want to have to implement all pieces of an interface - it's not about your laziness or immediate short term usage pattern you have planned for the interface. It's not just you - a lot of people misunderstand the underlying principle
