diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-02-03 23:53:12 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-02-03 23:53:12 +0100 |
| commit | 5e8ff4850c4827125fe12788dd5b153c4f636f48 (patch) | |
| tree | f37c90338f33e7ddc84cc855a20dca1ca503476e /Map/Views/Stage.swift | |
| parent | 1b85f723b48d38cf345bb9a4f3fd01aa6039b50b (diff) | |
Add code for first release
Diffstat (limited to 'Map/Views/Stage.swift')
| -rw-r--r-- | Map/Views/Stage.swift | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/Map/Views/Stage.swift b/Map/Views/Stage.swift new file mode 100644 index 0000000..23432ad --- /dev/null +++ b/Map/Views/Stage.swift @@ -0,0 +1,161 @@ +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 .practice: + return Stage( + i: "Novel", ii: "Emerging", iii: "Good", iv: "Best") + case .data: + return Stage( + i: "Unmodelled", ii: "Divergent", iii: "Convergent", iv: "Modelled") + case .knowledge: + return Stage( + i: "Concept", ii: "Hypothesis", iii: "Theory", iv: "Accepted") + 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: "Uncertain when to use", ii: "Learning when to use", iii: "Learning through use", + iv: "Known / common usage") + } + } + + static func title(_ type: StageType) -> String { + switch type { + case .general: + return "Activities" + case .practice: + return "Practice" + case .data: + return "Data" + case .knowledge: + return "Knowledge" + 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 practice + case data + case knowledge + 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 } +} |