一幅图对比软件开发框架

来源:互联网 发布:自定义 仅安装windows 编辑:程序博客网 时间:2024/05/18 13:24
一幅图对比软件开发框架


最近看到很有意思的一幅图:





简单说一下我的理解。


1. 瀑布
特点:
开发周期确定
客户(团队)与开发团队隔离


缺点:
客户的软件期望成本与实际成本不对称
软件交付日期容易失控(人员变动,需求变动)


适用:
开发与客户固定(需求,预算,开发周期,开发流程)
双方签署协议来保证


2. 
敏捷


特点:
开发过程透明
迭代增量开发


缺点:
在预算固定的情况下(需要一个严格的分阶段付款的协议)
客户组织结构过多问题呈指数增长(需求膨胀)


适用于:
需求十分不确定
客户接受分阶段支付(比按sprint结算)
客户对接人不超过3人




3. 看板
特点:
在swimline划分成todo,doing,testing...,管理开发的日常任务。
需求可以随时插入,任务优先级也可以随时调整。


缺点:
容易产生混乱。
对产品经理与开发的要求都很高。




scrum 特点:
在2-4周内专注于一些用户故事,在此期间拒绝一切需求。其中包含:standard up,planning meeting,groom meeting,retrospective meeting等活动。


缺点:
与敏捷相同。


4. Lean
特点:
最小化浪费(build了错误的功能,rework,方案中不必要的复杂度,多任务与等待,低效的沟通,知识丢失等)
移除与项目无关的人员
尽快交付
最迟做决定


不能算是软件开发方法,更像是敏捷宣言(http://agilemanifesto.org/iso/zhchs/manifesto.html)的一个扩展。


结论:
软件开发过程没有“万金油”方案。因为要考虑的因素太多:客户的沟通方式,客户的组织结构,交付过程,收款过程等等。并且大部分客户都是一开始声明“需求确定,预算确定”,可交付过程中还是出现了频繁改动的现象。瀑布的特点是“流程化”,比较适用于交付中的财务问题,严格的协议签署来保证阶段性收款(可以分阶段交付,每阶段内实施scrum等敏捷框架);而敏捷的特点是拥抱变化,比较符合软件的本质与构建软件的过程。当然,团队建设也不容忽视,需要每人目标(周期目标,质量目标,性能目标)一致,持续交付有质量的软件才是关键。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 不够奶给宝宝吃怎么办 叶插发芽发根后怎么办 多肉植物摊大饼怎么办 英短蓝猫掉毛怎么办 英短蓝猫很凶怎么办 面部打伤怎么办了肿了 朋友欠钱一直拖怎么办 旧车三年不年检怎么办 遇到领导整你该怎么办 皮肤热了就瘙痒怎么办 猫爪子肉垫脏了怎么办 嘴周围干燥起皮怎么办 下嘴唇总是起皮怎么办 上嘴唇老是起皮怎么办 涂口红嘴唇起皮怎么办 上嘴唇干裂起皮怎么办 9岁儿童嘴唇干裂怎么办 上嘴唇干裂烂了怎么办 孕妇脚干的裂开怎么办 小腿皮肤干燥起皮怎么办 秋天脸干燥起皮怎么办 脚上干燥起皮怎么办 脚皮肤干燥起皮怎么办 脚有脚气脱皮又痒怎么办 脚特别干还脱皮怎么办 皮肤干燥起皮怎么办痒 脚一直脱皮怎么办不痒 我的脚老是起皮怎么办? 脚裂了怎么办 小妙招 牛不吃草不倒嚼怎么办 婴儿吸奶乳头痛怎么办 公犬的生殖肿了怎么办 大阴唇一边肿了怎么办 小阴唇比大阴唇大怎么办 儿童9岁外阴白斑怎么办 总想睡觉没精神怎么办 6岁宝宝睡觉打鼾怎么办 4岁儿童睡觉打呼怎么办 打呼噜怎么办最简单的方法 我的世界玩不了怎么办 微信登录不了了怎么办