软件开发与DevOps实践的关键要点
1. 最小可行产品(MVP)的重要性
在软件开发中,我们常收到这样的反馈:“不错,但你只交付了我真正想要的5%,等100%完成了再来。”产品表现不尽如人意,原因往往是我们没有遵循最小可行产品(MVP)的真正定义。有人说:“如果一个MVP不让你感到羞愧,那它就不是一个MVP!”像谷歌和亚马逊这样的公司深谙此道,它们先推出一个粗糙的版本,看看市场反应。
一些客户在软件开发中陷入困境,浪费大量资金。例如,有客户花费近25万美元和一年时间不断打磨和重构一个移动应用,而实际上我们本可以提前一年,仅花费约8万美元就交付一个可用版本。敏捷开发强调小而迭代的改变,但许多公司在这方面做得并不好,他们做了小改动后,却将其搁置数月。
2. 不牺牲质量
在软件开发中,以日期为驱动的讨论往往是一个常见的失败点。有人认为,在规划会议中首先提及日期是一个巨大的错误。当以日期为导向询问能否按时完成时,开发人员会在脑海中倒推时间,从而做出妥协,首先就是削减测试环节,这会导致客户满意度问题和技术债务。技术债务就像信用卡债务一样,会产生利息,最终还是要偿还,而且对客户声誉的损害更难以修复。
每个组织对项目管理的“铁三角”(日期、资源/成本、功能)的侧重点不同。有些企业要求完整的功能集,愿意增加资源并调整日期;有些公司则要求在特定日期前全面发布产品,但可以协商推出哪些功能。然而,质量应该是一个固定且不可协商的点。日期可以调整,功能集也可以缩减,但工作交付的质量不能改变。
3. 好文档与坏文档
在假设驱动开发(HDD)中,我们要求人们更多地记录信息,这看似与敏捷开发理念相悖,因为敏捷宣言强调“可工
超级会员免费看
订阅专栏 解锁全文
774

被折叠的 条评论
为什么被折叠?



