OutSystems - A RAD Journey - NextStep Americas 2015

Preview:

Citation preview

A RAD JourneyChief Technology Officer

Izak Joubert

Agenda

• Introduction to NES Financial

• Life before Outsystems

• RADically Agile

• Lessons Learned

• Course Adjustments

In a nutshell…

About Us

Technology-enabled services for efficient back office administration of highly specialized financial transactions

Leading provider of industry-specific, custom solutions for EB-5 administration, 1031 exchanges, and escrow and fund administration

Service Evolution

20051031

Exchanges

20081031

Programs

2010 Escrow Admin

2012EB-5

Admin

2013Client Trust Accounting

2014Fund

Admin

2015Loan Admin

Products & Services Related

• Back Office (3)

• Treasury

• Customer Portals (3)

• Partner Portals

Internal Applications

• Billing

• Sales Operations

• Data Warehouse & Reporting

• Planning & Forecasting

Application Landscape

Life before Outsystems

Original Technology Stack

Life Before Outsystems

MS SQL Server Database(SP’s, Views, Triggers)

Business Layer(C# & CSLA Framework)

User Interface(ASP.NET, jQuery, 3rd Party)

DEV Tools

MS Visual StudioTeam Foundation ServerTest Automation Tools

First Platform Attempt

• Java – MySQL based

• Carved out of an existing CRM solution

• Primarily a PaaS solution

• First application took 1 year to roll-out

• Disappointing results (functionality & performance)

• Completely disrupted the development organization

Life Before Outsystems

Technology stack

Align with our competencies

Support our development

strategy

Easily accepted by customer

base

ImproveDEVOPS

capability

Lessons learned

Life Before Outsystems

VendorMaturity

Long-termViability Competencies

Best Practices

Lessons learned

Life Before Outsystems

• Small core team with domain & business expertise

• Supplemented with external development teams

• Minimize customizations & add-ons

Development Strategy

Life Before Outsystems

• Consolidate data models into a single, cohesive structure• Reorganize business logic into highly reusable, shared

functional modules• Continue to maintain separate external facing & internal

applications built on the new business layer• Use workflow automation to promote consistency &

reduce errors

Architecture Strategy

Life Before Outsystems

Technology Foundation

Supported our technology goals

Understood & accepted by our customer base

Reduced the “lock-in” problem

Life Before Outsystems

Platform Selection

Technology Foundation

Supported our technology goals

Understood & accepted by our customer base

Reduced the “lock-in” problem

Vendor Qualification

Size & diversity of customer base

Professional services capability

Respected our evaluation process & pace

Life Before Outsystems

Platform Selection

Technology Foundation

Supported our technology goals

Understood & accepted by our customer base

Reduced the “lock-in” problem

Vendor Qualification

Size & diversity of customer base

Professional services capability

Respected our evaluation process & pace

EvaluationProcess

Used available online training material

Built a working application

Tested usability, integration & performance

Life Before Outsystems

Platform Selection

• Round 1 Re-implemented original BackOffice specification Incorporated POC application Added 50% more functionality 4 months to deliver

• Round 2 New Immigration Workflow application New EB5 Funds Administration application Customer Portal (OS Team) Mobile Portal (OS Team) New Sales, Billing & Planning modules

RAD & Agile

• Developers lost momentum by jumping between projects

• Learning in one project leads to refactoring in other projects

• User support & feedback can become a fire hose

Lessons Learned

RAD & Agile

Do not take on too many projects at the same time

• Design specs not ready when initiating projects

• Not properly able to manage the development team

• Did not maximize the value of the engagements

Lessons Learned

RAD & Agile

Understand the internal impact of outsourcing

• On-site consulting is NOT a substitute for training

• Developing with the platform is NOT by itself RAD or Agile

Lessons Learned

RAD & Agile

Don’t underestimate the importance of proper training

• Took on the BA role because we wanted to maintain momentum

• Created new or expanded functionality because it was easy and fast

• Did not clearly understand the transition from POC to MVP

Lessons Learned

RAD & Agile

Do not get ahead of businessDo not create solutions where there are no problems to solve

• Enterprise agility…• Increased in-house BA resources• Improved requirements definition process• Re-designed DEV->QA->UAT process• Reworking architecture to improve scalability

Course Adjustments

RAD & Agile

• Allow business time to embrace Agile & RAD

• Improve definition & testing processes

• Leverage OS expertise better

• Find and maintain the RIGHT speed

Conclusion

RAD & Agile