April 2010 Archives

ebizqarticle.gif
Over at eBizQ, you'll find a newly penned article by OutSystems senior consultant
Robert Neri on the topic of Agile SOA, specifically looking at how organizations can create a nimble IT structure by introducing Agile technologies and strategies as part of their SOA development methodologies. It's an interesting look at how Agile and SOA can come together to create a 'best of both worlds' scenario and create effective results.

Find Robert's article on eBizQ, "Agile SOA: Mad Science or Solid Reality?" online here. We'd love to hear your thoughts on the article and the broader concept of Agile SOA, so let us know via the comments.

And if you're looking for more information on Agile SOA, check out our whitepaper on leveraging SOA investments using Agile methodologies

NextStep 2010 Wrap-up

| 1 Comment | No TrackBacks
registration2.jpgNow that the dust has settled (sorry, no volcano-pun intended) on NextStep 2010, we wanted to thank everyone for making it such a great event!

Thanks to all the speakers for sharing their experience of using Agile methodologies and the Agile Platform in their organizations: our customers, partners, OutSystems team and our special guests.  To all who attended and participated in the breakfast roundtables, the CIO roundtable and sessions. And, last but not least, thanks to our sponsors and partners for supporting the OutSystems community.

We're excited to say the final tally of event participants was 437 - a great turn out!  ...in fact I think many of you are in this slideshow. Check it out!!



You can also check out the #nxstep twitter stream and all the blog entries for the conference sessions. Coming soon: Paulo's keynote presentation video, session presentation files and more videos.
rui ribeiro.jpgThe final customer case study of the day, but certainly not the least, was presented by Rui Ribeiro, of Estradas de Portugal. This organization works to fund, maintain, plan and extend the road system throughout Portugal as a public service, and Rui talked about the importance of IT in supporting the changes that the company is undergoing.

Their challenge: being an 80-year-old state-owned company that's changing its management paradigm, changing its very business model - because the company needed to find new revenue streams. In order to become more sustainable, they needed to better and more directly address their end-user - the road users. They need to know who their customers are, where are they going, and what do they need from the Portuguese road system. From an IT perspective they needed to have business information online and to interface directly with their business partners.

To this end, they created a Portugal Traffic site for customers, with real-time access to data about traffic in Portugal, and they are implementing features to communicate directly with their users - using SMS, e-mail, a laptop widget, and others mechanisms. All of this is helping the organization change its image from one of a traditional public organization to a modern and competitive one.

estradas website.jpg Why choose OutSystems? In 2009 they were faced with a huge set of IS issues the first of which was their agility - fundamentally, their ability to adapt to the needs of their new business model quickly. As well as huge number of applications, little integration and silos; the IT team was focused on internal applications which were not web enabled, but unproductive windows and legacy forms. In addition, and probably hardest to change, their internal users saw them as a cost center and not a partner. Rui and team needed to change this viewpoint and be considered as a strategic part of the business.

To do this, they went about choosing a set of preferred technologies and partners and defined a set of architectural stacks to enable this goal. They HAD to do this in order to achieve their future goals and most importantly, they needed to be FAST. This is where OutSystems came in; other organizations like Brisa (another OutSystems client) or Ascendi had already done it, and Estradas de Portugal was behind and needed to move faster and get more competitive.

They started using the OutSystems Agile Platform to leverage their IT business knowledge and build and deliver new web systems rapidly.  Another by-product of adopting OutSystems was that it helped them get closer to their users - yes, the introduction of a new methodology (Agile) enabled them to "break the ice" with the internal customers, delivering value and quickly.

Results after the first year: today they have a huge set of projects running on OutSystems. Financial applications: budgeting, commitment management, payment processing and financial dashboards. Also running on OutSystems; an identity management system, inventory management systems and systems for managing road security.

Rui described their biggest OutSystems implementation to date in a little more detail- a financial and supplier management system. They originally had the Oracle eBusiness Suite in place but suffered the typical issues of a packaged application. So, they chose to build a ring of services around it to support their specific needs and used OutSystems to build a set of applications (budgeting, commitment, payment) - with a sprint/demo every 2 weeks. On Jan 4th of 2010, this portion of the application was released.  The next phase is to extend the application with the goal of communicating more openly and accurately with their suppliers (e.g. supplier request, contracts and evaluations,) and hopefully remove all the phone calls that are currently needed.

Achieving strategic goals: today the Estradas de Portugal IT team is making progress toward their goal of no longer being seen as a cost center - but rather becoming a strategic part of the company.  The applications they have and continue to implement - and in particular, the speed at which they are making change - are making a difference to the way they service their customers and, as a result, the overall perception of the company.

High Performance Web Applications

| No Comments | No TrackBacks

António Melo of OutSystems, started his session on web applications performance by setting the scene about the several performance concerns that need to be taken into consideration: 1) define quantitative targets; 2) estimate the infrastructure required to go live and 3) evaluate performance and scalability as you move forward.


Moving forward with his presentation, António listed a few issues to consider at each of those stages. One is the data transfer between the browser and the server. Cache is good, but you shouldn't rely too much on it. Browsers will discard it every so often due to their size. Other issue is the dynamic content or so called "viewstate" of applications, which can get really big if you don't care about it. António shown how the Agile Platform does the automated optimization at the code generation level without having to have developer to understand how does advanced web application session management works and think about it on a case by case basis.


António explained how the OutSystems' Agile Platform takes advantage of Service Studio models to identify dependencies between business rules, User Interface and database to optimize a series of items in each running application. If a specific database record or column is not going to be used, why leave it there? The Platform takes care of eliminating waste in runtime!


Using the Agile Platform's Service Center, António showed how to track down any outstanding performance issues that haven't been optimized by the built-in code optimizer, automatically getting analytical information about performance of the application out-of-the-box. Pretty cool!


Additionally, he described how the Platform uses server-side cache, asynchronous logging, log rotation and scheduler throttling to improve performance. He listed several other optimizations done by the Platform, such as database connection pooling, dataset late loading, horizontal scalability, automated indexing and more. All automated by the Agile Platform.


