The ability to work collaboratively as a team is certainly one of the wonderful aspects of Application Express, Oracle’s rapid application development platform. Developers work on a shared server and update their changes in real time. Navigating through the application, it’s almost magical to see each other’s pages and functionalities changing before your eyes. It makes for a satisfying collaborative development experience.
In other development environments such as in a Java framework, you typically work on your own, from your laptop for example. Then, you « Check in » your work and it gets applied to the testing environment. Generally, people don’t see much of each other’s work early on, as they do in APEX.
The Challenge of Collaborative Development
This “live” nature of the work is one of the reasons many find collaborative development in APEX so stimulating. However, it also represents a sizeable challenge. As you add your own work, someone could conceivably change what you did at the same moment. These mishaps are often found very late in the testing cycle or even in production. As your hard work has been approved, you think all is fine. In fact, it may no longer exist because someone overwrote it. 🙁
Fortunately, your team can work in APEX while greatly alleviating this kind of risk. By following best practices, developers can avoid disturbing other people’s work and reduce their own rework time as well.
Best practices revolve around when to share your work in the primary development environment and when to go solo. There’s a fair amount of leeway for a developer to make those decisions on their own.
You should consider:
- Are you making a small change that can be completed over a short period of time?
- Are you anticipating a change that will impact a wide area of the application the group is working on?
- Would this be a good time to step aside and work solo without disturbing your peers?
The choice of whether to go private or public can be used to benefit the individual doing the work as well as the team he is working with. For example, you may be adding something new such as a new module with a new set of database tables, a new set of screens and all new code. That shouldn’t impact the team. If you are reworking the whole user interface of an existing system, that’s a whole other story.
An essential tool
To be really effective at stepping in and out of the shared development environment, you also need to be able to run a truly private environment for yourself, where you have your own database running, and you own ORDS server running. As a developer, you may not have the Database Administrator skills to create such an installation from scratch. This is where VM (Virtual Machine) and docker can be extremely helpful. They save you from having to know what it takes to install The Oracle Database and all its associated applications. These tools allow you to quickly bring up and Oracle instance into which you clone your work. You don’t have to install Oracle or ORDS, you can simply pull up a docker image or a virtual machine image. That will give you an underlying framework to which you can add pieces of your development environment.
The bottom line is that if you have a team of developers working on an APEX application, everyone on the team needs to follow a few basic rules to maintain a productive development environment, avoid conflicts, and keep everyone happy. And everyone needs to have a private environment ready to go, so that when it is required, it isn’t a burden to spin it up.
I’ll have the privilege of deep diving into the subject of collaborative development and tell you all about it in a presentation I’ll be giving at Kscope18, June 13th. I hope you can join me in this session called “How teams can develop in APEX without stepping on each other”. All are welcome.
When: June 13, 2018, Session 13, 3:30 PM – 4:30 PM
Room: Asia 1, Lobby/Third Level
Topic: Application Express – Subtopic: APEX Core
If you aren’t planning to go to Kscope and want to learn more about APEX team development or if you’re interested in finding out more about our APEX Coaching and training, why not contact us directly? We’ll be glad to help.