September 2010 Archives

I wanted to share a recent experience I had with one of our newest customers. We'll keep the name undisclosed for now, but these guys are a truly global company and a recognized leader in their industry. 

When we first met the customer's team, they were faced with the challenge of migrating away from antiquated technologies and hand coding into a platform that would allow their team to respond to business needs very fast but also with high quality and scalability. The team had evaluated tens of alternatives to achieve this goal and eventually decided on the Agile Platform as a technology that would allow them to achieve their time to market goals without sacrificing quality or scalability. 

I had the pleasure to be involved with this process from the beginning and on my last visit I was asked to help them define their migration strategy from the older technologies like Lotus Notes into a modern, web-enabled platform like OutSystems. Now for the challenge: the team has been very prolific over the years and had well over a thousand Notes applications that need to be migrated, discontinued, or rewritten from scratch. The big question behind this process was clear - what is the most efficient way to determine which applications go where?

What goes where?
With this many applications it was almost impossible to understand the entire portfolio usage - let alone determine each application's fate. Luckily, the team had been disciplined and kept track of useful information like application purpose, templates used, and change requests.  Using an Excel file with all this information, the team built an OutSystems application in 5 minutes using IntelliWarp. The application was then used to determine a conversion score for each application, taking into consideration five important factors:

  1. Type of application - Applications that were primarily discussion based were deemed more adequate for other technologies, like Sharepoint. OutSystems applications are typically high-value, highly customized applications that you just can't get out of the box;
  2. User population - Targeting  reasonably small groups of users seemed like a sound strategy to initiate a technology deployment;
  3. Usage patterns - Because value comes from usage, the team decided that highly intense usage would be a good scoring facet for the applications; 
  4. Development team - To ensure knowledge transfer happened smoothly, the old applications that were originally developed by team members staffing the new OutSystems dev group were preferred;
  5. Rate of change - The OutSystems Platform is all about change - the team wanted applications that are alive and evolving, with constant requests for new features or tweaks to existing ones. 

Taking into account the above factors, our "secret sauce" conversion score algorithm yielded a migration score that determined the benefit of migrating an application to the OutSystems Platform.  Because this was all done automatically and in just a couple of hours, target applications were defined and discussed much earlier than they would have been by any other means. 

Next, the team took advantage of the 'speed to change' capability of the Agile Platform by extending the new portfolio management application to record the proposed migration strategy (destination platform) when it came time to replace each old application. 

Curious to see what the new portfolio management tool looks like? The screenshot below shows the application (with data erased for privacy). 

app_profiles.png
By using the speed of the Agile Platform, combined with technical skill and a healthy dose of pragmatism, the team was able to create the new portfolio application that helped them optimize a fundamental process in their work and bring more value, faster! - This is the essence of agility. 

What about you? Do you have any similar success stories to share with us?
Logo_VA_group.png
Back in 2008, Van Ameyde - an international insurance claims manager from the Netherlands - came to the conclusion it needed to optimize their claims handling process in order to provide customers with the best service levels in the market.

To achieve this goal, a new project was launched to build an entirely new claims handling system called ECHO: European Claims Handling Optimization. Given the complexity and risk of such an ambitious project, it's only natural that Van Ameyde decided to move forward using Agile Methodologies.

As far as technology goes, it was also clear that using standard software wouldn't cut it. Not only does Van Ameyde have very specific business requirements, it also needed a technology that would allow them to continuously modify and align the ECHO solution with the business. At this point they decided to move forward with the Agile Platform.


Once the ECHO application went live, the business immediately saw the optimization results in the company's claim processing business. In particular, the business witnessed a 30% reduction in the time required to resolve a claim. Not only that, ECHO also quickly became a powerful sales and market expansion tool, allowing Van Ameyde to streamline its ability to open new branches to less than one week, a three to four-fold improvement over the old system.

On top of that, and even though the ECHO application supports 16 different countries with unique claim handling requirements, 12 different languages, and 6 different currencies, Van Ameyde now has unprecedented flexibility to customize claims processing for new customers, something that was not possible with the old system.

All this hard work and the amazing results achieved by Van Ameyde and the ECHO system were rewarded this week with the 2010 'Business Agility and Process Optimization Enabled by BPM and SOA' case study award, proving that vision together with technology can go a long way!

Congrats to Van Ameyde and the OutSystems delivery team!


Following Rodrigo's last post on Caixa Seguro's Programmer Day, I would also like to share with you my session on OutSystems' Business Process Technology. The Caixa Seguros team relies pretty heavily on Business Process Management, and they were eager to learn more about our capabilities and experience!

As such, I was pleased to show them how OutSystems' approaches with the application of BPM technologies and implementations for their specific industry: Insurance - Policy and Claims handling. 

