diff options
Diffstat (limited to 'Map/Stage.swift')
| -rw-r--r-- | Map/Stage.swift | 108 |
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 } +} + + |