Finally, António presented the audience with some additional real world numbers. One of OutSystems customers was getting 1,100,000 page views per day with 3 servers, increasing to 1,900,000 pages views in only 6 months.


In a nutshell: according to António, before development you shall define your targets and performance requirements. During development you shall include those requirements as you do with business requirements and keep measuring and improving, the agile way! After going live don't forget to keep monitoring performance and act accordingly.


Lessons learned: even if using built-in optimizers, such as those provided by the Agile Platform, please consider performance requirements at the same level you consider business requirements. You don't want performance to impact your ability to do business.


Want to learn more? Go to the Agile Network and find more about performance with the Agile Platform.

Francisco Menezes, responsible for the Application IT at OutSystems, started by mentioning that OutSystems web applications are all built with the Agile Platform. Over the years, this set of applications got rather large, and refactoring become a challenge.

Francisco pointed out that applications should be designed to scale and potentiate reuse, but due to fast business changes and team rotation, applications grow endemically, which is an impediment to have a one shot "perfect" architecture. 

Francisco said that he sometimes faces changes from business that demand releases every 2 days, which leads to applications not growing in the most orderly fashion. Another thing that hinders the perfect architecture is the fact that sometimes you need to adapt existing components to fit the existing infrastructure.

At this time Francisco revealed that, from his experience, the 5.0 version of the platform refactors 10x faster than 4.2!!! Actually, refactoring turned out to be so easy, his team ended up doing more than initially planned!

Francisco gave a few common scenarios where refactoring is used:
  • Separate business logic from UI
  • Isolate services for reuse (bottom-up SOA)
  • Isolate integrations with 3rd parties
  • Replace or adopt a component

refactor.jpg
Francisco them moved on to explain the recommend architecture for OutSystems' internal applications. This is a layered architecture, with the following components:
  • Website orchestration
  • Business processes
  • Core business services
  • Infrastructure services
The recommendation is for top layers to consume whatever the layers below make available, but never the other way around. Unfortunately, applications are not always built with this layered model from day one. Sometimes it is simply impossible to know beforehand how the application is going to grow, which makes refactoring even more of a priority.

Francisco moved on to show the tools improved in the Agile Platform 5.0, to make refactoring as easy as possible. These include:
  • Realtime TrueChange
  • Copy & Paste improvements
  • Enhanced Find & Replace usage
  • Improved Compare & Merge
  • New Reference capabilities
With these tools, developers can follow the 4 steps to refactoring. For each of the steps, Francisco highlighted the gains he had in productivity just by using 5.0:
  • Isolate and clean the objects to be moved - 2x faster
  • Extract the objects into a new eSpace - 5x faster
  • Generalize the protocol of your new Service - 2x faster
  • Remake references on the consumers - 20x faster
Francisco confided that, although he's talking about 20x faster on that last scenario, he believes sometimes it goes up to 100x faster! The new capabilities of 5.0 are really helpful on this scenario!

To prepare the room for the demo, Francisco gave a short explanation of what he was going to show. In a nutshell, the goal is to move Accounts, a part of a component used by several applications, to a stand-alone component.

In Service Studio, Francisco took advantage of the new features of 5.0 to isolate, extract, and finally remake all the references to Account! Even with the extra time Francisco took to explain the process, the whole refactoring was done in about 10 minutes! 

At one point of the process, TrueChange was showing about 500 errors in the application. Using the new capabilities in 5.0, Francisco healed these 500 errors with a single click! That really impressed the audience!
Pedro Barreto, from Bacardi Martini Portugal, stepped down from his IT Manager position and took over a truly honest and open stance, sharing his personal experiences with agile methodologies and OutSystems.

He started by quickly reviewing his past (and bad) experiences with Waterfall models, purchased packages and several failed custom built projects. He knew that had to be a better way, and was looking for something new, something fresh, that would allow Bacardi's IT to reach the desired level of responsiveness and agility.
 
Pedro-Barreto.jpg
About 2 years ago, when Pedro joined Bacardi, he found a CRM project waiting for him - the company wanted to replace an existing solution that had not been adopted by the sales team.  After looking at existing packages (some of which being used in other Bacardi subsidiaries) he quickly understood that those packages would have the right mix of functionality to effectively support the local business and, worse than that, would not be adopted by sales causing the CRM project to fail again.

Looking back, Pedro considers such a big project to have been a bad choice due to its complexity and track-record. There were high expectations from IT, but on the business side the expectations were really low due to IT's bad reputation ("CRM projects fail all the time".)

As the project evolved, major features were being decided and elaborated during the development phase. Business was not fast enough to test new functionality and deliver requirements for each sprint - development teams were stalled!

To make things worse, a new Sales director was brought on board, and the project was put on hold, 6 months after it was started!

This could have been a disastrous u-turn, but fortunately, the new sales director's energy and vision brought the missing ingredients to the mix. Sprint demos got more participants, more feedback and major features got discussed and detailed.

What were the results? One week after the official roll-out, all features were ready and being used! Today, 60 users from 4 departments are using it (literally) around the clock.

They took 6 months in the first phase, then shifted the focus and in just 3 months, delivered the final solution. "If it wasn't for the ability to change provided by the Agile Platform, we would have never pulled this one off!" Pedro concluded.

An interesting fact was that, while the CRM system was being implemented, they managed to deliver 3 more solutions even if no budget was available:
  • A Logistics Handling Control to replace a complex XL based process was built in 1 week with 1 developer;
  • An IT portal (with a Knowledge Base, Helpdesk ticketing system, Change Management, Backup Control and News) was delivered in 4 months by 1 developer, on his free time;
  • A Document Management System (for which there was not IT budget available) was quickly prototyped, shown to the business, and is currently being finalized.
The key learning for Pedro is that "as the business starts to understand that IT is able to deliver, they get more involved".

Here's Pedro's tips & tricks to engage the business:
  • Correct small bugs or misbehavior during demos: while the problem is being discussed during the demo, have a developer implement that small change and immediately show it to the user. You'll get an instant gratification and WOW effect!
  • Spoil key users by promptly delivering on their small requests, even if they're not fully on scope (to some extent obviously!)
  • Attract other users by showing-off what their peers have gotten from IT.

