在我们的开发团队中,我们将开发人员分为后端和前端团队。为了开发一个网站的功能,这两个团队必须并行工作。我们首先分析需求,讨论应该处理的所有可能的业务案例,并就API接口规范达成一致,该规范考虑所有情况下的解决方案。后端团队然后根据规范构建API的模拟版本(使用Spring )。前端使用模拟API来开发UI (使用VueJs)。
在开发过程中,当开发人员深入到真正的代码中时,他们总是会发现更多团队从未谈论过的业务案例。会议的安排是为了讨论这个问题,而API接口规范通常需要修改。开发人员总是不得不返工,而且项目被推迟了。
这个问题在我们的开发周期中每次都会出现。管理层要求我们找到一个解决方案,以便在规范设计过程中考虑到所有业务案例,并且在实现过程中不应出现影响规范的任何情况。
作为一名开发人员,我在设计阶段尽可能多地列出这些案例,但它们从未完全涵盖所有的案例。唯一能发现缺失案例的方法就是编写代码。
如果是这样的话,您如何处理更改以尽量减少导致项目延迟的影响?
如果没有,请您建议开发过程的一般错误是什么,这会妨碍开发团队在实现之前拥有明确和完整的规范。
发布于 2019-03-22 15:21:50
您需要重新设计如何处理您的开发。您有一个应用程序团队,而不是前后团队。这些人需要一直一起工作和合作。为了更好的协作,它们应该位于同一地点,或者拥有适当的远程通信工具。当您开发时,应该期望更改,大多数软件项目都有大量未知信息,您可以通过采用尽可能容易更改的过程来适应这种变化。
如果您有一个故事可以在sprint中添加一个新的Foo细节屏幕,那么将前端Jack和后端Jill分配到这个故事中,让他们在大约15分钟内创建一个API的粗略草稿,然后让他们在那里开发。然后,如果Jack发现foo细节有时具有特殊属性X,而不是在最初的规范中,或者Jill发现他们需要一些Bar细节,那么他们彼此交谈,并根据需要重新定义API规范。然后,当他们都自信地完成开发时,如果您真的需要该文档,就编写API的最终版本。另一件重要的事情是尽可能早和频繁地集成更改,因为您也将更快地开始发现问题。
只有当设计成完美的规范时,所有设计成规范的单独的团队才能工作。我敢打赌,在你目前设定的时间,从第一个人发现问题的规格到所有团队就解决方案达成一致的时间是以天为单位的,这很快就会使你落后。然后,您有一个团队花时间针对已知的坏规范进行开发,这会在他们认为自己正在进步的同时,把事情拖得更远。团队的集成程度越高,您就可以从发现问题到解决问题之间的时间缩短到几个小时或几分钟。
https://softwareengineering.stackexchange.com/questions/388696
复制相似问题