• 软件过程与项目管理(第六周作业)


    敏捷流程(第6章)

    敏捷开发:敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    现有的做法 敏捷的做法
    流程和工具 个人和交流
    完备的文档 可用的软件
    为合同谈判 与客户合作
    执行原定计划 响应变化

    敏捷的步骤:

    第一步:找出完成产品需要做的事情--Product Backlog

    产品负责人领导大家对于待解决问题中的条目进行分析、细化、理清相互关系估计工作量等工作;每一项工作的时间估计单位可为“天”。

    第二步:决定当前冲刺需要解决的事情--Sprint Backlog

    整个产品的实现被划分为几个互相联系的冲刺,产品订单上的任务进一步被细化,单位被分解为小时,并附上一个相对难度系数,订单上的任务团队成员可以根据自己的情况来认领。

    第三步:冲刺--Sprint

    在冲刺阶段,外部人士不能直接打扰团队成员。一切交流只能通过Scrum Master来完成,有任何需求的改变都留待冲刺结束后再讨论。

    冲刺期间,团队通过每日例会来进行面对面的交流,大家依次报告:我昨天做了啥、我今天要做啥、我碰到了哪些问题。

    第四步:得到软件的一个增量版本,发布给用户;然后在此基础上又进一步计划增量的新功能和改进。

      敏捷(Agile) 计划驱动(Plan-driven) 形式化的开发方法(Formal Method)
    产品可靠性要求 不高,容忍经常出错 必须有较高的可靠性 有极高的可靠性和质量要求
    需求变化 经常变化 不经常变化 固定的需求,需求可以建模
    团队人员数量 不多 较多 不多
    人员经验 有资深程序员带队 以中层技术人员为主 资深专家
    公司文化 鼓励变化,行业充满变数 崇尚秩序,按时交付 精益求精
    实际例子 写一个微博网站 开发下一版本的办公软件,给商业用户开发软件 开发底层正则表达式解析模块;科学计算;复杂系统的核心组件
    用错方式的后果 用敏捷的方法开发登月火箭控制程序,前N批宇航员都挂了 用敏捷方法,商业用户未必受得了两周一次更新的频率 敏捷方法的大部分招数都和这类用户无关,用户关心的是:把可靠性提高到99.999%,不要让微小的错误把系统搞崩溃
  • 相关阅读:
    Linux下判断字符串长度
    Linux下使用xargs得到字符串作为参数进行输出、awk得到字符串作为参数进行输出
    Linux下使用xargs将多行文本转换成一行并用tr实现逗号隔开
    Linux下使用split按行数进行切割
    Maven设置snapshot无法在远程仓库下载的问题解决
    Intellij IDEA自动生成serialVersionUID
    Spring中@Value用法收集
    Http报头Accept与Content-Type的区别(转)
    Linux下Shell的for循环语句
    Shell脚本中的分号使用
  • 原文地址:https://www.cnblogs.com/dengyaoye/p/5373090.html
Copyright © 2020-2023  润新知