d8d24937f472dc7dbebc3e403839950f7d1dcac0
WalkingSkeleton.md
| ... | ... | @@ -114,43 +114,29 @@ smaller. It is not meant to be a viable product. For a simple database-backed |
| 114 | 114 | web application, a Walking Skeleton needs to demonstrate that it can get a value |
| 115 | 115 | from an HTML form to the database, and render it again as HTML. |
| 116 | 116 | |
| 117 | +## Relationshift to "Shift Left" |
|
| 117 | 118 | |
| 118 | -## Tensions |
|
| 119 | +In DevOps circles the term "Shift Left" has gained popularity. The idea is that |
|
| 120 | +if you represent a software delivery process as a a diagram, with process steps |
|
| 121 | +flowing from left to right, that things like testing, deployment, validation and |
|
| 122 | +security assessment are pictured on the right hand side towards the end of the |
|
| 123 | +process. |
|
| 119 | 124 | |
| 120 | -## Pattern Description |
|
| 125 | +Shift Left advocates moving those steps "left", so earlier in the process. |
|
| 126 | +Delivering a walking skeleton first is a good way to achieve such a shift left. |
|
| 121 | 127 | |
| 122 | -## Examples |
|
| 128 | +To really lean into it the walking skeleton should be used as a way to involve |
|
| 129 | +end users and other stakeholders early and continuously, so that product and |
|
| 130 | +design choices are continuously validated. |
|
| 123 | 131 | |
| 124 | 132 | ## Further Reading |
| 125 | 133 | |
| 134 | +- [Walking Skeleton by Alistair Cockburn](https://www.linkedin.com/pulse/walking-skeleton-adam-hall/) |
|
| 135 | +- [Walking Skeleton on wiki.c2.com](https://wiki.c2.com/?WalkingSkeleton) |
|
| 136 | +- [Integration, integration, integration. An introduction to walking skeletons in the enterprise (blog post, 2019)](https://www.defmyfunc.com/2019_10_18_walking_skeleton/) |
|
| 137 | + |
|
| 126 | 138 | ## History |
| 127 | 139 | |
| 128 | -- end to end |
|
| 129 | -- all connections in place with the world outside of the application code itself |
|
| 130 | -- deployment, networking, storage, third party APIs, etc |
|
| 131 | -- discover the boundaries, surface area |
|
| 132 | -- boundaries define the negative space the app exists in |
|
| 133 | -- boundaries exert forces, opposing forces cause tensions |
|
| 134 | -- includes process, secret management, payment accounts, access keys |
|
| 135 | -- includes getting the right people the right credentials |
|
| 136 | -- may include observability (since that is a connection ie a boundary) |
|
| 137 | -- does not need to implement features or functionality beyond an artificial demonstration that the connections are working |
|
| 138 | -- focus is not on function but on non functioning requirements |
|
| 139 | -- goal is to establish a baseline for iterating |
|
| 140 | -- figure out not just the form itself (app), but the ensemble of form+context |
|
| 141 | -- find out the parts that aren't under your control, or which may take time because they need to be done through third parties |
|
| 142 | - |
|
| 143 | -As opposed to a spike |
|
| 144 | -- all about functionality/features |
|
| 145 | -- Discovery of internal rather than external forces |
|
| 146 | -- ignore "non functional" requirements |
|
| 147 | - |
|
| 148 | - |
|
| 149 | - |
|
| 150 | -https://www.defmyfunc.com/2019_10_18_walking_skeleton/ |
|
| 151 | - |
|
| 152 | -- I also refer to a walking skeleton as v0, with v1 (PoC) adding first functionality but not polished, suitable for internal testing or beta users, and v2 being first "user grade" version |
|
| 153 | - - v0 -> it doesn't do anything, but we're ready to add functionality, without having to go back and figure out unrelated things like deployment, storage, etc. |
|
| 154 | - - v1 -> PoC, it ticks all the boxes in terms of functionality, but it may not be pretty |
|
| 155 | - - v2 -> production ready |
|
| 156 | -- walking skeleton is related to "shift left", get more of what is typically late stage practices (deployment, QA, etc) earlier in the process |
|
| 140 | +### 2024-07-20 |
|
| 141 | + |
|
| 142 | +- First public version (Arne Brasseur) |