我是一名软件工程师,他生活和呼吸敏捷和极限编程。 我也是作家,将在今年11月而不是第一次参加NaNoWriMo或“国家小说写作月”。 基本上,这是一种写作方法,参与者仅在11月份就尝试完全撰写50,000字的小说。
我已经做了NaNo多年了。 但是现在我在Pivotal Labs工作,帮助企业朝着更精益,敏捷的软件构建方法发展,NaNo对我的感觉略有不同。
坦率地说:NaNoWriMo是超级瀑布。
为了支持我的观点,我提出了“瀑布模型”维基百科文章。 只要看看它提供的这张图!

从字面上看,这就是写书的过程! 首先,您要计划(设计一些角色,设计一些情节),然后坐下来写东西,然后将其发布给全世界,并确保人们真正喜欢它。
与敏捷(我们强调增量工作软件并响应不断的用户反馈)不同,NaNoWriMo实际上是固定时间/固定范围难题的定义。 你有30天。 现在写50,000字。 不妥协。
因此,NaNo还可以举例说明瀑布编程中一些有据可查的问题。 例如,任何人都会告诉您,如果您的时间表如此紧迫,几乎不可能做好所有的计划,就无法倒出文本来增加字数。 我与谁进行过交谈的每个人,NaNo通常都是在他们的裤子旁边做的-大约一周后,地块规划的页面就会翻阅,而在其余时间中,您实际上是在随手整理。 您花了整个十月写的详细的情节摘要,只是为了让您的角色突然决定向西而不是向东走去而浪费工作。
任何人,无论他们是做过NaNo还是只是写书,而这都不涉及一个月的大量咖啡消费,都会告诉您书的初稿总是很烂。 编写初稿只是拥有一本书的十分之一,其余的都是不断地编辑,修改,更改……。我敢称它为重构吗?
这一切让我思考-用敏捷方法写书会是什么样?
持续交付有价值的产品: George RR Martin和他在发布产品之间的10年差距已经消失。 安迪·威尔(Andy Weir)及其定期在线发布《火星》(Martian)章的方法,可以随时获取用户反馈。
提供最简单的产品来逐步增加价值:这种新颖的写作理念使我着迷并感到震惊。 如果我们写这样的书,我将从一句话小说开始。 就像一个显示单个屏幕上显示我的银行余额的应用程序一样,这提供了一个起点。 但是用户想要更多功能。 他们希望应用程序能够转账,支付账单并创建预算。 他们想要一部小说来发展角色,创造悬念并探索主题。
然后,我将选择一个故事点充实,并增加增量的价值; 突然我的小说长了一段。 添加单个有形角色开发; 现在这本小说才整整一页。 继续这样下去,小说就会从头开始成长,直到完全把故事传达给读者所需的长度为止。
注重质量 :XP卖点的很大一部分是,良好的编码做法(如TDD)很耗时,但可以通过确保质量和避免进行昂贵的修订来节省时间,精力和金钱。 我不太确定如何写一本书,有什么想法吗?
我要在十一月来写敏捷书吗?
好吧,不。 因为软件编写和新颖编写不是一回事,所以您不能仅指望在一个上下文中起作用的方法会在另一个上下文中起作用。
软件开发的目标是生产用户会喜欢并使用的有用产品,并提供价值。
新颖写作的目的可能是生产用户(读者)喜欢和阅读的,令人愉悦的产品,并(可能)提供价值。 但是,这也可能是作者探索主题的出路。 对于作者来说,这可能是创造新幻想世界的一种乐趣。 这可能是一个个人项目,恰好有一些读者也喜欢它。
对于我现在所处的位置,我将把编码类比放在一边,以通常的方式写书,每天1667个单词。 最后,情况可能会很糟糕,到处都是积图孔和分裂的不定式。 但是至少我会写点东西,无论您是写软件还是小说,我都会认为这总是一件好事。