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)