22.03.2013 Views

Download Presentation

Download Presentation

Download Presentation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Truly Agile Actuarial Applications<br />

CAE Fall Mee*ng Zurich<br />

28 September 2012<br />

Roland Bürgi


What is the Meaning of Agile?<br />

1: marked by ready ability to move with quick easy grace<br />

<br />

2: having a quick resourceful and adaptable character<br />

<br />

Source: Merriam-­‐Webster<br />

28.09.2012 Truly Agile Actuarial Applica*ons 2


Systemorph at a glance<br />

Founded March 2011<br />

Head Office Zurich<br />

Mission Systemorph outperforms tradi*onal development by<br />

• providing ready-­‐to-­‐use implementa*ons<br />

• delivering cuSng edge architecture<br />

• using modern design paTerns<br />

• avoiding heavy specifica*on and documenta*on<br />

• reducing development *me by factors<br />

Organisa*on Scalable start-­‐up, agile, decentralised team,<br />

onshore and nearshore<br />

Business Model Partnering with SW-­‐houses (Integrators)<br />

09.10.12 Systemorph Company & Pla\orm 3


Agility in Small Projects<br />

• For small projects, the choice of technology and process hardly<br />

maTers<br />

• They are focused around an individual; leverage personal skills<br />

28.09.2012 Truly Agile Actuarial Applica*ons 4


Challenges in the Actuarial Profession<br />

IFRS SST<br />

28.09.2012 Truly Agile Actuarial Applica*ons 5<br />

Global<br />

Communica*on<br />

Solvency II<br />

• Several challenges cannot be mastered by individuals<br />

• Many diverse skill sets are required to accomplish the task<br />

• Collabora*on and communica*on is vital<br />

Group Pricing<br />

and Reserving<br />

• Interfaces are generally difficult and require careful engineering


Project Method: The Waterfall<br />

28.09.2012 Truly Agile Actuarial Applica*ons 6<br />

Characteris*cs<br />

• Heavy specifica*on and documenta*on<br />

(paper programming); Business Analyst<br />

has to an*cipate everything<br />

• Sequen*al process steps, revisi*ng<br />

hardly possible<br />

• Big itera*ons (releases every 3-­‐4 months)<br />

• Programming with light-­‐weight<br />

architecture at low abstrac*on possible<br />

Consequences<br />

• Project becomes heavy and in-­‐agile<br />

• Lacking flexibility is blamed on bad<br />

business specifica*ons<br />

• Projects are long and expensive


Project Method: Agile Development<br />

Characteris*cs<br />

• Small itera*ons (1-­‐3 weeks)<br />

• Strong user involvement<br />

• Con*nuous refactoring<br />

(keep code in mo*on)<br />

• High extensibility<br />

• Very intensive tes*ng<br />

Consequences<br />

• Sohware at an early stage<br />

• Visibility of progress<br />

• Con*nuous refactoring<br />

• Con*nuous improvement<br />

• High user sa*sfac*on<br />

28.09.2012 Truly Agile Actuarial Applica*ons 7


Does Agile Development always work?<br />

• Agile Development is primarily a wish: Develop in small cycles, release ohen and<br />

keep everything flexible<br />

• How do you achieve a common architecture when you have to start producing<br />

sohware in sprint 1?<br />

• How do you guarantee consistency in the applica*on when many persons work<br />

with liTle specifica*on?<br />

28.09.2012 Truly Agile Actuarial Applica*ons 8


The Agile Process (e.g. Scrum)<br />

28.09.2012 Truly Agile Actuarial Applica*ons 9<br />

• Organise your team like a rugby team<br />

• High degree of self organisa*on of the team<br />

• Itera*ons are called sprints (1-­‐4 weeks)<br />

• Each sprint starts with planning<br />

• Each sprint ends with retrospec*ve/review<br />

• Each day, the daily scrum (15’) is held where<br />

each team member answers three ques*ons:<br />

1. What did I do yesterday?<br />