Last but not least, if you want to instill an effective agile practice in your enterprise:
  • Star with small projects;
  • No one will believe you at first;
  • No one will have enough time for it;
  • Don't quit! You believe in it, so reallocate development efforts while waiting for the business to react;
  • Deliver fast and frequently;
  • Get users to see the work being delivered;


Agile Success in the REAL World

| 1 Comment | No TrackBacks
Rui Afonso of Hyfas spoke about the key success factors of introducing and succeeding with Agile projects in small and mid-size companies. In comparison, Rui reviewed the distinct challenges presented to these corporations:

So, how should one deal with small and mid-size company agile projects? Start by showing value early and often. Secondly, don't overload the customer with decisions. Instead, you should help him and leverage a trustful sponsor.

ruiafonso.jpg
According to Rui Afonso, it's still quite common to find small companies with "owner mentality", where your decision maker will want to get involved in every decision, yet is not available. When available he'll ask you for everything within the scope of the project. So, the question in everyone's mind was: "How to cope with it?"

Rui Afonso explained why instead of trying to start the project from scratch with all requirements scoped upfront, his team prefers to engage with the customer on a time-limited pilot project. A pilot project is actually a great opportunity to gain customer's trust, understand his business and start participating actively in the decision making process.

In such environments, ScrumMasters (or Delivery Managers) shall pay extra care to remove impediments and roadblocks at any time and work beyond the Scrum meetings and customer demonstrations to build and adapt very early the project scope, but also to coach the stakeholders to go agile.

Moving forward, Rui took the opportunity to present a case study for implementation of an human resources performance evalution solution. He explained how key it was to present the first version of his application in 2 days after initiating the project as a way to better gather requirements with his key users, that had been quite vague until that day!

Furthermore, the extensive use of OutSystems Agile Platform ECT (Embedded Change Technology) allowed his team to collect and turnaround change requests with unprecedented efficiency.

In summary, Rui was very happy to see his application being used right after 3 agile iterations, integrating several back-office systems with major adoption from users. And it keeps changing and adapting every day...

Another great success story of the Agile Platform, Agile Methodologies and extending SAP!
Kicking off the after-lunch slot the, now stranded, COOLProfs team of Ton Koot and Joop Stringer from Holland started things off with a bang. COOLProfs is an OutSystems partner specializing in application development and CA Gen. They talked to us about how to execute an Agile project on-time and on-budget. They shared their experience of their first two Agile projects and used two customer examples to show how things can go; both a project that goes well and as expected, and one that does not.

joop and ton small.jpgThe first project they discussed was with Schuitema, a new client - the Dutch retailer with 400 stores that each had a server with their own retail system. The project was to use the Agile Platform to add a new web-based mobile front-end to a legacy system that had was built with CA-Gen and make available the existing inventory management system on Motorola PDAs (with a Motorola web browser that did not support AJAX) to the store managers and enable real-time inventory control. The intended application was to be a small one, estimated at approximately 700 Software Units.

The second project was for TNT (global transportation & mail shipment,) an existing client of COOLProfs - to build a new, stand-alone support-request system to enable users to register issues and establish a knowledgebase. Their sponsor was from the business-side and worked with COOLProfs directly to build the new system using the OutSystems Agile Platform. A larger application, this was expected to be a 40,000 SU system.

hurdle.jpgTon and Joop entertained the audience with two videos. One of an athlete hurdling with great easy and agility. The other, of "Total Wipeout" which is, for those who don't know, a TV show with a lot of different groups competing in a crazy obstacle course - and crashing around with less than agility or grace! 

wipeout.png
Can you guess which video represented the final experience of which project?

Their experience was that in Schuitema case, they expected easy and speed of a project but faced many surprises and great difficulty; with the TNT project - they expected a harder time with this new customer; but everything went extremely smoothly.

So, what worked?
  • Having the commitment of all stakeholders
  • Having the business person as your key sponsor
  • Direct interaction with the customer - so much so, they felt it was extremely important to be constantly on customer site.
  • They strictly enforced all agile principles - daily stand-ups, change requests etc
  • Applying common sense.
What didn't work and how to avoid the pitfalls?
  • Never underestimate the complexity of a system
  • Take a good look at the documentation to know in detail what you were working with
  • Be careful of proprietary devices (the PDAs they had to use meant hand-coding and big headaches in maintenance)
  • Having IT as the key-sponsors alone; get a direct line of communication with the business users
  • Be wary of knowing the target technology environment
  • Be careful when working with third parties who cannot keep pace with your rate of work and Agile practices.
How to Cope with Challenging Environments: First, the guys prefaced this next section with a warning not to end up back in the waterfall world by trying too hard to know everything up-front.

However, DO do the following:
  • Start only after you fully understand and feel comfortable that external factors are under control
  • Conduct proof of concept against the final architecture and technical environment
  • Practice risk mitigation in general
  • Convincing your customer that there is a trade-off between time, budget and functionality
  • Convince your customer that their on-going participation and understanding is paramount. 
Their final key conclusions:
  1. Size doesn't matter (the more successful and straightforward project was in fact the larger one by nearly 10x)
  2. But, infrastructure does matter! (e.g. a different PDA was presented to the team to be used than the one used for the prototype)
  3. Don't find yourself responsible for things you cannot control (like third parties or the support of handhelds)
  4. Be wary of using new technology to change archaic organizations.
"Agile is key to overcome difficult customer environments"

José Luís Ferreira, Partner at Pessoas & Processos (P&P), took the audience through a voyage to Africa, and shared his adventures in delivering a custom Facilities Management System for Sonangol, the largest oil company in Angola.
 
JoseLuisFernandes.jpgSonangol had just created a new division called DMI to manage a brand new building that would be used by several companies and divisions of the Sonangol group. What P&P found when they got there was a new division, with a new building to manage, with a new set of challenges every day, and with no past experience - from a IT project perspective, this meant dealing with an extremely fuzzy (not to say non-existing) and evolving scope.

