立项:从一个真问题到需求单
项目不从技术开始,从一个真问题开始——把它写成一张能验收的需求单。
学习证据 学完后,怎么核对?
把学习结果留在一个可以回看、可以复做的动作里;这一区只写学生能自己检查的证据。
如何核对
- 需求单与版本记录
- 用户反馈和验收结果
适用边界
用于可控范围的学生项目;时间、受众、资源变化时需重新缩放范围与验收。
最后复核
这是内容复核日期,不是学习截止日期。
讲
例子三十天教程跟完了,空白编辑器前一个字打不出
阿凯暑假跟完了一整套「三十天学会网页」教程:每一课照着敲,每一课都能跑,成就感满满。开学他想给班里做个值日提醒页——打开编辑器,空白页面盯了他二十分钟,一行都写不出来。而同桌小北没跟完几课教程,却一直在折腾:把范例里的时钟改成倒计时、给别人的画布换公式、fork 一份加自己的按钮。要动手时,她随手就来。阿凯掉进的坑有个名字:教程地狱(tutorial hell)——跟着做什么都会,合上教程什么都不会。这节课先诊断这个坑,再教你从坑里通向自己项目的路。
名词立项=把「我想做个东西」变成两句能写下来的话:「我要用它回答什么问题」+「做到什么样算成」。需求单(spec)=项目版的任务单:2.1d 的任务单管一次委托,需求单管整个项目——一个项目往往拆成好几张任务单。
定义三级阶梯:跟做 → 改造 → 立项
教程地狱的病根不是教程,是只停在教程:示范是学任何手艺的第一步,但示范给的支持要一级级撤掉,你才站得住。从跟做到自己的项目,中间隔着多数人跳过的一级——改造:每看完一个范例,给自己留一个动手任务,三种留法——补全(把范例故意留空的一块填上)、埋错(改坏一处再把它修好)、fork(复制一份,长出自己的新枝)。
卡在第一级不动,就是教程地狱;直接从第一级跳到第三级,多半摔下来。
爬到第三级,立项要一次写齐三件套:真问题——项目回答问题,不为炫技,题干里必须有一件真实的麻烦事;验收清单——「做到什么样算成」写成能逐条打勾的句子;边界——「这一版不做什么」白纸黑字,挡住日后的贪心。三件套落在一张需求单上,然后再砍一刀:圈出最小可用版——去掉所有锦上添花之后,还能回答那个问题的最小形态,先让它跑起来。
| 题干 | 诊断 |
|---|---|
| 「我要用最新的 3D 库做个班级主页,越炫越好」 | 技术出发,没有问题——做完只能自己看 |
| 「班里总有人忘值日 → 做一个值日提醒页」 | 真问题——做完立刻有人用,好坏当场见分晓 |
| 「做一个学习网站,功能到时候再看」 | 没有验收没有边界——永远处于「快做完了」 |
泛化换个角度:所有手艺都是这三级爬上来的
这条阶梯不是编程专利:学书法,临帖(跟做)→ 集字(改造)→ 自运(立项);学做菜,跟菜谱 → 换一味调料 → 自创一道。判断自己在哪一级,只用一个测试:合上参考,还动得了手吗?动不了,就说明支持还没撤,该在第二级多留几个动手任务。而「真问题优先」也通用:练什么都要找一件真实的事来扛——扛真事的手艺,才长得快。
例
补充三例——两个常见用法,一个易错。
朵朵最初的立项写的是「我想练 CSS 相册特效」——典型的技术出发。她按「题干里要有一件真实的麻烦事」重写:「奶奶总看不到我拍的照片 → 做一个奶奶点得动的相册页」。验收清单三条:照片放得够大、一次只做一个动作、字号奶奶不戴眼镜能读。技术没有被扔掉,只是从目的降级成了手段——而验收清单立刻有了主人:过不过关,奶奶说了算。
小雨读完 2.3c 的李萨如画布,没有合页走人,而是给自己留了一个 fork 任务:复制一份,把频率比公式换成单摆周期公式,再改掉说明文字——一个物理演示页就长出来了。范例是别人的,那个「换公式」的决定是她的;三五个这样的改造攒下来,立项时她手里已经全是熟件。
大鹏立项「班级元宇宙」:要 3D 教室、要虚拟形象、要实时聊天。两周后烂尾,问他做到哪一步了,回答是「快了」。错在哪:题干里没有任何人的任何麻烦事,纯技术词堆叠;「做到什么样算成」从没写下来,所以永远「快了」;边界不设,想法越滚越大。修法:逼问一句「它替谁解决什么」——答不出就回去找真问题;答得出(比如「同学想看每周课表变化」),就砍到最小可用版:一个页面、本周课表、更新处高亮,验收三条写死,先跑起来再谈 3D。
做
三张需求单,哪张可以直接开工?
- 列三件最近身边真实的麻烦事(自己的、家人的、班里的),挑一件你最想解决的。
- 写需求单四栏:真问题(一句话)、验收清单(三条能打勾的句子)、边界(这版不做的两件事)、拆出的第一张任务单。
- 砍出最小可用版:把需求单里所有「锦上添花」划掉,剩下的还能回答那个问题,才算砍到位。
- 在 studio 建项目文件夹,需求单存成 spec.md,git 拍快照,说明写「立项」。
怎么算过关:题干里说得出「它替谁解决什么」;验收三条都能当场演示打勾或不打勾;能说出这版明确不做的两件事。
卡
从教程到自己的项目隔着哪一级?立项三件套是哪三样?
隔着「改造」:补全、埋错、fork——每看完一个范例,给自己留一个动手任务。三件套:真问题(替谁解决什么)、验收清单(能打勾)、边界(这版不做什么);再砍出最小可用版先跑起来。
- 项目回答问题,不为炫技——题干里没有真实的麻烦事,就还不到开工的时候。
- 教程的支持要自己撤:合上参考还动得了手,才算爬上了那一级。
- 需求单写死验收和边界;最小可用版先跑起来,锦上添花放后面。