Sandbox Applications – Why Do They Matter?
As consultants here at C2, we find it a privilege to work with a number of platforms and frameworks based on what fits best to the software needs of our clients. The nature of our projects vary from single-platform projects, those with complex integrations between one or more platforms, to complex custom projects built from the ground up.
Playing in the sandbox builds creativity
There’s a reason this method is called ‘sandbox’; it takes a certain level of detachment to make it work. When we were kids we didn’t approach the sandbox with rules or a set of expectations. It was raw creativity played out in silica.
Building applications with reckless abandon like this allows the engineer to break it and make it right. Learning the very fabric of the program enables you to seam together a perfect fit for your client. And let’s not forget that all-important dance we must make with the client to help them best achieve their ultimate satisfaction.
Playing to your strengths builds confidence
If you’ve gone through Microsoft Certifications and formal training for various CMS (Sitecore, Umbraco) and eCommerce (Sitecore Commerce, uCommerce, Insite Commerce) platforms, you are familiar with the ways we implement and integrate. But if you’re like me, you find yourself wanting to poke around a bit and discover the platform for yourself.
I am formally trained as a software engineer and I’ve learned that it is important for me to be able find my own way into the platform I am working with on behalf of a client. After all, the more comfortable I am, the more easily I will be able to work with out-of-the-box applications as well as any customizations or extensions. So, I develop these sandbox applications just like I would for an actual project. I find it to be much more fun and quite a learning experience.
Playing the right notes builds success
It is critical for the success of a project that the ground-up architecture is developed correctly and that it is well thought out. Providing that it has been agreed upon by both the Client and C2, this development, or implementation, phase is perhaps the most critical element to ensure a project’s ultimate success.
Putting down the right track at the beginning paves the way for a project that does not derail from its core purpose.
As an illustration, let’s look at some of the many moving parts that go into a successful project:
-Understand and identify the core purpose of the project (If I speak for myself, I have learned that it is good to be passionate about your work but always eager to listen to and understand the software needs of your client—and to do so without bias).
-Make technology and/or platform recommendations based on the initial sessions.
-Fabricate the architecture and initial technical design.
-Breakout the work and then sprints (assuming you are Agile).
-Develop the software.
-Test for accuracy and consistency.
-Deploy for real-world scenarios.
-Stabilize the inevitable hiccups.
Sounds easy, right? Well, as any developer will tell you, it’s not. However, it can be made easier by systematizing your approach, more efficient by tightening the focus on the original purpose, and a lot more fun when you’ve got a tried and true plan!
For all of the above phases, and every decision our client makes, we play a key role as consultant. The client’s decisions are largely—and hopefully—based on the information we provide. And, make no mistake; that is a big responsibility to carry for any sized project. So leveraging sandbox applications can inform the data you deliver to your client with proven results.
But here are the guidelines I use to prevent me from missing opportunity while in the sandbox:
-Work on sandbox applications when you’re not overly occupied with client work.
-Break it and make it until you get it right–that means less time spent learning on a client’s project.
-Have ample time to reach out to the IT community with any questions or doubts, or just for inspiration.
-The only constant is the change, so don’t only develop an application. Instead, also try out various process aspects of a solution–from personal and from a team perspective–Solution Architecture, bundling, minification, deployments, build configurations, build & deploy tools…
-Seize the opportunity to share gained knowledge with your peers—without those pesky time and budget pressures.
-Approach your client soberly with a head full of facts gained from your sandbox session—this means less initial cycles to determine the technology stack and architecture.
-Develop a working application that’s ready to be demoed and/or customized as needed for potential clients.
These guidelines allow me to focus on the actual project needs and requirements, when faced with a client project, from the very early phases of the project. By breaking the rules in the sandbox, instead of putting time towards R&D on the client’s dime, I can achieve increasingly better results for C2’s clients.
As Tom (our VP eBusiness Practice) says it: “it’s helping us protect the project through protecting the client—that’s the C2 way!”