José described Sonangol as a paper-based company - a very hard to change mentality. In fact, even after delivering the new Facilities Management System (called ANGELS), many employees still print out screens and reports for their daily processes and tasks!

The ANGELS system has so much functionality that is impossible to describe in this post. It includes Budget Management (including contracts and suppliers); Organization Management (for over 700 people at DMI); Asset Management (including equipment inventory); Work and Personnel Management.

In a country where the term Agile has not found its way into the business lingo yet, José went on to describe what he calls an Extreme Customer Environment:
  • The customer is 6000Km away from P&P's office. It might not seem that far, but you need to realize that it takes 2 weeks to prepare a request for a Visa, and 2 more weeks to (eventually) get it. That's 4 weeks just to be able to get on a plane!
  • Angola's capital, Luanda, is one of the most expensive cities for foreign business people. Having people stay there for long periods of time would blow away all the project's budget;
  • Communications are a daily challenge. Being able to do something so trivial as a Skype call or sending a file via email is really a matter of luck. Too often it doesn't work!
  • Finally, getting the hardware you need is a crusade! In one case it took them 15 days to get a computer (not a server in the data-center... a regular PC to use for development!)
So how did P&P use an agile approach in such adverse business conditions?

They had to dilute the time-line... instead of using the tradition 2-3 week sprints they decided to have 2 months sprints, for a project time-line of 1 year. "This is certainly no a candidate for an Agility Award project right?" José teased.

Surprisingly, enough, agility was the most important value, the one differentiation P&P had to rely on to ensure success:
  • It allowed them to cope with undefined and constantly changing business requirements;
  • Most questions emerged during demos, where they could get real end-user feedback;
  • The project was time-boxed. They had to deliver the solution in a well defined time-frame;
  • It provided a framework to continuously negotiate scope for every sprint, and ensure the solution was addressing the right business needs.

According to José, using the OutSystems Agile Platform was critical for the successful delivery of the project, because of its support for change and distributed development teams.

After every sprint demo, they immediately corrected all issues and implement the requested changes - they would only leave the country with the list of new features to be implemented in the next sprint... and start working on the new visa for the next trip in 2 months time!
Carlos Alves, from OutSystems, kicked-off Track 2 afternoon sessions by talking about Application Delivery in the cloud. He got the audience excited right from the start, by stating that a new product offering would be announced.

He started by highlighting the cost, complexity, and lack of speed of application development and testing for large enterprises. Three major factors were highlighted as root causes for this problem:
  • Large workforce: lots of resources are needed to develop, manage and deploy applications
  • High Hardware Costs: ITs need to support lots of workload variations
  • Lengthy Cycle Times: The time it takes from idea to production is too large
This leads to slow time-to-market of business critical applications... which in turn, Carlos noted, leads to projects being restarted, delayed, or even canceled.

Carlos moved on to highlight the things that make the Agile Platform a great match for cloud computing. 
  • Custom Web 2.0 applications: Custom CRM, workflows, intranets, and so on, are currently being built with the platform
  • PaaS architecture by design: The Agile Platform was built as a Platform-as-a-Service from day one
  • Automated Application Deployment: UI, logic and data are published with a single click to a centralized server
  • Centralized test areas and visual debugging: providing the tools developers need to build applications right in the cloud
  • Continuous integration for distributed teams: giving developers tools for configuration management and version control
  • Designed for highly scalable applications: As an example, Fly.com is running over OutSystems, and standing a large number of worldwide searches per second
All these features make an ideal match for cloud computing!

cloud.jpg
Carlos then started explaining how this works. In a nutshell, the OutSystems platform will run over Amazon Web Services, using the servers and software Amazon provides. This configuration was already used in a distributed team environment and was a huge success! The team included 5 developers in the US and 4 in Portugal.

From an efficiency point of you, using the Platform on the cloud lead to 1.4 times faster publishing times, and about the same time to access the web pages. Carlos warned that the test was a bit unfair, in the sense that the Amazon machines were a bit more powerful, but the point is that huge hardware is cheaper on the cloud!

Carlos then highlighted the advantages of using Amazon hardware, and crossed it with the Agile Platform benefits. All things added, you get:
  • Intant setup
  • Pay-per-hour
  • High end hardware configuration
  • Windows and SQL Server
Carlos then made a huge announcement! You can get all this, for development purposes, for only $0.99 per hour! All expenses included! Both hardware, and software.

Carlos then handed the stage to Rodrigo Castelo, also from OutSystems, to show the audience how this works. 

Rodrigo showed that, by following some very simple instructions made available when you purchase the platform from Amazon, you can have a development environment totally configured in 2 minutes! Amazon then takes about 10 to 15 minutes to have the instance running, but at that point you have a full fledge development environment ready for use! A huge applause from the audience!

The presentation moved back to Carlos, and he explained some of the advantages of this solution:
  • Distributed workforce: to develop, test and deploy your applications
  • Flexible Cost Structures: to support different workloads on different times
  • Instant Provisioning: go from idea to start of development in 17 minutes! No more 3 week waiting period for a new machine!
The audience was really excited with this new offer, and a great Q&A session followed. In it, Carlos further disclosed that the Agile Platform was also tested and runs in GoGrid, and he invited the audience to pre-register for the cloud offering on the OutSystems web site.
The close Track 1 morning sessions, Turismo de Portugal brought a success case of the innovative School Management Solution (SMS).

This was not the average case study presentation: it was a true celebration of success with agile!

Hugo Sousa, IT Director for Turismo de Portugal, shared the stage with other 4 project stakeholders,and started the session by playing a video that introduced Turismo de Portugal, their business and needs, sprinkled with live testimonials and images of the School Management Solution being used. You can check the video here.

DontBeAfraidOfChange1.jpg

Hugo explained they evaluated several packages available in the market (both commercial and open source). Their conclusion was that they would either be forced to buy a package that included too much functionality they didn't need or want; or buy a package that used relatively obsolete technology and would be very difficult (and costly) to adapt to their specific needs.

So, at the end of the day, they decided to build it from scratch. Many said they were crazy, but the team knew that building it was the right thing to do - and today they proved they really make the right decision.

