Custom Development Management and Resource Planning Eric Halbur, Application Development Manager
Getting to the Next Level Managing custom development in SAP can be a daunting task over the long haul. The best chance for success is to build up a structured process and governance around your custom development. Take a few pages from the CMMI play book as well as set team goals to build your sophistication level around custom development. Lets discuss how to build up a custom development review process as well as a prioritization scheme. What data to collect along with development requests to better support capacity planning, code review, and criteria for outsourcing. Examples and real life data will be presented to support the concepts presented.
Topics CMMI Application Custom Development Governance Code Quality Custom Development Clean-up Out-Tasking Support Capacity Planning
CMMI Application What is CMMI? Wikipedia A process improvement approach. Can be used to guide process improvement across a project, a division, or an entire organization. Processes are rated according to their maturity levels Bottom Line Any process designed to promote quality and continuous improvement can help benefit your team. Take the parts that make the most sense and apply them. (ITIL, COBIT, CMMI, )
CMMI Application Take a CMMI-lite approach Causal Analysis and Resolution (CAR) Identify Configuration Items Configuration Management (CM) Decision Analysis and Resolution (DAR) Integrated Project Management +IPPD (IPM+IPPD)6 Create Release Baselines Configuration Management System Measurement and Analysis (MA) Organizational Innovation and Deployment (OID) Establish Measurement Objectives Organizational Process Definition +IPPD (OPD+IPPD)6 Organizational Process Focus (OPF) Organizational Process Performance (OPP) Specify Measures Specify Data Collection and Storage Procedures Organizational Training (OT) Product Integration (PI) Specify Analysis Procedures Project Monitoring and Control (PMC) Project Planning (PP) Process and Product Quality Assurance (PPQA) Collect Measurement Data Analyze Measurement Data Quantitative Project Management (QPM) Provide Measurement Results Requirements Development (RD) Requirements Management (REQM) Store Data and Results Communicate Results Risk Management (RSKM) Supplier Agreement Management (SAM) Technical Solution (TS) Objectively Evaluate Work Products and Services Validation (VAL) Verification (VER) Objectively Evaluate Processes Provide Objective Insight Communicate and Ensure Resolution of Noncompliance Issues Establish Records
Custom Development Governance It is important that you not only have defined processes but also that there are mechanisms to manage data collection and aggregation. Formal Code Review Process Review Boards Unit Testing / QA Testing Plan Process Technical Specifications Functional Specification before Development Problem Process, IT Change Management Process, Incident Process, IT Project Process Time Tracking and Resource Management Statusing and Categorization
Governance Example
Governance Example
Code Quality Code review process implemented for every complex change. This is done in the Development system prior to migration. Check Code Standards Verify Performance Why? In 2012 38 bugs were recorded, with 28 days logged by just developers.
Custom Development Clean-up Reducing configuration items makes for a less confusing landscape during problem analysis and upgrade efforts. Core ERP has ~6,000 custom objects and ~800 modifications Tools like SAP CDMC, SAP Custom Code Library or even custom reports for managing code.
Out-Tasking Support Don t OutSource, OutTask Over time and experimentation we have found that our most valuable full time resources are those who have a blend of both business process knowledge and technical knowledge. For our business raw coding is not a core competency. In our OutTasking model we send tasks to contractors which are very well documented and straight forward. These tasks do not require architecting or heavy process knowledge.
Capacity Planning Capacity planning to a low level can be very challenging. However, capacity planning to a medium level does not have to be that difficult and can pay back rewards quickly.
Conclusions Using CMMI was a good tool/push for us to move ourselves to the next level of sophistication. Most important is to set a vision for continuous improvement and then live it. Make it part of Performance Management Create weekly, monthly, quarterly, and or yearly snapshots, then ask why is the data this way Be open with management and other teams around the data, build a trust level with the numbers Celebrate success
Questions