I started by presenting some common concepts we felt were important to address with our BPM approach in the Agile Platform, we call this Business Process Technology or BPT for short.  The key concepts are:

  • Long lived processes: requiring process instances to be upgraded as new laws, conventions, or procedures are brought in.
  • Strong cohesion with line-of-business applications: processes are always supported by a business application (or more than one), and this application should work seamlessly with the process. 
  • Big benefits in the end: processes allow every organization to increase operational performance, especially those with clear procedures in their activity. Just getting everyone to know what they're supposed to do improves performance dramatically; according to Gartner, simply having the workflow users should follow on the wall leads to a 12% improvement on productivity. The set of monitoring tools and KPI collection provided by BPM engines brings focus on the need to optimize, and provides leads on how we can optimize it.
BAM_Screeshot.png
The next step was to point out the main challenges faced when setting up a BPM initiative to work with an existing - or new - set of applications that support the same goal. From real field experience, we identified the following set of challenges as the most relevant:

  • BPM_Glasses.pngSeparation from User Interface: having a process that redirects users to perform manual activities on an application is troublesome for the single fact that they live and are implemented in a separate environment from the application.
  • Complex API integration: the requirement to plug-in a process' inbox to an application and having the application ignite and advance the processes requires usage of the engine's API, which are not well integrated with the application and are usually hard to extend by the application developers.
  • Intermediate domains: When processes and applications are supported by different platforms, they still need to share data between them. This leads to non-business related and error prone developments of intermediate data dictionaries, being produced and consumed by each other. When either the application or the process change, these dictionaries also need to be refactored.
  • Upgrading existing processes: as process definitions change, thousands or millions of running process instances need to be upgraded to the new definition.
  • Distinct life-cycle between application and process: This leads to inefficiencies in both the application and the process, and can even lead to inconsistencies in the several releases integrations.
With this in mind, I picked a real application used for project management and did a live demo creating a process live during my presentation. The fact that in the Agile Platform, our BPT is implemented as a layer on top of the application removes all the problems mentioned above. While the process is being built, the Agile Platform's TrueChange engine detects changes in the entity model and fixes them immediately throughout the process, discarding the need for the tiresome task of creating intermediate data dictionaries. It was also clear that having the process near the application allows doing a lot of neat things, such as a chat like interface where a user leaves his comments on an activity and reassigns it to another user, all in the context of a common application interface.  

During the session I showed the audience how business users could check the performance of the just created process via the Agile Platform's built in Analytics application. Right in the session I demonstrated how you are able to immediately provide process feedback using our Embedded Change Technology. During the session I actually implemented the feedback, and made a change to the process right on the stage. The change required me to upgrade the process, which brought up the clear advantages of having an integrated Impact Analysis before putting new versions into production. This allows operations teams to easily measure the impact of changes in the process, before they are actually deployed.

By the end of the presentation, I believe everyone saw the advantages of having a platform that fosters a common development life-cycle between application and processes. This makes it much easier to build a process that leads the users through their tasks in the application, definitely bringing the Business and IT together in one same purpose: business performance.

Want to learn more? Don't miss our BPT workshop taking place on October 11th in Lisbon!
Annually, on the 256 day of the year, developers worldwide celebrate "Programmer Day"! This was a surprise to me but I was ready to join the festivities when I got the invitation to present at an event organized by one of our customers, Caixa Seguros. With a group of over 300 developers this company's IT management decided to celebrate this special day with an event dedicated to Development Practices, Innovations and Challenges. 

My presentation was focused on how the Agile Platform's latest version lets you build custom web applications faster than imaginable - what I like to call 'Warp' development. To show how fast you can have a full fledge application running using the Agile Platform, I actually built a complete app in 45 minutes... before a live audience!

progday-rsc.png
The application included a bit of everything. Here are some of the things I did during the presentation:
  • Created a new app from scratch
  • Built the initial data model from an Excel file along with all the needed logic to transfer the Excel data into my new application's database
  • Created the necessary UI to list and edit the contents of my new database. All Ajax enabled, of course
  • Customized the look of the app (well, just a bit, because my design skills aren't that great!)
  • Integrated my new application with an external database and created the needed UI to list and edit one of its tables. Form validation included.
  • Added functionality to an external database table! This was a products table, and I added a product image... without changing the original database!
  • Related my applications 'local' DB with the external database and created a master detail view, including pop-us to edit the data.
  • Obtained data from an existing Web Service and showed it in my new app
  • Then, I realized the Web Service was a bit slow, so I checked that this was in fact a problem and added a cache to fix the problem.

I actually did a few more things, but you get the point. 

In the end, I was really happy with the way the audience responded to the presentation. They seemed really impressed with both the development speed and the quality and robustness of the application that was built right in front of their eyes. 

And you know what's the best part? You too can do all this in 45 minutes or less! Try it out! Download the community edition and check the first tutorials. In no time you'll be building your own apps at 'Warp' speed!

How about you? Were you aware of the Programmer Day? How did you spend your Programmer Day?

OutSystems® Platform

Build your next great Web App today: Take a tour of the OutSystems® Platform