The project involved 50 people, from several internal resources (both the Schools, and the Education, IT and Finance departments) and from two implementation partners (Normática and TrueWind).

Francisco Neto, from Normática, described the challenges they had: breaking away from manual and paper based processes and create a system to manage 16 schools, and be used by 1300 resources (including teachers and staff) and over 3000 students.

The main objectives? To create uniform processes that all schools would follow, to automate manual tasks to improve productivity and reduce lead times, and to optimize all processes during the whole analysis and implementation stages.

For the longer term, their vision is to increase the quality of educational services and the student's satisfaction levels, improve the tourism offers in Portugal, and increase de demand for tourism and hospitality education in the country - and all of this with a strong focus on the environment and sustainability.

Here are some stats about the project:
  • An agile methodology was used, with 6 sprints of 3 weeks;
  • They chose 3 week sprints to ensure a bigger throughput of functionality for each sprint demo;
  • They created around 30 applications and components, with +500 web pages and 220 database tables;
  • To accelerate the development, they reused 5 pre-built components including "Resources and Meetings Management", "Email Services" and "Charting".

João Fernandes (one of the School directors involved in the project) said that originally information was coming from several sources and in different formats. With the launch of a centralized and shared new School Management System, they immediately attained process alignment.

Also, by segregating users by pre-defined profiles, they improved access to the right information for each user, as well as security. According to João, the administrative, financial and pedagogical areas where the ones that most benefited from the launch of the new system but "there is still a lot of potential to explore in this system!" he added.

Maria João, another School Director, presented a couple of slides showing the differences between the processes in 2008/2009 and what they look like today: the key takeout is that everything that once was managed with paper, has now migrated to the new web-based application.

Not only paper and waste are gone, but the whole organization became more "productive" - today they actually handover some of the responsibilities to the students. For example, students are responsible for managing their information and submit their absences in self-service. Another great example is that students don't have to travel to the school they want to join for the enrollment process - they can do it in a school closer to them, saving time and money and simplifying the whole process.

To wrap the session, Hugo asked the audience if they remembered the chart that was presented during Paulo Rosado's keynote yesterday (the example of a company who delivered 10K function points in less than a year.)

"That was OUR chart. Those were OUR numbers. That represents all that we've accomplished" he said proudly. After thanking the entire team he added "We chose the right technology, and in only 4 months we were able to deliver all of this!"

The session ended with even more celebration as Mike Jones (VP of Marketing at OutSystems) handed two Agility Awards to Turismo de Portugal and Normática, for such an innovative and successful agile project.

Congratulations!


OutSystems and SAP - a Perfect Match?

| No Comments | No TrackBacks
Hugo Matthioli of Reditus spoke this afternoon on OutSystems & SAP complementary solutions. He discussed the strengths of combining the two products and methodologies and how to combine them to extend base ERP functionality into the Intranet of RPA - Rui Pena, Arnaut & Associados, a leading Portuguese law firm. Reditus orchestrates the delivery through its custom development and SAP implementation businesses, offering powerful combined solutions to its customers.

First, he explained the challenge for RPA and his team: to deliver a rich intranet application to support document management and enterprise workflows in 4 months, by extending the existing SAP Financials, SCM and Human Capital Management implementation.

hugomatthioli2.jpg
Next, Hugo explained how the solution was architected to provide the required degree of flexibility: the Agile Platform supporting the Portal layer, providing all user services integrated with SAP via Web Services. At the end, the solution integrated 13 SAP web services to support 17 custom business processes.

Additionally, Hugo explained how to integrate an custom development project using the Agile Platform with an SAP deployment and customization project: by  
embracing two tracks of development with OutSystems agile methods and SAP's ASAP methodology, iterating the user's interface and stand-alone modules using OutSystems, and focusing later down the road on the SAP integration. That gives the team the required time to bring together the user interface with data integration.


Hugo also introduced Carlos Coelho, CFO at RPA who explained why his business required a tailored solution: custom requirements, enterprise-wide workflows and better management of business performance. "In 4 months we did more than we did in 2 years before having OutSystems and SAP!", he concluded.

Summing up his views, Hugo concluded that OutSystems and SAP have a perfect match when it comes to deploy a new business process, or extend a new one that requires leveraging existing SAP data or process into richer and integrated portals.

Want to learn more? Let us know or ask Hugo!

Professor Miguel Mira da Silva of INOV and his PhD student, Carlos Mendes, joined us for the second of our morning sessions. INOV is an OutSystems partner and a non-for-profit innovation institute focused on IT, networks and electronics. INOV includes an IT Governance group and a Software Development group that delivers custom web business applications based on OutSystems methodology and technology.

 miguel de silva s.jpgThey presented their research on managing software maintenance with ITIL and Agile. First, Miguel talked about how, we in IT, tend to focus on just one of the three aspects of Information Systems - technology - but we forget to manage organizations and people that need to be managed. So, he challenged the audience to consider all three aspects: technology, organizations and management. Miguel asserted that Management is what can really make the difference to success - because people, and the technology they use, are relatively difficult to change.

Since maintenance represents 60-80% of software cost - this is what they decide to focus their research on, but (especially in relation to Agile,) we must remember that maintenance has no scope, no budget and no fixed time frame.

THE RESEARCH QUESTION:  Miguel asked his research team (represented at NextStep by Carlos): while they know how successful they can be using OutSystems for systems development and management, they wanted to know how we could better manage the maintenance of OutSystems-built systems?

In broad terms, they found the answer to be to use the same method for managing an overall company (which are also Organizations + Technology + Management) to manage maintenance - and so they looked to ITIL first and made the assumption that Agile was not appropriate for maintenance (an assumption they worked to dis-prove in their research.)

Carlos explained that since ITIL is a set of concepts and practices for managing IT services, and that maintenance is a service - ITIL can be used to manage software maintenance. These concepts have been implemented in their Service Manager - a prototype application - which includes a service catalog for managing service lifecycles, Service Level Management to manage SLAs and indicators, and a Request Fulfillment component for managing the request lifecycle.