2. What will I do today?<br />

3. Where am I blocked?<br />

• Scrum supports the agile development with a light-­‐weight process<br />

• However, Scrum is not the only enabler needed!


Team Culture<br />

28.09.2012 Truly Agile Actuarial Applica*ons 10<br />

• Team members must be observant that the<br />

concepts are always consistent and the code is<br />

always clean<br />

• No one must be shy to redo their work. It is<br />

highly important that the work fits into the<br />

context and that it is maintainable<br />

• Each individual must be concerned to reach the<br />

team goals<br />

• Team members can speak up at any *me, the<br />

management should listen and react<br />

• Agile development is a cultural effort by the team<br />

• The agile culture has to be fostered and enforced by management


Don’t Repeat Yourself (DRY)<br />

Source: ibm.com<br />

28.09.2012 Truly Agile Actuarial Applica*ons 11<br />

• In classical specifica*ons, a number of<br />

artefacts are involved<br />

• The existence of a certain field can occur in<br />

all these artefacts<br />

• Furthermore, this field will occur in mul*ple<br />

implementa*on and tes*ng artefacts<br />

• If the field needs to be changed, the change<br />

has to be adapted in all these documents<br />

• All these artefacts have to be kept up to<br />

date è several management resources are<br />

needed<br />

• A unique source of truth should contain all aspects<br />

• Avoid any duplica*on of informa*on – Duplica*on Is Evil (DIE)


Convention over Configuration<br />

All sheep are white<br />

This sheep is black<br />

28.09.2012 Truly Agile Actuarial Applica*ons 12<br />

• 80% of the specifica*on are not substan*al but can<br />

be described with conven*ons<br />

• Examples:<br />

• Fields are called the same in the data model, on<br />

the database, in the UI, etc.<br />

• En**es and their proper*es are visible to<br />

everyone<br />

• Excep*ons can be specified in configura*on<br />

• Overall, this enhances extensibility:<br />

• New en**es get sensible defaults<br />

• Defaults can be changed transparently<br />

• Data situa*on is transparent<br />

• By choosing clever conven*ons, specifica*on can be reduced to the min<br />

• In most technologies (e.g. Excel), this approach is not possible


Specification and Documentation<br />

Traditional Development Don’t Repeat Yourself (DRY)<br />

• Having specifica*on and documenta*on redundant kills readability.<br />

• Being able to focus on relevance makes informa*on lean and readable.<br />

28.09.2012 Truly Agile Actuarial Applica*ons 13<br />

DRY and<br />

Convention over Configuration


The Systemorph Domain Model<br />

[RestrictRoleAccess(EditActions.Any^EditActions.Read,“Actuary”,“Specialist”)]!<br />

public class LossEstimates : EntityWithDescription!<br />

{!<br />

![ShortName(“MPL”)] !<br />

!/// !<br />

!/// The anticipated loss at the Frequency!<br />

!/// !<br />

!public double MaximumProbableLoss {get; set;}!<br />

!!<br />

![RestrictRoleAccess(EditActions.Edit, “Actuary”)]!<br />

![Range(0.01, 10)] !<br />

!/// !<br />

!/// Frequency at which AnticipatedLoss is spec.!<br />

!/// !<br />

!<br />

} !<br />

!public double Frequency {get; set;}!<br />

![RestrictRoleAccess(EditActions.Edit, “Actuary”)]!<br />

![Range(0.7, 10)]!<br />

!/// !<br />

!/// Shape of the severity distribution!<br />

!/// !<br />

!public double ParetoAlpha {get; set;}!<br />

28.09.2012 Truly Agile Actuarial Applica*ons 14<br />

Don’t Repeat<br />

Yourself<br />

Conven*on over<br />

Configura*on


Architecture<br />

28.09.2012 Truly Agile Actuarial Applica*ons 15<br />

• The architecture must enforce unity in the team<br />

• It should not be visible by whom a certain feature is<br />

programmed; all developers must have a uniform style<br />

