aboutsummaryrefslogtreecommitdiff
path: root/Map/Stage.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Map/Stage.swift')
-rw-r--r--Map/Stage.swift108
1 files changed, 108 insertions, 0 deletions
diff --git a/Map/Stage.swift b/Map/Stage.swift
new file mode 100644
index 0000000..4a53ada
--- /dev/null
+++ b/Map/Stage.swift
@@ -0,0 +1,108 @@
+struct Stage {
+ let I: String
+ let II: String
+ let III: String
+ let IV: String
+
+ static func stages(_ type: StageType) -> Stage {
+ switch(type) {
+ case .General:
+ return Stage(I: "Genesis", II: "Custom Built", III: "Product (+rental)", IV: "Commodity (+utility)")
+ case .Ubiquity:
+ return Stage(I: "Rare", II: "Slowly Increasing Consumption", III: "Rapidly Increasing Consumption", IV: "Widespread and stabilising")
+ case .Certainty:
+ return Stage(I: "Poorly Understood", II: "Rapid Increase In Learning", III: "Rapid Increase in Use / fit for purpose", IV: "Commonly understood (in terms of use)")
+ case .PublicationTypes:
+ return Stage(I: "Normally describing the wonder of the thing", II: "Build / construct / awareness and learning", III: "Maintenance / operations / installation / feature", IV: "Focused on use")
+ case .Market:
+ return Stage(I: "Undefined Market", II: "Forming Market", III: "Growing Market", IV: "Mature Market")
+ case .KnowledgeManagement:
+ return Stage(I: "Uncertain", II: "Learning on use", III: "Learning on operation", IV: "Known / accepted")
+ case .MarketPerception:
+ return Stage(I: "Chaotic (non-linear)", II: "Domain of experts", III: "Increasing expectation of use", IV: "Ordered (appearance of being trivial) / trivial")
+ case .UserPerception:
+ return Stage(I: "Different / confusing / exciting / surprising", II: "Leading edge / emerging", III: "Increasingly common / disappointed if not used", IV: "Standard / expected")
+ case .PerceptionInIndustry:
+ return Stage(I: "Competitive advantage / unpredictable / unknown", II: "Competitive advantage / ROI / case examples", III: "Advantage through implementation / features", IV: "Cost of doing business")
+ case .FocusOfValue:
+ return Stage(I: "High future worth", II: "Seeking profit / ROI", III: "High profitability", IV: "High volume / reducing margin")
+ case .Understanding:
+ return Stage(I: "Poorly Understood / unpredictable", II: "Increasing understanding / development of measures", III: "Increasing education / constant refinement of needs / measures", IV: "Believed to be well defined / stable / measurable")
+ case .Comparison:
+ return Stage(I: "Constantly changing / a differential / unstable", II: "Learning from others / testing the water / some evidential support", III: "Feature difference", IV: "Essential / operational advantage")
+ case .Failure:
+ return Stage(I: "High / tolerated / assumed", II: "Moderate / unsurprising but disappointed", III: "Not tolerated, focus on constant improvement", IV: "Operational efficiency and surprised by failure")
+ case .MarketAction:
+ return Stage(I: "Gambling / driven by gut", II: "Exploring a \"found\" value", III: "Market analysis / listening to customers", IV: "Metric driven / build what is needed")
+ case .Efficiency:
+ return Stage(I: "Reducing the cost of change (experimentation)", II: "Reducing cost of waste (Learning)", III: "Reducing cost of waste (Learning)", IV: "Reducing cost of deviation (Volume)")
+ case .DecisionDrivers:
+ return Stage(I: "Heritage / culture", II: "Analyses & synthesis", III: "Analyses & synthesis", IV: "Previous Experience")
+ case .Behavior:
+ return Stage(I: "Needs to be pushed", II: "Shown in simple situations", III: "Shown in moderately complex situations ", IV: "Always shown")
+ }
+ }
+
+ static func title(_ type: StageType) -> String {
+ switch(type) {
+ case .General:
+ return "General"
+ case .Ubiquity:
+ return "Ubiquity"
+ case .Certainty:
+ return "Certainty"
+ case .PublicationTypes:
+ return "Publication Types"
+ case .Market:
+ return "Market"
+ case .KnowledgeManagement:
+ return "Knowledge Management"
+ case .MarketPerception:
+ return "Market Perception"
+ case .UserPerception:
+ return "User Perception"
+ case .PerceptionInIndustry:
+ return "Perception In Industry"
+ case .FocusOfValue:
+ return "Focus Of Value"
+ case .Understanding:
+ return "Understanding"
+ case .Comparison:
+ return "Comparison"
+ case .Failure:
+ return "Failure"
+ case .MarketAction:
+ return "Market Action"
+ case .Efficiency:
+ return "Efficiency"
+ case .DecisionDrivers:
+ return "Decision Drivers"
+ case .Behavior:
+ return "Behavior"
+ }
+ }
+}
+
+enum StageType: String, CaseIterable, Identifiable {
+ case General
+ case Ubiquity
+ case Certainty
+ case PublicationTypes
+ case Market
+ case KnowledgeManagement
+ case MarketPerception
+ case UserPerception
+ case PerceptionInIndustry
+ case FocusOfValue
+ case Understanding
+ case Comparison
+ case Failure
+ case MarketAction
+ case Efficiency
+ case DecisionDrivers
+ case Behavior
+
+ var id: String { self.rawValue }
+}
+
+