Service Manager has been piloted in several local Portuguese organizations including PrimeDrinks and Turismo de Portugal - and have achieved success in their pilots.  Hugo Sousa, CIO of Turismo de Portugal was very happy with the results, saying "With INOV we did in 4 months what others in 8 months couldn't. It's not about *ology. It's about the right orchestration. Always remember that a fool with a tool is always a fool."

FINDINGS: When it comes to maximizing the performance and predictability of the maintenance management process, the team concluded that Agile could be used for maintenance, but important differences need to be taken into account: that while development projects have scope, budget and time frames - maintenance does not. Miguel summarizes that their research and pilots have shown that while you should use Agile for development (and not maintenance) and ITIL for maintenance (and not development) - they can be combined into a single integrated management framework.

Miguel closed by offering to the audience that their work is openly available, and while they are an OutSystems Partner, their research results are available to anyone.

Gonçalo Borrêga, from OutSystems, started his session sharing his history with OutSystems BPT: For the last couple of years Gonçalo has been working on a very complex claim handling system, with 708 activities, 501 business rules, and more than 4 million process instances running! And these are processes that run from 2 minutes to more than 2 years!

This claim handling system was refactored from another technology into BPT, using a set of ground rules Gonçalo's team applied.
  • Know your process: Do deep & early analysis, with the help of your users. 
  • Aim for simplicity: Make it so you can show the process to your users. They will be interacting with the process via de UI!

borrega.jpg
Gonçalo then highlighted the 3 main features he believes differentiate OutSystems BPT from other vendors' solutions:
  • Impact Analysis: Process upgrades are possible with the platform! Just do an impact analysis before publishing, and this will help you plan your deployments wisely
  • The process is close to the data: No need to map the process data to the application data, TrueChange built-in, and an amazing event model are some if the benefits mentioned!
  • The process is close to the UI: You can place a button in the UI to validate or close activities, and changes are applied to the process in realtime. This allows the UI to guide the users during the entire process.
Gonçalo then moved on to share some tips with the audience, based on his experience:
  • Empower subprocesses: The platform supports creating really smart sub-processes, that can be reused throughout the application.
  • Use smart labeling: Labels are shown to end-users in his inbox, so making them clear will really help users navigate the application
  • Don't do cycles: Unless they really belong to the process, cycles shouldn't be used just to build logic.
Gonçalo then prepared the audience for a deeper dive into some advanced patterns. He showed these with the help of Service Studio, and demonstrated to the audience some patterns the platform's BPT is capable of. 

In here he highlighted the ability to customize the end-users' inbox, showing screen shots of a very sophisticated inbox used on a particular project.

The session ended with a big round of applause, and some heavy duty QA that showed the audience was really into the problems and solutions Gonçalo shared today!
Track 1 started with a great presentation by Sandra Fernandes, Project Manager of Glintt, that shared an interesting case study of a solution delivered to REN Trading (a large Portuguese utilities company, part of REN).

The main takeaway of the session was the very positive results Glintt reaped from using an Agile Methodology approach.

Sandra began by explaining REN's business, which is actually very complex - just like most Utilities companies I've come across! Let me try to summarize it: REN is responsible for managing a large array of processes from energy production to CO2 emission allowances.

sandra 2small.jpg
For those not familiar with the energy market, keep in mind that energy cannot be stored, so you need to produce what will be consumed, and respond to any production/consumption change in real-time. On a daily basis, you need to collect data, aggregate it and make decisions in real time to ensure the success of your business. The impressive fact that struck the audience was that, before this system was delivered, REN managed most of their operations and calculations using a complex ecosystem of interlinked spreadsheets. Just take a minute to think how that might look like...