• Extensibility must be kept a core value: Whenever it<br />

has to be limited, this has to be done consciously and<br />

transparently<br />

• The architecture must support modern design<br />

paTerns (DRY; CoC etc.)<br />

• The team should be dealing with content, not with low<br />

level implementa*ons<br />

• Architecture is a principle enabler for agile development<br />

• The team should focus on content and not implementa*on details


Programming with Lean Architecture<br />

28.09.2012 Truly Agile Actuarial Applica*ons 16<br />

• High degree of individualism<br />

• Low abstrac*on level<br />

• Duplica*on of code is frequent<br />

• Code is typically not reusable<br />

• Concepts are fragile<br />

• Maintenance is difficult<br />

• Overall high cost of ownership<br />

• Developing at low abstrac*on is fast at the beginning, very slow later<br />

• Applica*ons are inflexible and difficult to maintain and to test


Dilemma: Architeture vs Visibility<br />

• Adaptability<br />

• Transparency<br />

• Simplicity<br />

• Unity<br />

• Need for a pla\orm<br />

28.09.2012 Truly Agile Actuarial Applica*ons 17<br />

• Quick visibility<br />

• Fast burndown<br />

• Quick itera*ons<br />

• LiTle architecture<br />

• Difficult to extend<br />

• Difficult maintaince


Choices of Architecture<br />

Low Abstrac*on<br />

Pla6orm<br />

Build Own Pla6orm<br />

28.09.2012 Truly Agile Actuarial Applica*ons 18<br />

Early visibility of first func*onality<br />

Easily separable for programming (e.g. one screen each)<br />

Difficult to test and change<br />

Overall the most expensive<br />

Ready-­‐made architecture which can be trained<br />

Clean and standard ways of implementa*on (unity)<br />

High degree of testability<br />

Users can focus on your core competences<br />

Difficult to achieve; requires qualified architect<br />

High degree of commitment needed from the organisa*on<br />

Not in the core competence of an insurance company<br />

Visibility of success only very late in the project è high risk<br />

• The pla\orm approach allows for lean and agile tool development<br />

• The users can focus on agile development of their core business


Wikispeed: Modularity and Tools<br />

28.09.2012 Truly Agile Actuarial Applica*ons 19<br />

• Wikispeed builds 100 miles per gallon cars<br />

• Process: Scrum<br />

• Development *me: 6 months<br />

• Enabler: fully modular car<br />

• Enabler: contribu*ons of many specialists<br />

• Enabler: Good toolset which is arranged so<br />

that it is above the materials it is used with<br />

è self-­‐documen*ng<br />

• It is even possible to build 100 mpg cars agile with distributed team<br />

• The results bring you quantum leaps improvement


Unit Testing<br />

28.09.2012 Truly Agile Actuarial Applica*ons 20<br />

• Unit tes*ng is a good way to provide<br />

examples of how to use func*onality<br />

• Unit tests are wriTen during the development<br />

• They will always be up to date, as execu*on is<br />

required to guarantee quality<br />

• The unit tests are a perfect security net for<br />

refactoring, which again is an enabler for<br />

agility<br />

• The test suite is security net for refactoring<br />

• The test cases serve as compilable and executable documenta*on


Summary<br />

The following enablers are needed to run lean and agile development:<br />

• Team culture of con*nuous changing (refactoring)<br />

• Agile process framework (e.g. Scrum)<br />

• Modern design paTerns:<br />

• Don’t Repeat Yourself (DRY)<br />

• Conven*on over Configura*on<br />

• Systemorph Domain Model<br />

• Architecture suppor*ng agile development<br />

• Unit tes*ng enabling refactoring<br />

28.09.2012 Truly Agile Actuarial Applica*ons 21<br />

Systemorph Pla6orm provides:<br />

• Standard Implementa*ons<br />

• Ready-­‐made Architecture<br />

• Consistent User Experience


Thank you very much for your attention!<br />

Questions are highly appreciated!

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!