敏捷开发准则初解V1.10
首先,我听到“敏捷开发准则”这个东西,我感到很吃惊:软件开发是一个工程性的东西,每一个工程都有自己的特点,这种事情也能有一个通用的准则吗?存在这样神乎其神的准则能够普适的使各种软件开发都变得敏捷吗?就像盖房子,盖经济适用房需要朴实耐用注意成本,盖高档别墅需要设计华丽优雅奢侈一点也没关系,盖奥运管这种巨大的工程则需要满足各种承包商、管理者的经济利益同时要设计的别致新颖有噱头,注重的东西各不相同,怎么会存在普适的准则呢?但不管怎样,我还是抱着怀疑的态度读了一下这些准则及其参考资料,写一下我的体会。
准则一:Our highest priority is to satisfy the customerthrough early and continuous delivery of valuable software
翻译:我们最注重的事情是尽早并持续的发布有价值的软件以满足顾客需求。
个人看法:我觉得这个准则太理想主义了。为了吸引用户,把软件做的满足用户需求,当然是很有必要。但是更多的情况下,做软件不是公益事业,而是商业行为,不能一味为了做的用户满意而牺牲经济利益,否则开发者没有收入,团队岂不是几天就散伙了?比如腾讯QQ,各种弹窗各种广告,很大的影响了用户体验,但是没有办法,如果把最高的priority放在满足用户上,删除广告,取消弹窗,作为一款免费软件,腾讯QQ能坚持多久不倒闭呢?类似的情况很多,为了满足用户,断了自己后路,就是敏捷开发么?我觉得未必。
准则二:Welcome changing requirements, even late indevelopment. Agile processes harness change for the customer's competitiveadvantage
翻译:欢迎变更的需求,即使处在开发软件的后期阶段。灵活的开发过程利用这种变更来提高对用户的竞争优势。
个人看法:这一条很有道理,灵活真的很重要,要考虑全局,不能“明知山有虎,偏向虎山行”,那是会被吃掉滴。软件的开发要审时度势,开发最有价值、最有用的产品。比如手机软件开发,android系统刚出来时,手机操作系统是塞班的天下,那时苹果的iphone还没有太大的影响力,Windows mobile也还有比较高的市场占有率,如果开发手机软件,可能首选是塞班系统,毕竟用户群大。可是后来时过境迁,塞班系统和Windows mobile渐渐的不那么时髦,消费者更加倾向于选择iphone和android,而且iphone有一个完善的软件市场,开发者可以规范的在这里卖产品,就跟中关村E世界一样,有规范的管理,相比之下,其他系统在这方面相当薄弱,卖软件就像街上的小商贩,零零散散,还要担心被城管没收货物。所以,当软件开发到这个时候,就应该考虑放弃已经选择的操作系统,虽然它是曾经的主流,但现在不是,想赚钱还是转投iphone吧。现在Windows phone 7已经出来,可能几个月后最好的开发环境就是wp7,到时候那些还在做android、iphone软件的人,就该灵活的选择wp7 -, -
准则三:Deliver working software frequently, from a coupleof weeks to a couple of months, with a preference for the shorter timescale
翻译:持续的发布可行的有价值软件,发布间期可以从几周到几个月,间隔时间越短越好
个人意见:我觉得这个也不靠谱,经常做些无聊的升级真的很烦人,比如神马搜狗输入法,三天两头弹出个框框要升级要下载,所以我就很无奈的卸载之。类似的软件很多,比如金山的wps、手机上的ucweb、酷我音乐etc,我用的好好的,经常强制要我升级,这不是很dt吗?我觉得快速开发是很重要,但关键还是要抛出好的产品,像Windows、ms office、visual studio都是几年推一个新版本,也没什么问题啊,iphone也没有三天两头出新版本,照样广受欢迎。厚积薄发,还是软海战术,都得依情况而定,不能一成不变。
总之呢,我觉得这个敏捷开发准则不是什么金科玉律,不应该是框架、指南,而应该是一种警醒、备忘,开发软件的过程中,是不是的review一下这些“准则”,检查一下自己的团队有没有过失,开发策略有没有隐患,及时发现问题解决问题,这样,才是这些准则的价值所在!
MicroTeam Gaoyao
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架