]>
Commit | Line | Data |
---|---|---|
1 | struct 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 | ||
86 | enum 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 |