本文共 1409 字,大约阅读时间需要 4 分钟。
本节书摘来自华章计算机《需求设计:构建用户想要和需要的产品》一书中的第3章,第3.9节,作者: [英] 克里斯·布里顿(Chris Britton) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
上面几节分别谈了迭代、品质以及测试和检验等,其实对于这些内容来说,有人比笔者谈得更为广博,也更为深入。我们可以用一句话来概括前几节的内容,那就是:“要采用最佳的做法。”
笔者首先拿实现阶段做例子,来讲述我们所应该采用的做法:上述做法与Scrum[13]及Kanban[21]等开发方法所提倡的最佳做法相当接近,其区别在于,我们的做法是先设计用户界面,然后再划分工作单元,这要比先划分工作单元然后再设计用户界面简单得多。
不过,上述做法只适用于实现阶段,而对于项目管理的早期阶段、情境设计阶段以及详细设计阶段来说,则需要用明显不同的办法加以应对。只有那种自我导向、自我激励式的团队,才能较为务实地完成情境设计。他们的工作量不太容易分割成明确的工作单元,而且其工作时长,也特别依赖于他们是否能及时联系到利益相关者,以及大家是否能够形成较为广泛的赞同或反对意见。对于集成设计、用户界面设计与数据库设计来说,也是如此。但是,这并不意味着设计项目不应该经常进行评审。实际上,设计团队应该欢迎有人来做评审,因为这比较容易确保设计方案能够满足利益相关者的要求。把需求设计与编程实现交织起来,会产生一些问题,其中的一个问题是:它迫使我们必须按照相同的办法来管理整个项目,于是,我们就无法在不影响产品交付的前提下,灵活地针对设计方案之中的某一个方面进行争辩。技术设计比前面几种设计更难办。如果项目比较急,那么技术设计的探索部分,完全可以放在情境设计还没完工的时候就开始做,因为我们只是想对应用程序的规模与性质有一个了解。虽说细节问题要等到集成设计完工之后才能敲定,不过情境设计很有可能会给集成设计提供大量信息,因而能够较早地知道其内容。技术设计与系统软件的设计较为接近,但是它与典型商用软件的编程工作之间,毕竟还是有一些区别的:即便对于采用敏捷式开发方法的小型团队来说,笔者也依然建议定期地举行协调会议,就算要做的项目非常大,我们也还是应该如此。团队中的每一位成员,都应该拿出一定的时间,来检查其他团队成员所写的代码。
转载地址:http://tfrsx.baihongyu.com/