This is part 2 of the story of Maestral Code Accelerator. In part 1, we discussed why they re such a good thing to have. In this installment, read about how we overcame some logistical challenges in maintaining the code accelerator and what our plans are for the future.
Good Stuff Comes At a Cost
We ve been contemplating building something like this for a long time now. Years, actually. And the main reason we got around doing it just recently is that, if we want a tool like this to be useful for a long time and make a good return on investment, it needs to be constantly updated and maintained. If we want to follow the industry and not fall behind the competition, that is. This meant dedicating people to maintain the Accelerator, which is a very unattractive prospect, especially for small collectives.
But We Got Ourselves a Deal
A while ago, we introduced the concept of what we call “practice groups”. In a nutshell, those are focus groups inside our company, gathered around one particular technology. Each group is led by an engineer who is known to be very proficient with the said technology, or at least someone who s held in high regard and enthusiastic about that focus tech. One of the responsibilities of practice groups is to set development standards for each tech stack we use on our projects.
For each set of standards, they produce POC projects for demonstration purposes. We figured it would not cost much more in their time and effort to have those demonstration projects polished up to the “production worthy” level of quality. Top this with the fact that our practice group leads can make use of staff that s temporarily unassigned to any projects, and we ve got ourselves a winning formula, a pretty good deal. With a vast code base at our disposal from which we can pick and choose well-implemented bits and pieces, we expect the Accelerator to grow organically and sustainably, way past the size of the sum of its parts.
Wait a minute the story does not end there
Selling the machine without a warranty has never been our way of doing business.
Since we always strive for excellence in developing new software, the quality assurance standards that we follow have a huge impact on the whole delivery process. Due to ever-changing test platforms, devices, and environments, the need for automated regression testing is becoming increasingly important. We realized that we need to extend our Code Accelerator with the test automation frameworks by utilizing some of the most powerful technologies on the market, such as Selenium, Protractor, and the recently very popular tools such as Cypress and WebDriverIO. Having those in our toolkit makes us ready to accept any test automation challenge, either for web, mobile or desktops applications, including UI, database, and API testing at the same time.
Where We re At?
At the moment, we’ve covered
- .NET Core Web API
- ReactJS front end
- PostgreSQL or SQL Server
- Integration with AWS Cognito and Azure AD as identity providers
- Selenium with .NETCore Test Framework
- Protractor with TypeScript Test Framework
Considering this is our most used stack, it only made sense to start from there, as that is the path that will allow us to reap the most benefits in the shortest amount of time. On top of what we already have implemented and have available to the teams, we have a few additional modules under development:
- Infrastructure accelerator module
- WebDriverIO test automation framework for cross-platform testing (native mobile, desktop and web apps)
We expect these to be at our disposal very soon.
What Comes Next?
Considering we’ve only just built the first modules for the Code Accelerator, the bulk of the work is still ahead of us. That means we will have to carefully listen to our teams needs and adapt as we go. Based on that same criteria our concrete plans for the Accelerator are
- Continue adding support for other tech stacks, for all modules, in order of the observed priorities
- Have one of our employees take ownership of the Code Accelerator and drive its development in collaboration with and supervision from our Engagement Enablement (Maestral EE) group, and with help of our practice groups
- Widen and deepen the current integrations with Azure and AWS
- Add integrations with more of the popular Cloud services
- Add modules for mobile apps development, both native and cross-platform
- Automate and simplify bootstrapping even further through a wizard, or a simple CLI.
What s Our Vision For The Code Accelerator?
First and foremost, we are committed to bringing the Code Accelerator to the state in which it will be of help to all our engineers, will be used for bootstrapping projects in all our new engagements, and provide added value to all our clients. If, or rather when we achieve the said goal, we ll start thinking about bringing the ultimate dream to life, and turn outwards. Present our baby to the world, and let it conquer it.
The idea for Maestral Code Accelerator was born out of a conversation between members of our Tech Engagement Enablement (EE) * team. Seemingly an “aha moment”, this sudden strike of inspiration was actually far from it. Rather, it was a culmination of years of working together, many products under the belt, and a reflex-like need to look for points of improvement in the software development process.
The group eagerly began working hard to bring this idea to life. Today, the code accelerator is greatly appreciated by Maestral clients as a unique concept in the Product-Development-as-a-Service domain.
* Engagement Enablement is a group of seasoned Maestral professionals in software architecture, development, and product management in charge of Discover, project intake, and continuous support to product teams during the development process.