Sandra took some time to describe the final solution, giving the audience a feel of how the system actually works. When she explained all the functionality the system offers (which I'm keeping off this post to keep it short) and mentioned it was delivered in 16 weeks, you could see people wondering "how was this possible?"

Sandra quickly answered that question in the next slides: using an agile methodology and the OutSystems Agile Platform!

Some quick project stats:
  • Go live in 14 weeks
  • 5 sprints/demos + 1 tuning sprint of 2 weeks
  • Glintt Team: 1 Engagement Manager, 1 Delivery Manager, 2 developers
  • Customer team: 1 Sponsor, 1 Manager, 2 key users

Despite the complex project scope and the relatively small project teams (from both the customer and Glintt) and timeline, the project was delivered on-time, on budget and with strong user adoption!

Sandra wrapped up her presentation sharing what she considers to have been the key success factors:
  • Strong commitment and early adoption of the agile methodology by the customer - Glintt actually ran a workshop session with the customer to get them up to speed on the agile methodology and engage them from day one;
  • Continuous coaching and alignment of expectations - this ensured that as the project evolved, the customer was always aware of the "cost" required to implement features and perform changes.
  • Early implementation of the most complex business processes - this got buy-in from the customer since they saw, very early in the project, how the main features would work and understood they were actually going to get what they wanted! It also reduced project risk.
  • Agile Platform's ability to support continuous and fast change - starting with relatively fuzzy scope that is constantly being renegotiated and realigned, means you need to react to change very fast. According to Sandra, without the Agile Platform's support for change, it would have been impossible to deliver such level of change in such a short timeline;
  • Both teams were highly motivated - seeing a demo with many of the key functionality working after just 3 weeks boosted the customer's confidence of the project's success and the whole project team's motivation.

"Our objective is that every single project reaches this level of success, and is not seen as an exception, but as the norm. This way IT will no longer be considered 'the last inefficient industry of the 21st century'. This is our goal and we're on the right path."
Sandra Fernandes, Glintt

PS: Glintt won an Agility Award for this project in 2009.

About the presenter:
Sandra Fernandes is currently Project Manager at Glintt, IT Consulting, with experience in Agile and PMBOK Project Management Methodologies and business experience on the Energy Market, E-Commerce and B2B platforms, Workflow Systems, Wine and Vineyard Business Processes. Previously Sandra was the coordinator of the Web Portals business unit and Project Manager of several on-going projects co-financed by the European Commission. Graduated as a Computer Engineer at the New University of Lisbon in 1995, she enhanced her academic education with the completion of a Masters Degree in 1999 in "Distributed Multimedia Systems" in the School of Computer Studies of the University of Leeds, UK, at the end of which she was awarded a Distinction of Excellence for her work. From 1995 to 1996 she was responsible for the development of a Production Scheduling System for Ford Electronic. From 1996 to 1998, in SMD, she participated in many European Projects as part of the Research & Development team.

Eric Green, CTO at akiCorp - the actionable knowledge company - specialized in BPM. He started the Platform Techniques track with a detailed comparison between the Agile Platform 5.0 Business Process Technology (BPT) with Business Process Management Suites (BPMS).

ericgreeen3.jpg


First, he gave us a brief historical overview on BPM, BPA, BPMS over the years, starting with BPM as management approach evolving onto a more solid and fully integrated management and technological foundation. Then he highlighted the solid integration of the OutSystems BPT modeling approach with user work management provided by OutSystems EPA (Embedded Process Automation) at the user interface level, as well as the out-of-the-box BAM (Business Activity Monitoring). All in all, Eric considers that the combination of application development and BPT provides an unrivaled implementation capability for the enterprise.


Eric shared with the audience his competitive analysis on BPMS and some of the advantages of pure-play BPMS, namely Lombardi, such as the strong business modeling capabilities by business users. Again, Eric concludes that if you consider the application and the business process capabilities together, the Agile Platform has a much broader coverage. "You'll never use BPM in vacuum!" 


For wrap-up, Eric summarized his observations: 


  • BPMS is quite effective at process design, discovery, simulation and analysis, but, less effective in ALM, usability features and development productivity;

  • Both BPMS and Agile Platform comparably effective at integration with external systems, BAM and business rules;

  • Agile Platform offers a broader spectrum of technical capabilities in the unified modeling environment with automatic (self-healing) data modeling/binding;

  • Agile Platform offering can be enhanced with addition of simulation and optimization capabilities and BPA tools (i.e., Lombardi Blueprint);

  • Agile Platform is simply a more pragmatic and cost-effective implementation platform for many businesses;

  • Ultimately, great business value achievable with Agile Platform, especially when BPM is the objective in the context of an overall integrated web app development environment;


In Eric's words, it all comes up to the last two bullets. What do you think?



Following his keynote, Paulo Rosado introduced Mike Jones, OutSystems' VP of Marketing. You could tell that Mike was really eager to talk, but he started out with a disclaimer. All that is showed (and blogged!) on this session is subject to change. This is still work in progress!

With that said, Mike revealed the short term roadmap for the Agile Platform:
  • 5.1 by late June - Focus on Extreme Productivity
  • 6.0 by the end of year - Focus on User Experience
To make a stronger point on 6.0, Paulo highlighted the growing importance of usability on Web Applications. After all, usability has a huge payoff in terms of adoption and ease of learning Web Apps. 

Mike then announced some exciting things that are going on at OutSystems:
  • The OutByNumbers program: The goal of this project is to measure productivity. After all, as Mike put it, "the only way to know if you're being efficient is to measure!"
  • The 5.0 Cloud Readiness: Paulo mentioned that the customers were complaining that with the Agile Platform, it takes less time to build the app than to order the HW! So, OutSystems will provision development environments in the cloud, within minutes!
tutorials.jpg
Mike then focused on some of the features that will be available for 5.1:
  • Search Engine Optimization: The Agile Platform is being used to build a lot of web sites, and these need to have a high ranking on Google & Bing!
  • Multiple Databases: Large customers with huge sets of data need support for data isolation, both for security and maintenance issues. 5.1 will support this out of the box!
  • Embedded Tutorials: In order to get new developers up-to-speed with the platform as quickly as possible, OutSystems will use Video Gaming technology to teach newcomers  how to be productive in a fast and fun way!
  • Wizards: It is very important to have a 1st cut of the application to show the business as soon as possible. This allows IT to quickly show the business the advantages of a build vs buy strategy. You can tell that Paulo is really excited about the wizards, and the impact they have on a developer's productivity!
shirt.jpg
At this point, Mike is teasing Paulo: "Are you just gonna talk about the wizards, or are you gonna show us?". Paulo's answer? "I can show you, but first I'll take my jacket off. I'm a developer now!" Big round of applause from the developers on the crowd!

So 5.1 is on the big screen, and Paulo is developing an Enterprise Web Application. As he himself said, "I haven't done development in 7 years, and here I am doing a demo."

The demo itself was pretty amazing! Starting with an Excel, and using the Wizards, it took Paulo only 8 minutes to create and publish an Employee Directory Web Application. As Paulo was building the application, stars flew across the screen each time Service Studio did its magic! And the audience kept going "ooooohhh"!

For the finale, Paulo showed us a glimpse of 6.0, and the new "Themes" feature. With this, he totally revamped the application to look like Apple's website in a click! Loads of clapping from the audience. But the best was yet to come!

Paulo used the Themes and Wizards together to build an iPhone application! He showed the address on screen, and invited people in the audience to access the application, and use it to call Mike - right there on stage!

The faster to dialer was Marco Navega, who got to go up on stage an won a new iPod! And you know what? He wasn't even using an iPhone, he did it with a Blackberry!

Before leaving the stage, Paulo asked the audience to give the R&D and Product Management team a big round of applause for making all these features possible, and the audience responded with a huge ovation!

"Only 32% of IT projects succeed"


This got everyone's attention as Paulo Rosado, CEO of OutSystems, began his NextStep keynote describing how IT departments are typically viewed by their business counterparts; in a word - inefficient.

pauloday1.jpgHe was showing a chart by Standish Group to a packed auditorium...that's a pretty awful stat - but why this inefficiency? 

Paulo discussed the faults of the waterfall approach and how business change quickly outstrips IT's ability to deliver and, therefore, the rapid decline into misalignment of IT and the Business. IT backlogs pile up and they don't have enough time to respond to new business needs. To add to this, software ages - according to Gartner, enterprise software reaches the end of its life every 5-7 years

All of this, Paulo asserted, results in the cost of change rising exponentially, both as time passes and as the volume of required change increases.  

Paulo shared how OutSystems and its customers and partners are seeing something different from the norm - Efficiency.

Here are some quotes he shared on how people view OutSystems-driven IT depts:

"IT is very responsive. If it is important, we get a fix in 1 week."

"Business units now come to us asking to have the project done with that 'OutSystems thing."

He shared a bunch of metrics from the OutByNumbers program which benchmarks OutSystems-based IT depts against each other and against traditional IT depts.  The net net of the slides he shared (which we will upload shortly) - is that in the OutSystems world, the cost of change is both low and stable.

cost of change1.jpg
What makes this possible?  The Agile method, in combination with a technology that enables rapid and continuous change.  

Drilling more deeply into the reasons for the rising cost of change in traditional approaches, Paulo compared them to the OutSystems approach and explained how we have been able to achieve the opposite of industry norms - and effectively addressing the last inefficient industry.

Four key areas of discussion:

1. Software Interdependency - and the domino effect of change in highly coupled architectures. The TrueChange engine in the Agile Platform alleviates the need to manually check for, and resolve the impact of change.

2. Monolithic Architecture that keep growing and don't allow for reuse. The answer, Paulo asserts, is to create and reuse services as needs evolve and to ensure the software is broken up into smaller piece, that are connected through protocols: supported in the Agile Platform through refactoring and the support for iterative and bottom-up SOA.

3. Broken Application Lifecycles - where the connection between requirements, development, deployment and monitoring is not seamless. These are addressed in the Agile Platform by Embedded Change Technology, 1-click Publishing and Performance Management.

4. Low Knowledge Transfer - when developers leave the team, so does knowledge of the systems they worked on and it takes time to ramp new people. The Agile Platform answer: Model Driven Development.  Here Paulo shared an interesting example to show how models can simplify knowledge transfer: in a real customer's environment 13,157,961 lines of code are represented in the model by 1602 processes, 987 web pages and 745 data structures.  The math is easy: the less elements there are to understand, the easier the knowledge transfer.

Paulo discussed the typical push-back he hears about the model-driven approach: it's only for building toy apps vs. enterprise-class, and problems scaling to real business needs. He looked into the issues of traditional RAD tools, mashup platforms and the combination of the cloud.  Wrapping up with how the Agile Platform was built for scale and to enable the smooth transition from tactical solutions to strategic, enterprise-class.

He closed by saying you could stabilize the cost of software change at a low level, and make IT more efficient by doing the following:

1. Keep architecture fresh + 2. Automate change impact + 3.Address the full software lifecycle + 4. Simplify knowledge transfer.


NextStep is HERE!

| 1 Comment | No TrackBacks
estoril conf 3.jpgToday is the first day of OutSystems' Annual User Conference - NextStep. This year we have over 661 agile practitioners registered for the conference (more than doubling last year!) and they'll soon be pouring into the Estoril Congress Center, in the beautiful seaside resort of Estoril - just outside Lisbon, Portugal.

This morning, our OutPartner community, represented by partners from all over Europe and the US, is meeting for a quarterly InStep session.  After lunch, we're looking forward to the kick-off of NextStep by Massimo Pezzini, VP and Gartner Fellow, and his keynote on how organizations can improve IT efficiencies in this new decade.

reg desk.jpg


If you are unable to be with us in beautiful Portugal this week - we haven't forgotten about you! We'll be blogging and tweeting on the conference sessions, which you can follow on our NextStep social media page.

If you're attending the conference - we'd love to hear your thoughts - in person, on our blog or in the twittersphere!  Please share your shots of the conference on the Flickr page and don't forget to use the twitter #nxstep hashtag!
breakfast.png
I just got a chance to look into a new offering at this year's NextStep 2010 conference - Network Breakfast Roundtable discussions. While many of you like to write and share ideas online like I do, there is nothing better than getting to sit face to face and discuss a topic that is top-of-mind for you. This is what these sessions are all about.

What a great idea!

The Network Breakfast Roundtable discussions let you choose what you want to discuss and provides the forum to interact with many of OutSystems' internal folks whom you may have had the opportunity to talk with on the phone, hear in a video, read a response in the Technical Forum, etc in a face to face setting. Each roundtable offers the opportunity to discuss the topics that are top-of-mind for you. Ask questions. Tackle challenges and share success. The discussion can go where you want to take it!

The NextStep planning team has worked with OutSystems R&D, Product Management and Solutions Deliver experts to define 11 topics on which to engage you, the OutSystems community.

This year's topics will include:

 

Table Topic

Ice Breaker Question

1

Agile Platform Architecture
Moderated By: António Melo

How does the platform work? Which components are involved?

2

Buy vs. Build
Moderated By: Carlos Alves

Buy a Package or Build a Custom App: How to decide with confidence?

3

Large-scale Software Factories
Moderated By: Fernando Matos

How to transform IT departments into Agile SW Factories?

4

BPT and Asynchronous Processing
Moderated By: Lúcio Ferrão

How to handle bulk human and automatic workflows?

5

Evolving the Agile Platform Roadmap
Moderated By: Manuel Dias & Pedro Oliveira

How can you help evolve the Agile Platform Roadmap?

6

Business Alignment
Moderated By: Nuno Teles

How do you ensure constant business alignment?

7

Agile Platform 5.1
Moderated By: Rodrigo Coutinho

What are your thoughts on 5.1, after the day one keynote?

8

High Performance Agile Teams
Moderated By: Susete Henriques & Gonçalo Gaiolas

How to build and evolve a team towards continuous high performance?

9

Usability
Moderated By: Tiago Simões

How do you find and fix usability problems?

10

First steps with Agile Platform
Moderated By: Rodrigo Castelo

Histories and challenges: How to start with the Agile Platform?

11

SCRUM 101
Moderated By: Mario Araujo

What is this thing called SCRUM?


I hope to see you at NextStep 2010 sharing your insights with others at one of the Network Breakfast Roundtable discussions.

Agile Platform

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