1
Cloud vs. In-House and Package vs. Custom Code
E-BILL AND PAYMENT UPGRADE
About the Presenter
» Dan Richardson
» Senior Software Developer
» I’ve worked on SCG’s various “My Account”
websites since 1999.
2
Size
Largest natural
gas distribution
utility in the US
20,000 square
mile service
territory.
Customers
21.6 Million
customers
5.9 Million active
meters
History
2017 marks the
150th anniversary
of our founding in
1867 in Los
Angeles
About SoCalGas
3
SCG My Account History
Original website Smalltalk on OS/2 1998
Migrated to new Smalltalk on Windows 2002
New EBPP – custom UI on vendor package 2006
Added custom portal, more orders, etc. 2009
New business portal and “outside” functions 2015
Replace residential portal and EBPP 2016
4
My Account: By the Numbers
2.2 million active My Account website users 1
2.3 million paperless accounts (40%) 2
18 Million payments worth $1 billion last 12 months. 3
10% to 13% web payment annual growth rate 4
41 million bill ready emails over the last year 5
4 million consolidator eBills over the last year 6
5
Needed
reliability
improvements
and high
availability
No direct
version
upgrade of
vendor
package
Vendor
application tier
package EOL
Why replace My Account and EBPP
Outdated UI
in appearance
and function
Needed better
UI support for
mobile
devices
Needed
WCAG 2.0 AA
UI support
On old
technology
“stack”
6
7
“Outside” My Account Portal EBPP
1. Registration
2. Login/Logout
3. Remember Me
4. Forgot Username
and/or Password
5. Service Order
6. Start Service
7. Stop Service
8. Transfer Service
9. Check Service
Status
10.Auto Enroll
11.EZ Enroll
Residential Business 1. Create / Edit /
Delete Payment
2. Create / Edit /
Delete Bank Acct.
3. Automatic Monthly
Payment Plan
4. View My Bill
5. Bill History
6. Charges and
Payments
7. Level Pay Plan
1. Start / Stop /
Transfer Service
2. CARE (discount)
Apply / Verify /
Renew / Cancel
3. Payment Extension
1. Many-to-Many
support.
2. Manage User
(Delegate) Access
3. View User Activity
4. Go Paperless
5. Service Order
6. Manage (service) Appointments
7. Analyze Usage / Usage History
8. Compare Bills / Calculate Carbon Footprint
9. Manage My Online Profile
10.Manage Account Information
11.Manage Alerts
12.Add / Remove Account
My Account MATRIX Features and Functions
My Account MATRIX Project Timeline
8
1 2 3
4 5
Cloud Based
Software as a
Service Solutions
Cloud Hosted
Packaged
Software
Cloud Hosted
Custom Software
Locally Hosted
Packaged
Software
Locally Hosted
Custom Software
EBPP Replacement Solution Architectures Considered
9
RFP Part 1: Functional Requirements
10
Capability Description Create One-Time Payment
Check if a bank
account exists. Redirect to add bank account page, if there is no bank account associated.
Get accounts,
amounts, date to pay Call CIS Webservices to get the real time account balance & due date. Also check if there are
any payment arrangements for a given account. If the web service call fails, display the amount
& due date from the last valid bill indexed. Payment arrangement details are not displayed in
case the payment arrangement web service fails. On-screen
verification each Amount >= $1 each Amount < $1,000.000.00 each amount only digits and . If there are multiple payment accounts, ensure that none of them is selected by default. Default
to a payment account if and only if there is only 1 payment account associated.
Server-side
verification each Amount >= $1 each Amount < $1,000.000.00 each amount only digits and . at least one bill account selected exactly one bank account selected payment date is valid date payment date >= today payment date < today + 90 days No existing same amount, date, account payment No more than 1 existing same date, account payment Account is not restricted from pay (cash only) Bank Account is not negative file (returned checks)
RFP Part 2 : Technical Requirements
11
Will it work with our single sign on, portal, application server, database,
monitoring tools, etc. 1
Does is support high availability, disaster recovery, load balancing,
datacenter failover, fault tolerance? 2
Does it handle our current volume and expected growth? With what
response time? 3
Does it support role based access controls? Many web user to many bill
account relationships? 4
Security questions such as PCI v3.0 compliance, encryption in transit
and at rest, security event logging. 5
Cloud security questions such as where is it hosted, datacenter security,
security audits, penetration testing, staff access to raw data, etc. 6
What is your snapshot/mirroring/backup strategy? 7
12
RFP 3 : Integration Architecture
Selection Criteria (1 of 2)
13
Criteria Description Wt. Price - TCO 5 Year Basic 5-year TCO analysis
H Implementation Costs Upfront implementation costs
On-Going Support Costs
(Incremental O&M) On-going support (incl. defect fixes, enhancements),
hosting, transaction, etc. costs
Accounting Analysis Analysis comparing Capital v. O&M cost balance of each
option. H
Contingency Representing confidence level of development
quotes/estimates
Capability Mapping % the solution provides existing capability via Out of the
Box (OOB) /Configuration (remaining % is Custom) H
Solution Maturity Solution provides reliable EBPP functions (payments
processing, etc.) H
Implementation Experience Vendor's experience with integrating solution with similar
approach, architecture, security, volumes, etc. M
Adaptability - Ease Ease of making basic enhancements to the solution M
Adaptability - Cost Cost of making basic enhancements to the solution M
Adaptability - Best Practices Flexibility and ease of adding major industry best practice
enhancements (e.g. Credit Card payments, etc.) M
Selection Criteria (2 of 2)
14
Criteria Description Wt. Integration of User Experience Provides seamless customer integration with Portal H
WCAG 2.0 Accessibility Solution developed per WCAG 2.0 AA specifications M
Responsive Design Solution developed to support Responsive design on
Tablet/Mobile H
Ease of Integration Ease of integration for initial implementation of solution H
On-Going Support/ Service
Levels Reliable operation of EBPP application (uptime %, defect
fixes, etc.) M
SCG IT SME Resources Loss of SCG SME resources will not impact project;
Plus the benefit of reallocating to higher value work L
Security Provide a secure solution that meets SCG guidelines H
Network Latency - User
Response Time Impacts SCG Network impact to support hosted solution load;
may impact User Experience (Response Times) M
Disaster Recovery The sophistication of the DR approach meeting the
EBPP Tier2 designation M
Suitability to a SaaS solution
given requirements Ability to meet SCG IT strategic objective of utilizing
cloud based solutions M
SDGE Re-Use Ability for SDGE to re-use all or portions of the solution. L
Maturity of Company Maturity of solution vendor's company L
Selection Results: Custom In-House
15
Other options 60% higher 5 year TCO 1
Other options ongoing costs after 5 years 2
Custom had best capability mapping 3
Custom had best integration 4
Custom had best adaptability and customization 5
10% to 35% higher total selection criteria score 6
SCG Specific Considerations (YMMV)
16
Custom EBPP reused My Account MATRIX environments
and infrastructure significantly reducing costs 1
We already had an experienced ADF project team from earlier
My Account MATRIX releases 2
We were able to reuse our existing MATRIX development
environment, build system, framework code, etc. 3
We had a Business and IT SME team with a combined
30+ years of custom EBPP experience 4
Most of the previous EBPP implementation was custom,
especially batch, which enabled reuse and easier rewriting 5
Had steadily been replacing previous EBPP package
with custom code even before MATRIX project 6
My Account MATRIX Project Timeline
17
MATRIX Development Approach
18
Methodology & Process • Methodology - Hybrid (agile/waterfall) using best practices of both
• Testing strategy - Multiple browsers & test phases, testing automation
• Documentation, Reviews, Approvals, demos early on
• Phased implementation where possible
• Solid Requirements & Change Management process
• Daily stand ups
Effort Estimation • Estimates based on solid requirements – not many surprises
• Estimates based on historic data (previous MATRIX phases)
• Resource allocation to support project timeline
• Close monitoring of estimates & milestone dates to avoid slippage & stay within budget
Overall Team Structure
19
Team Structure Different Vendors (Separation of Concerns)
Dedicated teams (Creative, Functional, Development, Testing) with formal handoffs
Strong internal leads partnering with vendor’s team leads
Strong Internal SME’s & Ownership
Dedicated support (Network, Operations, DBA, etc.)
Strong sponsorship support and project autonomy
Team Size at Peak (50) Functional/Creative - 3
ADF/Online Development - 12 (4 “component leads”)
User Interface Development - 4
Batch Development - 9 (onsite/offshore)
Architects - 4 (ADF, Batch, Solutions, Infrastructure)
Testing - 14 (7 offshore, 6 onsite – including COT)
Management - 4 (Vendor and SCG, Business PM)
Key Project Artifacts (see Appendix)
20
Detailed Requirements and Use Case 1
Functional Wireframe 2
Accessibility Wireframe 3
Mobile Wireframe 4
Error (and Message) Log 5
GUI Design (Desktop and Mobile) 6
Project Result and Lessons Learned
21
Project was delivered on time and on budget with a relatively
small number of defects with most fixed during storm 1
Splitting into several major production releases made each a
more manageable size and reduced risk and complexity. 2
Spitting each main release into several rounds of test releases
enabled more overlap in requirements time, design time,
development time, and testing time leveling teams’ workloads
3
Close integration of business unit representatives,
analysts, developers, SME’s, maintenance team, and
testers was crucial for overall success
4
We needed dedicated server, storage, network, security and
other infrastructure team resources available to the project 5
Demo of SCG My Account
» At this point I would like to log on to SCG’s My
Account website and spend a few minutes
showing some of the responsive and
accessibility features. I’ll need a network
connection to do this. If this will not be available,
please let me know and I’ll record a (no audio)
desktop video of this and will send it to you
separately. This was part of my presentation at
Oracle Open World and was well received.
22
Q&A and Discussion
» Questions?
» Comments?
» Further information requests?
23
Appendix: Detailed Requirements
24
Appendix: Use Case 1
25
Appendix: Use Case 2
26
Appendix: Use Case 3
27
Appendix: Functional Wireframe
28
Appendix: Accessibility Wireframe
29
Appendix: Mobile Wireframe
30
Appendix: Error (and Message) Log
31
Appendix: Desktop GUI Design
32
Appendix: Mobile GUI Design
33
Contact Information
» Dan Richardson
» Senior Software Developer
34