BDUF or BUDF
大型的软件前端设计,对于企事业厂家来说,存在一个问题;比如:有时候需要一百到一千页程序文件,这些软件项目开发已经通过了涉及项目不深的架构师和业务分析师需求,他们花了几个星期调查投入和对文档的要求业务进行聊天洽谈,但是仅仅得到一个结果,这些文件实际上一无所值。
解毒剂:技术领先和一些重要的架构师与分析师和顾客洽谈的项目开发人员,大家会话思考;
症状:瀑布开发方法和投资银行it文化要求方面;
解毒剂:未知,许多人企图把”agile“用一个大A和小A到企事业厂家多多少少取得了一些成功,但同样也面临着一些失败。
红皮书
介绍了极限编程这本书,它有着粉红色的封面,由Ron Hendries所写,由于这本书是2000年出版的,已经相当旧,除非仅作参考,并不推荐给初学者来阅读,还有其他近期的关于敏捷开发的书籍和课程帮助新的Java开发者。
YOLO
只加载一次(如果有的话) - 这与你要在一个应用系统中有一个单一正确的来源有关。这是MIS架构问题,如果某人通过enoughClass例并没有想到这样的功能需求:购物车服务EJB - 你只需要在应用程序中实现出一个支付点,即使你有很多支付点提供者(信用卡和借记卡,第三方和PayPal)。如果是这样最好把YOLO(You Only Load It Once)和 YAGNI(You ain't gonna need it)加在一起使用。你不确定系统其它的部分会不会加载数据,因此你要把数据在模块里(你可以通过YOLOIF(You Only Load It Once If Ever)的方式保存一个日志客户端,这样一个功能在12或18月没人再用过的时候,你就可以把它很容易的丢弃掉)。
题外话:如果你发现数据不断通过Web请求上传,这可能是真需要缓存而不是YOLO了。
Spike
使用敏捷开发,是一种快速的编写代码的方法。在开发的时候,你经常会去找新的API,像云服务,或者是像JavaFX那样的用户API接口,又或者去找一些新的API,以便可以比较好的实现代码的函数。简而言之,在完全投入之前,你要努力的建立一些信心并准备一些其他资源。Spikes 通常包含这样的问题,保持工作的流程的最短路径和受限于时间长度。这是很聪明的啦。
典型的例子:采用一种构建系统–从apache ant 到Maven;从Subversion到的Git;采用新的开放源代码库。