]> git.r.bdr.sh - rbdr/map/blame - Map/Stage.swift
Initial commit
[rbdr/map] / Map / Stage.swift
CommitLineData
1b85f723
RBR
1struct Stage {
2 let I: String
3 let II: String
4 let III: String
5 let IV: String
6
7 static func stages(_ type: StageType) -> Stage {
8 switch(type) {
9 case .General:
10 return Stage(I: "Genesis", II: "Custom Built", III: "Product (+rental)", IV: "Commodity (+utility)")
11 case .Ubiquity:
12 return Stage(I: "Rare", II: "Slowly Increasing Consumption", III: "Rapidly Increasing Consumption", IV: "Widespread and stabilising")
13 case .Certainty:
14 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)")
15 case .PublicationTypes:
16 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")
17 case .Market:
18 return Stage(I: "Undefined Market", II: "Forming Market", III: "Growing Market", IV: "Mature Market")
19 case .KnowledgeManagement:
20 return Stage(I: "Uncertain", II: "Learning on use", III: "Learning on operation", IV: "Known / accepted")
21 case .MarketPerception:
22 return Stage(I: "Chaotic (non-linear)", II: "Domain of experts", III: "Increasing expectation of use", IV: "Ordered (appearance of being trivial) / trivial")
23 case .UserPerception:
24 return Stage(I: "Different / confusing / exciting / surprising", II: "Leading edge / emerging", III: "Increasingly common / disappointed if not used", IV: "Standard / expected")
25 case .PerceptionInIndustry:
26 return Stage(I: "Competitive advantage / unpredictable / unknown", II: "Competitive advantage / ROI / case examples", III: "Advantage through implementation / features", IV: "Cost of doing business")
27 case .FocusOfValue:
28 return Stage(I: "High future worth", II: "Seeking profit / ROI", III: "High profitability", IV: "High volume / reducing margin")
29 case .Understanding:
30 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")
31 case .Comparison:
32 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")
33 case .Failure:
34 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")
35 case .MarketAction:
36 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")
37 case .Efficiency:
38 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)")
39 case .DecisionDrivers:
40 return Stage(I: "Heritage / culture", II: "Analyses & synthesis", III: "Analyses & synthesis", IV: "Previous Experience")
41 case .Behavior:
42 return Stage(I: "Needs to be pushed", II: "Shown in simple situations", III: "Shown in moderately complex situations ", IV: "Always shown")
43 }
44 }
45
46 static func title(_ type: StageType) -> String {
47 switch(type) {
48 case .General:
49 return "General"
50 case .Ubiquity:
51 return "Ubiquity"
52 case .Certainty:
53 return "Certainty"
54 case .PublicationTypes:
55 return "Publication Types"
56 case .Market:
57 return "Market"
58 case .KnowledgeManagement:
59 return "Knowledge Management"
60 case .MarketPerception:
61 return "Market Perception"
62 case .UserPerception:
63 return "User Perception"
64 case .PerceptionInIndustry:
65 return "Perception In Industry"
66 case .FocusOfValue:
67 return "Focus Of Value"
68 case .Understanding:
69 return "Understanding"
70 case .Comparison:
71 return "Comparison"
72 case .Failure:
73 return "Failure"
74 case .MarketAction:
75 return "Market Action"
76 case .Efficiency:
77 return "Efficiency"
78 case .DecisionDrivers:
79 return "Decision Drivers"
80 case .Behavior:
81 return "Behavior"
82 }
83 }
84}
85
86enum StageType: String, CaseIterable, Identifiable {
87 case General
88 case Ubiquity
89 case Certainty
90 case PublicationTypes
91 case Market
92 case KnowledgeManagement
93 case MarketPerception
94 case UserPerception
95 case PerceptionInIndustry
96 case FocusOfValue
97 case Understanding
98 case Comparison
99 case Failure
100 case MarketAction
101 case Efficiency
102 case DecisionDrivers
103 case Behavior
104
105 var id: String { self.rawValue }
106}
107
108