Build custom code on top of a standard software is always an investment and often not cheap. It will lead to new responsibilities, additional effort and further investments in any kind of change events.
Let us assume you will have a perfect specification and a requirement document. The next step will be the design and implementation phase. In best case with an agile development methodology like SCRUM. But it works also with the waterfall methodology.
The goal: Breaking business specification into testable features with moderate development effort provide a base for both developer and QA’s activity planning; It also serve as the primary input into backlog in Scrum/takt planning and execution.
I.N.V.E.S.T. for better Custom Code
Independent backlog item are easiest to be developed. Use the SCRUM methodology and break down the requirements in smaller pieces
Capture the essence of a feature and leave design/implementation/ testing details to team. Focus on the need for the business and do not manipulate the developers. They know what is feasable or not.
Cares about value to the business and only to the business. Usage estimation of features to be implemented are really needed. Avoid requesting waste or features nobody really use.
Estimable so that both SCRUM team and the appication business owner are able to rank and plan implementation.
Small so that one development team can deliver in one development cycle unit. No sense to have one backlog team to consume all available team capacity. Recommendation: size < 15PD for a working, releaseable feature
Testable so that quality can be assured by Quality Assurance using ABAP Test Cockpit or SAP Code Inspector after code implementation.