Start with a Walking Skeleton
2015-08-27 09:36
369 查看

onE vERy uSEFul STRATEgy FoR iMplEMEnTing, verifying, and evolving an application architecture is to start with what Alistair Cockburn calls a walk- ing skeleton. A walking skeleton is a minimal, end-to-end implementation of the system that links together all the main architectural components. Starting small, with a working system exercising all the communication paths, gives you confidence that you are heading in the right direction.
Once the skeleton is in place, it’s time to put it on a workout program. Bulk it up with full body workouts. This means implement incrementally, adding end-to-end functionality. The goal is to keep the system running, all the while growing the skeleton.
Making changes to an architecture is harder and more expensive the longer it has been around and the bigger it gets. We want to find mistakes early. This approach gives us a short feedback cycle from which we can more quickly adapt and work iteratively as necessary to meet the business’s prioritized list of runtime-discernable quality attributes. Assumptions about the architecture are validated earlier. The architecture is more easily evolved because problems are found at an earlier stage when less has been invested in its implementation.

The bigger the system, the more important it is to use this strategy. In a small application, one developer can implement a feature from top to bottom rela- tively quickly, but this becomes impractical with larger systems. It is quite com- mon to have multiple developers on a single team or even on multiple, possibly distributed, teams involved in implementing end-to-end. Consequently, more coordination is necessary. And naturally, developers implement at a different pace. Some developers can accomplish a lot and in little time while others can spend a lot of time implementing very little. More difficult and time consum- ing efforts should be done earlier in the project.
Start with a walking skeleton, keep it running, and grow it incrementally.
Clint Shank is a software developer, consultant, and mentor at Sphere of Influ- ence, Inc., a software design and engineering services company for commercial and federal clients.
Start with a Walking Skeleton
Clint ShankonE vERy uSEFul STRATEgy FoR iMplEMEnTing, verifying, and evolving an application architecture is to start with what Alistair Cockburn calls a walk- ing skeleton. A walking skeleton is a minimal, end-to-end implementation of the system that links together all the main architectural components. Starting small, with a working system exercising all the communication paths, gives you confidence that you are heading in the right direction.
Once the skeleton is in place, it’s time to put it on a workout program. Bulk it up with full body workouts. This means implement incrementally, adding end-to-end functionality. The goal is to keep the system running, all the while growing the skeleton.
Making changes to an architecture is harder and more expensive the longer it has been around and the bigger it gets. We want to find mistakes early. This approach gives us a short feedback cycle from which we can more quickly adapt and work iteratively as necessary to meet the business’s prioritized list of runtime-discernable quality attributes. Assumptions about the architecture are validated earlier. The architecture is more easily evolved because problems are found at an earlier stage when less has been invested in its implementation.

The bigger the system, the more important it is to use this strategy. In a small application, one developer can implement a feature from top to bottom rela- tively quickly, but this becomes impractical with larger systems. It is quite com- mon to have multiple developers on a single team or even on multiple, possibly distributed, teams involved in implementing end-to-end. Consequently, more coordination is necessary. And naturally, developers implement at a different pace. Some developers can accomplish a lot and in little time while others can spend a lot of time implementing very little. More difficult and time consum- ing efforts should be done earlier in the project.
Start with a walking skeleton, keep it running, and grow it incrementally.
Clint Shank is a software developer, consultant, and mentor at Sphere of Influ- ence, Inc., a software design and engineering services company for commercial and federal clients.
相关文章推荐
- Android 使用LeakCanary 检测内存泄露
- 使用JavaScript动态更改CSS样式
- AOP的Advice
- HDU 5144 NPY and shot(三分角度)
- POJ 2350 Above Average(水~)
- POJ 2328 Guessing Game(水~)
- The Euler function HDU杭电2824 【欧拉函数打表】
- Prefer Principles, Axioms, and Analogies to Opinion and Taste
- Annotation方式实现AOP
- 信息可视化中的时间线设计,不懂的过来
- 6个方法助你设计出优秀的APP
- phpcms如何使用推荐位调用自定义字段
- 黑马程序员——java基础——Java中创建线程的两种方式
- Android批量上传文件
- Eclipse Android SDK content Loader
- ODBC中没有数据源
- Unity5混音器DSP插件编写教程【一】
- [Bluetooth Core V4.2 ] VOL2, PartB, 2 PHYSICAL CHANNELS
- 原型模式
- Android 6.0 (marshmallow)中新的新技术