在软件工程的语境里,“敏捷流程”是一系列价值观和方法论的集合,敏捷开发的原则是:
1.今早并持续地交付有价值的软件以满足顾客需求
2.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势
3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短
4.业务人员和开发人员在项目开发过程中应该每天共同工作
5.以有进取心的人为项目核心,充分支持信任他们
6.无论团队内外,面对面的交流始终是最有效的沟通方式
7.可用的软件是衡量项目进展的主要指标
8.敏捷流程应该保持可持续发展。领导,团队和用户应该能按照目前的步调持续合作下去
9.只有不断关注技术和设计,才能越来越敏捷
10.保持简明——尽可能的简化工作量的技艺极为重要
11.只有能自我管理的团队才能创造优秀的架构,需求和设计
12.时时总结如何提高团队效率,并付诸行动
敏捷的步骤:
第一步:找出完成产品需要做的事情。产品负责人领导大家对这个Backlog中的条目进行分析,细化,理清相互关系,估计工作量等工作。
第二步:决定当前的冲刺需要解决的事情。团队成员能主导任务的估计和分配,他们的能动性得到较大的发挥。
第三步:冲刺。
个人理解,敏捷流程就是在软件团队小组技术开发和任务分配后,提高软件开发效率的过程,重点是加强成员沟通和管理效能,结合目前我小组的软件实践小项目的进度,我们目前正在努力解决代码实现的环节,各部分功能的设想已经基本完毕,下一步,我们会集合编程能力强的组员极力沟通,初步制定代码的结构。首先我们会设计一下我们的软件的交互界面,此界面我们可能会尽量做到简单明了,方便用户。
《构建之法》第八章学习需求分析,需求分析阶段,做好竞争性需求分析的框架十分重要,NABCD模型是一个很有效的方法。N(Need,需求)你的创意解决了用户的什么需求?A(Approach,做法)你有什么独特的招数解决用户的需求?B(Benifit,好处)你的产品给用户带来什么好处?C(Compititors,竞争)目前市场的情况你了解么?D(Delivery,推广)怎样把你的产品 交到用户手中?然后是软件功能的定位和优先级资源有限,我们对不同功能应采取以下做法
维持——以最低成本维持次功能
抵消——快速的达到“足够好”,“和竞争对手差不多”
优化——花大力气做到并保持行业最好
差异化——产生同类产品比不了的功能或优势
不做——砍掉一个功能也是一个办法,我们并不一定要做所有的功能