敏捷软件开发
-
个体和互动高于流程和工具
-
工作的软件高于详尽的文档
-
客户合作高于合同谈判
-
响应变化高于遵循计划
虽然有价值的条目在右边,但我们更重视条目的左边。
Agile Principles
1.我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
2.欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
3.频繁交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
4.业务人员和开发人员必须相互合作,项目中的每一天都不例外。
5.激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
6.不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
7.可工作的软件是进度的首要度量标准。
8.敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
9.坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
10.以简洁为本,它是极力减少不必要工作量的艺术。
11.最好的架构、需求和设计出自自组织团队。
12.团队定期地反思如何能提高成效,并依此调整自身的举止表现。
软件能力成熟度模型CMMI
-
初始级:这个阶段几乎没有或完全没有定义软件开发过程。
-
可重复级:开始有组织地重用代码,而且类似的项目期望具有可重复的结果。定义级:软件开发人员依照一系列正式的、文档化的软件开发过程进行操作。所有开发项目都在新的标准化管理模型的制约下进行。
-
管理级:定量衡量被用来获得对开发过程的详细了解
-
优化级:可以确保为了改善未来的结果将一个阶段的反馈返回给前一个阶段
IDEAL 模型
-
启动Initiating:概述更改的业务原因,为举措提供支持,以及准备好恰当的基础设施。
-
诊断Diagnosing:工程师分析组织的当前状态,并且为更改给出一般性建议。
-
建立Establishing:组织采用诊断阶段的一般建议,并且开发帮助实现这些更改的具体动作计划。
-
行动Acting:停止“讨论”开始“执行”。组织开发解决方案,随后测试、改进和实现解决方案。
-
学习Leaming:与任何质量改进过程一样,组织必须不断分析其努力的结果,从而确定是否已实现期望的目标,必要时建议采取新的行动,使组织重返正轨。
本文始发于微信公众号(网络安全等保测评):软件开发安全2
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论