Steven Woodward CFPS, CSQA steve@cloud-perspectives.com 613-823-7573 www.cloud-perspectives.com
Cloud
Perspectives
Introduction
Models and Standards
Categories and Context
Function Point Scenarios
Hints
IFPUG – Cross Contributions & Collaboration
NIST – National Institute of Standards for
Technology
OMG CSCC (Object Management Group)
TM Forum
QuEST Forum
Cloud Security Alliance
IEEE
Three Service Models
-Software as a Service (SaaS) - Platform as a Service (PaaS) - Infrastructure as a Service (IaaS)
Four Deployment Models
-Private cloud -Community cloud
-Public cloud -Hybrid cloud
Five Essential Characteristics
-On demand self-service -Broad network access
-Resource pooling -Rapid elasticity -Measured service
Review objectives & goals
Use other reference architectures and cloud
eco-system models to generate discussions
Business application boundaries Middleware boundary approaches
IaaS and PaaS can be initiated by a “user” or
“machine” (even a higher level service SaaS for example)
Management Security & Privacy Cloud Operational Function Cloud Availability Function Monitoring & SLA Cross-Layer Functions User
Function FunctionPartner Administration Function User
Layer
Access Layer
Endpoint
Function Inter Cloud Function Services
Layer
Resources Layer
Resource Orchestration Pooling and Virtualization
Physical Resources Service Orchestration SaaS/ CaaS PaaS IaaS NaaS
Management Security & Privacy Cloud Operational Function Cloud Availability Function Monitoring & SLA Cross-Layer Functions User
Function FunctionPartner Administration Function User
Layer
Access Layer
Endpoint
Function Inter Cloud Function Services
Layer
Resources Layer
Resource Orchestration Pooling and Virtualization
Physical Resources Service Orchestration SaaS/ CaaS PaaS IaaS NaaS
Goals/Objectives
Application Boundaries
Potential Middleware Boundaries Other “Trust” Boundaries
Additional Attributes and Context
Interpretations and Special Extensions Categorization and Analysis
Communication of Results
Effective Leveraging of FP Data Learn and Refine
Kill weeds Progress:
◦ Disperse 1.5 litres ◦ Duration .75 hour ◦ Front & Back Yard
Disappointing
Analysis:
• Wife put path/grass killer into the weed killer
container
• I used the wrong spray
Context and categorization are keys to realizing
success, otherwise it could cause more harm than
IaaS PaaS SaaS Development Platform Functions
Service Facing Functions Business Facing
Functions
Infrastructure/ Resource
Functions
One Product Can Cross Services
$60/ FP $800/ FP
Create, View Customer Create Pay Product
Customer can make a purchase
Dynamically request more storage due to
customer purchases made
Customer requests more storage due to
Create Pay Product View Customer Create Customer Pay Friend Application Boundary Product Customer
SaaS
1) All DETs within the cloud solution are
meaningful to the business and stakeholders
2) Some DETs within the cloud solution product are not meaningful to the business and
stakeholders
3) DETs can be defined by the user/ administrator
4) DETs can be defined by the user/
administrator, but are pre-configured as part of the solution
DET Interpretation Rationale 1) All DETs
meaningful Count all DETS Meaningful 2) Some DETs
meaningful Count only meaningful DETs If it’s not of value don’t count it 3) Admin Defined Count DETs
meaningful to the business
Counting from business perspective, not how it is implemented 4) Supplied Configured with Admin Available Count DETs supplied and configured to satisfy business requirements
Counting from business perspective, not how it is implemented
DET Interpretation Rationale 1) All DETs
meaningful Count all DETS Meaningful 2) Some DETs
meaningful Count only meaningful DETs If it’s not of value don’t count it 3) Admin
Defined Count functionality for defining DETs (those are then treated as “repeating”)
Counting functionality to define business DETs, not each DET configured
4) Supplied
Configured with Admin Available
Count DETs supplied and configured to satisfy business requirements
Those DETs that were pre-configured by the supplier are recognizable DETs, meaningful to the consumer
Consider Objectives
Using FPA for Project Estimates?
Using FPA to Clarify Business Functions? Using FPA for Outsourcing?
Using FPA for Maintenance?
Using FPA to help generate test plans?
Using FPA to price and make payments based
Business requires that the “product add”
function is available from an end user desktop windows device, plus from iOS (Apple), Blackberry and Windows mobile devices.
The cloud PaaS product from where the SaaS
is generated, uses a “code once – deploy multiple devices”, based on selection of media
Business Perspectives
◦ Product Add – EI – Windows – desk ◦ Product Add – EI – Windows – mobile ◦ Product Add – EI – Blackberry – mobile ◦ Product Add – EI – iOS – mobile
Technical Perspective
Function Design Code Deploy Test Product
Add -Windows
common common common s/b unique Product
Add – Mobile Windows
common common common s/b unique Product
Add
-Blackberry
common common common s/b
unique Product
How much unique functionality needs to be
coded?
How much functionality needs to be tested?
Can FPA be used to answer these questions
and provide valuable insights/perspectives?
Is it better to not use functional size
Business requires that the “product add”
function is available from an end user desktop windows device, plus from iOS (Apple), Blackberry and Windows mobile devices.
The cloud PaaS product from where the SaaS
is generated has the flexibility to design and utilize mobile device features to optimize
user experience. “Code multiple - deploy multiple”.
Business Perspectives
◦ Product Add – EI – Windows – desk ◦ Product Add – EI – Windows – mobile ◦ Product Add – EI – Blackberry – mobile ◦ Product Add – EI – iOS – mobile
Technical Perspective
◦ Product Add – EI – Windows – desk ◦ Product Add – EI – Windows – mobile ◦ Product Add – EI – Blackberry – mobile ◦ Product Add – EI – iOS – mobile
Function Design Code Deploy Test Product Add
-Windows unique unique unique unique
Product Add – Mobile
Windows unique unique unique unique
Product Add
-Blackberry unique unique unique unique
How much unique functionality needs to be
coded?
How much functionality needs to be tested?
Can FPA be used to answer these questions
and provide valuable insights/perspectives?
Is it better to not use functional size
Business Perspectives
◦ Product Add
Technical Perspective
◦ Product Add
Could be valid too! Examples?
Early Requirements
No concerns regarding mobile devices, no testing planned Benchmarks – local interpretation guidelines
Consistency is required
Comparative and “trend” analysis
Potentially may need to “reset” or identify
Services Layer
SaaS
PaaS
Customer Makes a Purchase EI
API Validate
Credit Card API Map Location Carrier Network
Carrier Network Carrier Network Consumer Facing – SaaS - EI
Services Layer SaaS PaaS Middleware PaaS API’s API Validate
Credit Card API Map Location Carrier Network
Carrier Network Carrier Network
Services Layer
Resources Layer
Resource Orchestration Pooling and Virtualization
Service Orchestration SaaS PaaS IaaS NaaS
End Consumer Makes a Purchase (EI) Based on a trigger, automatically requests
additional storage to be provisioned using an IaaS service if needed
API – IaaS – EI “Middleware”
Services Layer
Resources Layer
Resource Orchestration Pooling and Virtualization
Physical Resources Service Orchestration SaaS PaaS IaaS NaaS
Customer Requests More Storage (EI)
Based on a customer request, additional storage is provisioned using an IaaS service
Consumer Facing – IaaS - EI
Although the data (ILFs & EIFs) are physically
stored within “physical resources”, they can be logically categorized within the Service Models (IaaS, PaaS, SaaS)
SaaS PaaS IaaS Customer Product Purchases HTML “Button Code” ?
or-optional RET of Product?
Use industry frameworks to gain perspectives Need context “of what” – “why” and “decisions” Boundaries and accountability are key
Count using the IFPUG rules and “whitepapers”
such as middleware
Categorizations of functionality help provide
context (customized, configured, Service Models, etc)
Use IFPUG method as a framework
Categorized productivity and performance
baselines for pricing
Use measurement well, not rigidly – local
guidelines & extensions
Cloud impacts pricing and costing
Still learning, it’s new! (no golden answer) Preparation and planning enables the most
appropriate categorizations such that benefits are realized vs causing even more harm
Basic framework remains valid and is actually
part of most Enterprise Architecture models
Boundaries Data
Functions
Based upon user recognizable functionality
using IFPUG!
Goal - Reduce Costs of ICT Development,
Maintenance and Time-to-Value
◦ 16 Month traditional development (time to value) schedule reduced to 60 days
◦ Total Cost of Ownership (development,
enhancements & maintenance) for 10 year period reduced from $4 million to just over $1million