## 4.2.9.5.6 Use Case 3: One Codeline with On-Demand Development Systems
You can apply this setup if you have:
- Small development projects (for example one SAP Fiori application, one developer)
- Occasional development activities (for example after an initial development phase, it is expected to only implement new features on a yearly basis)
The ABAP system landscape consists of a permanent production system and an on-demand development system.
<!-- image -->
The advantage of this setup is that you have to administer few systems and only pay for the development system during the development periods. The payment model according to the lifetime of a system requires an SAP BTP enterprise agreement contract.
The disadvantages of this setup are that de-commissioning the development system means losing the change history as well as the configuration and application data.
The user base and authorizations have to be set up each time the development system is provisioned.
Not testing with a transported version of the solution always comes with the risk of forgetting to transport an object. This can be avoided by testing in the development system on the release branch.
##  Note
A much more production-like test can only be ensured in a non-development system, where the objects of the solution are initially created and changed by pulls, and where there is no authorization automatism for testing, see tester role in Required Business Roles [page 784].
Using API compatibility checks will not be possible with this use case without a permanent system. For the ATC check required API snapshots are not transported and would be deleted during system deprovisioning. For more information, see Checking the Compatibility of Released APIs. We thus strongly recommend developing with Use Case 1: One Codeline in a 3-System Landscape [page 786] instead of use case 3. The quality assurance system might be de-/commissioned on demand then.
## For the Go Live
## Starting situation:
- A (temporary) development system is set up
- The production system is set up
- Both systems are based on the main branch
- Software Component Relations are defined for dependencies between leading- and reuse software components
|   Step | System   | Role                 | Task                                                                                                                                                                                      | Tool                                                    |
|--------|----------|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
|      1 | DEV, PRD | System Administrator | Provision a develop- ment and a production system                                                                                                                                         | SAP BTP cockpit                                         |
|      2 | DEV, PRD | User Administrator   | Create users and maintain roles                                                                                                                                                           | Maintain Business Users and Maintain Business Roles app |
|      3 | DEV      | Release Manager      | Create a software component of type Development and, if required, a soft- ware component of type Business Configuration . Pull the software compo- nent(s) into the devel- opment system. | Manage Software Components app                          |
|      4 | PRD      | Release Manager      | Pull the (empty) soft- ware component(s) into the production system                                                                                                                       | Manage Software Components app                          |
| Step   | System   | Role                            | Task                                                                                                                                                                                                                                                                                                                                                                                                                                    | Tool                                                                                                                                                                                                |
|--------|----------|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 5a     | DEV      | Developer                       | Develop new functional requirements or cor- rect existing function- alities. All required changes are collected in Workbench trans- port requests. During development ATC checks are run- ning and exemptions requested for false- positive findings Re- questing ATC Exemp- tions . Make sure to maintain new depend- encies between soft- ware components in software component relations (Editing Soft- ware Component Rela- tions). | ABAP Development Tools for Eclipse                                                                                                                                                                  |
| 5b     | DEV      | Business Configura- tion Expert | Maintain business con- figuration. All changes are collected in cus- tomizing transport re- quests.                                                                                                                                                                                                                                                                                                                                     | Maintain Business Configurations app                                                                                                                                                                |
| 6      | DEV      | Tester                          | Test the change and report the test results. During testing ATC checks are running.                                                                                                                                                                                                                                                                                                                                                     | ABAP Development Tools for Eclipse with and custom SAP Fiori apps as well as exter- nal test tools. See Au- tomate the Software Lifecycle Management Process Process. External documenta- tion tool |
| 7      | DEV      | Quality Manager                 | Approve or reject ATC exemptions                                                                                                                                                                                                                                                                                                                                                                                                        | ABAP Development Tools for Eclipse: ATC Exemptions                                                                                                                                                  |
|        |          | Release Manager                 | If changes are re- quired, repeat steps 5-7                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                                                                     |
| 8      | DEV      | Release Manager                 | Release decision: the changes are success- fully tested and ap- proved.                                                                                                                                                                                                                                                                                                                                                                 | External documenta- tion tool                                                                                                                                                                       |
|   Step | System   | Role                 | Task                                                                               | Tool                                                                                         |
|--------|----------|----------------------|------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
|      9 | DEV      | Release Manager      | Release the transport request(s). During transport release ATC checks are running. | ABAP Development Tools for Eclipse: Transport Organizer or Export Customizing Transports app |
|     10 | DEV      | Release Manager      | Create a release branch YYYY-<nn> for each software compo- nent                    | Manage Software Components app                                                               |
|     11 | PRD      | Release Manager      | Check out the release branch YYYY-<nn> of each software compo- nent                | Manage Software Components app                                                               |
|     12 | DEV      | System Administrator | De-provision system DEV                                                            | SAP BTP cockpit                                                                              |
## Productive Usage
- The production ABAP system is based on the main branch
- Since no development can be performed in the production ABAP system, a temporary development ABAP system must be set up if occasional development is required
## Occasional Development
- The production ABAP system is based on the main branch
- A temporary development ABAP system is set up
- All software components are imported
|   Step | System   | Role            | Task                                                                                          | Tool                                                |
|--------|----------|-----------------|-----------------------------------------------------------------------------------------------|-----------------------------------------------------|
|      1 | DEV      | Release Manager | Provision a new devel- opment system                                                          | SAP BTP cockpit                                     |
|      2 | DEV      | Release Manager | Create users, maintain and assign roles                                                       | Manage Business Users and Manage Business Roles app |
|      3 | DEV      | Release Manager | Import main branch of each software component into the newly provisioned de- velopment system | Manage Software Components app                      |
| Step   | System   | Role                            | Task                                                                                                                                                                                                                                                                                                                                                                     | Tool                                                                                                                             |
|--------|----------|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| 4a     | DEV      | Developer                       | Develop features. All required changes are collected in Work- bench transport re- quests. Working with ATC during develop- ment and exemptions requested for false- positive findings Re- questing ATC Exemp- tions . Make sure to maintain new depend- encies between soft- ware components in software component relations (Editing Soft- ware Component Rela- tions). | ABAP Development Tools for Eclipse                                                                                               |
| 4b     | DEV      | Business Configura- tion Expert | Maintain business con- figuration. All changes are collected in cus- tomizing transport re- quests.                                                                                                                                                                                                                                                                      | Maintain Business Configurations app                                                                                             |
| 5      | DEV      | Release Manager                 | Release all transport requests. During trans- port release ATC checks are running Working with ATC dur- ing transport release                                                                                                                                                                                                                                            | ADT for Eclipse: Trans- port Organizer or Export Customizing Transports app                                                      |
| 6      | DEV      | Tester                          | Test new develop- ments/fixes. During development ATC checks are running                                                                                                                                                                                                                                                                                                 | ADT for Eclipse and custom SAP Fiori apps as well as external test tools. See Automate the Software Lifecycle Management Process |
| 7      | DEV      | Quality Manager                 | Approve or reject ATC exemptions                                                                                                                                                                                                                                                                                                                                         | ABAP Develop- mentTools for Eclipse: ATC Exemptions                                                                              |
| 8      | PRD      | Release Manager                 | Pull the main branch of each software compo- nent into system PRD                                                                                                                                                                                                                                                                                                        | Manage Software Components app                                                                                                   |
| 9      | DEV      | Release Manager                 | Delete the develop- ment system                                                                                                                                                                                                                                                                                                                                          | SAP BTP cockpit                                                                                                                  |