View
92
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Agile Methodologies in VA Hedging Software: Runtime vs. Time to Run
Jim BrackettFinancial Technology PracticeMilliman, Inc.Chicago, IL
Prepared for the Society of Scholarly PublishingMay 30, 2008
April 10, 2023
2
Legal Disclaimer
The opinions expressed herein are the personal opinions of Mr. Brackett, and do not necessarily represent the views of
his employer, Milliman, Inc.
April 10, 2023
3
Familiarity with Publishing
Been around long enough to know a dingbat in the galley isn’t necessarily an idiot at sea…
Worked on College Algebra series at Houghton Mifflin from 1987-1995, and again from 2000-2002.
– Developed ancillary computer tutorial software (“Algorithmic Computer Tutor”).
– Wrote solutions to problem sets for textbooks.
Worked at Turning Point Software for Scholastic from 1998-1999.
– Developed Reading Counts! for Macintosh and PC systems.
Worked at Inera part-time from 1999-2002.
– Contributed modestly to the integration between eXtyles™ and Microsoft Word.
April 10, 2023
4
So, What Did I Learn About Publishing?
Time is the enemy.
– Every action is framed in the context of meeting deadlines.
Budget constraints are ubiquitous.
– Decisions are shaped at least in part by cost considerations.
Teamwork is of paramount importance.
– The success of the project is dependent on the success of many specialized individuals.
Organization is needed to coordinate activities.
– Projects involve lots of concurrent and interdependent processes.
This reminds me of another industry I know pretty well…
April 10, 2023
5
Four Things You Should Know About Software Development Projects
Time is the enemy.
– Every action is framed in the context of meeting deadlines.
Budget constraints are ubiquitous.
– Decisions are shaped at least in part by cost considerations.
Teamwork is of paramount importance.
– The success of the project is dependent on the success of many specialized individuals.
Organization is needed to coordinate activities.
– Projects involve lots of concurrent and interdependent processes.
April 10, 2023
6
VA Hedging with MG-Hedge™
Variable Annuity Guarantees– Life insurance companies offer riders that guarantee a return on investment in equity markets
with products that lock in gains and protect against losses.– Insurers are on the hook for down markets during which policyholder account values diminish
(e.g., 2001-2003).
Hedging Programs– Options contracts and other capital markets instruments are purchased such that losses in
account value are offset by payoffs on the contracts.– There is a cost to maintaining positions in a hedging program, but the benefits of low reserving
requirements, predictable gains and losses, and approval from credit rating agencies far exceed the costs.
– Until 2003, few insurance companies were running hedging programs; now, virtually all companies that offer VA guarantees are hedging.
MG-Hedge™– MG-Hedge™ is the Milliman software suite for managing a hedging program.– MG-Hedge™ includes a fund-modeling system, a liability valuation system, and a trade
positioning system.
April 10, 2023
7
Runtime
Volume of Processing
– Multiplicative Factors per MG-Hedge™ Valuation Run:
• Policy Count (example: 750,000)
• Stochastic Scenarios (example: 200)
• Time Steps (example: 40)
• Sensitivities (example: 80)
– Nightly mission-critical runs are scheduled for dozens of Milliman clients.
– Computational demands require hundreds of CPUs.
C-Squared Software
– Responsible for scheduling, load balancing, and monitoring of work assignments on a cluster of several hundred CPUs.
– Addresses throughput (runtime) and fault tolerance (reliability).
April 10, 2023
8
Time to Run How much time and effort is needed to plan, implement and test C-Squared® before it
is suitable for use with new client models?
In an ideal world…– We’d gather detailed specifications on the client model, including performance and resource
utilization metrics, over a period of weeks;– We’d assemble the team for a week or two of design meetings to review, select and document
every viable solution to satisfy functional requirements;– We’d prepare a written blueprint detailing every engineering activity to be undertaken during
the course of the engineering project;– We’d assign tasks to software engineers in accordance with the blueprint, tracking progress
on a regular basis over a period of weeks to months; and,– We’d hand the resulting software to the Quality Assurance team along with detailed supporting
documentation, with several weeks of testing and rework available before reaching our deadline.
In the real world…– There are no formal specifications on the client model;– Documentation is minimal at best;– The deadline is two weeks out — and the client model is changing every day.
April 10, 2023
9
Poised for Change
Program code is separated by logical function.
– C-Squared® and valuation models are designed to be as independent as possible; changes in one do not, as a rule, necessitate changes in the other.
Improvements to C-Squared are incremental and continuous.
– New features are always additive.
– Changes in functionality must be backwards compatible.
– Accordingly, any two versions of C-Squared are (almost always) interchangeable.
– Feature selection is done based on merits of value to customer and on judgment of software development team.
Changes to the existing code base are deliberately minimized.
– “One-liners” are lauded in favor of diverse edits to source code.
April 10, 2023
10
Adoption of Agile Principles
Working Software is Primary Measure of Success– This may seem obvious, but traditional approaches can place a higher premium on
conformance to budget constraints or incremental progress that does not rise to the level of “working” from a customer point of view.
Change is Anticipated and Welcomed– Perhaps a more realistic and accurate characterization is “the inevitability of change is
acknowledged and accepted.”
Frequent and Effective Communication is Critical– Team members must share a common understanding of requirements and coordinate
interdependent tasks without the benefit of detailed blueprints.
Place Trust in Experienced Team Members– Micromanagement is abandoned in favor of relying on the technical strengths and sound
judgments of team members; verbum sapienti.– Experience is necessary to select one of many possible solutions to avoid “painting one’s self
into a corner.”
Process Must Be Sustainable– Inconsistency in the process can result in change being readily accommodated at one point
but not another.
April 10, 2023
11
One Size Never Fits All
Agile methodologies are ideally suited for projects where:
– Criticality is low;
– Team members are experienced;
– Requirements are subject to change;
– Head count is small; and,
– Tasks can be measured in days or weeks.
What happens when criticality is high and/or the expected timeline for completion of a task is more naturally measured in months?
April 10, 2023
12
Adapting an Adaptive Methodology
The criticality and duration of a task tend (in my experience) to be positively correlated.
For tasks that are highly critical or time-consuming, a more predictive and less adaptive strategy may be favorable:– Engage in thoughtful design (brainstorm as a team).– Prepare a high-level blueprint (does not have to be extremely detailed).– Promote minimal intrusiveness (or maximal isolation) as top priority (subordinate to
correct functionality).– Entrust assignment to one or two senior and experienced team members.– Relax time constraints altogether (“it takes as long as it takes”).
This leads to parallel development paths:– One group branches off to work on a complex feature (with some planning and no
mandate to finish in a short time frame).– The rest of the team continues making incremental improvements (in short time
frames with receptivity to sudden change).
April 10, 2023
13
Visualization of Parallel Paths
High Frequency/Low Amplitude Path– Tasks are completed over relatively short time periods.
– No one task deviates significantly from starting point.
Low Frequency/High Amplitude Path– Tasks are completed over relatively long time periods.
– Individual tasks may deviate significantly from starting point.
– Price for independence and relaxed time constraints: effort of integration (merging).
– Value of preserving backwards compatibility and simplifying changes is realized.
Dist
ance
from
Stab
le R
elea
se
Time
Integration Points
April 10, 2023
14
Key Points
Anticipate Change– Shift from predictive thinking to adaptive thinking.– Seek alternatives for any element of a project that limits receptiveness to change.– Establish an appropriate value system.
Trust Your Team– Individuals should be empowered to make decisions autonomously, to think
creatively, and to implement independently.– For new projects, this should be considered when assembling a team; for ongoing
projects, this may require a gradual reorganization.
Promote Communication– Frequent communication is the adaptive alternative to predictive documentation.
Be Agile with Agile– Don’t be afraid to experiment with variations that suit your specific needs or
environment.
April 10, 2023
15
Online Resources
Milliman, Inc.
– http://www.milliman.com
MG-Hedge™
– http://www.milliman.com/expertise/life-financial/products-tools/mg-hedge/
C-Squared®
– http://www.milliman.com/expertise/life-financial/products-tools/c-squared/
Jim Brackett (e-mail)
– mailto:[email protected]