Functional Flow

The Butterfly Was Released Into the Wild

| Comments

A little more than two years ago, shortly after the Agile Platform version 4.1 was released, the engineering team at OutSystems joined together and did a self review on what we could do to improve our ability to deliver faster and with better quality. We already knew that the developers that used the OutSystems Platform were much more productive than the ones using .NET or J2EE, but we wanted to raise the bar even higher, taking their productivity to the next level. The current version of Service Studio had a few Achilles’ heels that were being hard to get rid of, in part due to some compromises that had to be done in the past to enable us to get the first version out as soon as possible. That legacy was starting to slow down our ability to deliver constant innovation in the agile software development field, so, after a series of brainstorming sessions, we decided that we would re-engineer some parts of the platform in order to enable us to be even more agile, and prepare ourselves to the great features we wanted to build in the future. And this was the start of what would later be called the Butterfly project.

While most of the R&D began the work on the Antelope version (4.2), two teams were spawned to work on the Butterfly version (5.0). While the Blue Morphos team initiated a deep analysis on the features we would want to deliver on the long term, the Red Bull team started immediately the work on the platform re-engineering that would enable us to deliver those features. This team started off with just two developers (myself included), growing to four developers shortly after. A year later, while 4.2 was approaching completion, another team joined us to work on the 5.0 killer feature – Business Process Technology – already using the new codebase. At the end, most of the R&D was involved, and with the hard work of 14 Developers (3 of them fully dedicated to Quality Assurance), 3 Product Managers, our product delivery manager and of course the support from all the other parts of the company, from marketing to support, this journey finally came to an end, and I think that the result is a great product. I’m really proud of being involved in it since the start, and I feel like a mother that has just gave birth to its new-born child: it was though, but now that it’s over all that matters is the marvelous new baby :)

So, what did version 5.0 of the Agile Platform brought us? Aside from the Business Process Technology which by itself is a groundbreaking step on the history of agile development, we were able to deliver a few other big improvements:

  • Ridiculously faster load and save times. For example, a 5.2MB .oml file that took 75 seconds to open and 20 seconds to save in 4.2, now takes 8 seconds to open and 2,5 seconds to save in 5.0. That amounts to 89,3% and 87,5% speed improvements respectively!!! Find, Find Usages, Merge & Clone are also now significantly faster.
  • Most applications crash from time to time, making you loose your work. A few of them them save backups periodically and allow you to recover most of it, but many times you still loose a big chunk. Service Studio 5.0 is the only application that I know of that automatically heals itself in case of errors, rollbacking the tiny action that caused the error and allowing you to continue your work as if no crash has happened, without loosing any work at all.
  • The new improved TrueChange™ engine is now omnipresent, immediately informing the developer of his typos & mistakes by the form of toolips, visual cues for warnings and errors, drop-down suggestions for common operations and a message pane that refreshes in real-time. In addition to that, all the system is now much more strongly bound, and now you can really assemble the pieces of your application like a puzzle, without fear of things getting unbound and loosing the strong checking abilities. Refactoring is now so easy that your application will be truly built-to-change.
  • There’s a big focus on usability, and most pieces of the Service Studio workspace have been improved. There’s an new web screen editor with improved WYSIWYG editing, better zoom support, a big number of new drag&drop behaviors, support for copy/pasting everything, multi-level undo support, syntax highlighting in expressions, SQL, CSS & JavaScript, more information shown in the tools tree, eSpace tree & the add/remove references tree, etc…

There’s a lot more, so go and try the community edition, and let yourself be pleasantly surprised.

This is just the tip of the iceberg, as much of the potential of the new system is still not being used, so stay tuned for the next chapters. The next versions will be even more groundbreaking.