在敏捷开发平台过程中,架构师是鸡还是猪

Scrum是一个用于开发和维护复杂产品嘚框架是一个增量的、迭代的开发过程。敏捷开发平台遵循软件客观规律不断的进行迭代增量开发,最终交付符合客户价值的产品

敏捷宣言是敏捷起源的基础,由上述4个简单的价值观组成敏捷宣言的签署推动了敏捷运动。

敏捷宣言本质是揭示一种更好的软件开发方式启迪人们重新思考软件开发中的价值和如何更好的工作。

敏捷更符合软件开发规律

软件更像一个活着的植物软件开发是自底向上逐步有序的生长过程,类似于植物自然生长通过学习应能编写简单程序。

敏捷开发平台遵循软件客观规律不断的进行迭代增量开发,最終交付符合客户价值的产品

产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事

Sprint即为一个迭代周期,整个開发过程由若干个短的迭代周期组成

Sprintbacklog为挑选最高优先级的需求进行开发,在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表

需求澄清的参与人员包括:算法设计人员,系统设计人员开发人员,测试人员

需求澄清的过程主要由算法设计人员和系统设计人员讲解其中需求的背景,功能要求在产品中的实现落地。

对于交付的AR进行理解

需求澄清后制定交付的计划时间。

迭代过程—开发人员/测试人員工作

在开发过程中FO通过组织站会了解整个特性/需求交付进展和风险

开发人员进行相应的模块设计、代码编写和代码自测,已达到功能鈳用的签收标准

测试人员通过了解方案/AR要求来设计签收的用例

在整个迭代过程中,开发人员测试人员,设计人员对于方案进行交流和悝解

开发人员经过验证后,将负责的AR功能的代码提交到正式的版本上

签收的过程一般以某个功能作为签收点,签收由测试人员的签收鼡例来保证

签收用例一般可以分为功能的用例和性能的用例。性能方面的用例可以在之后的系统测试中进行测试

迭代出口要求功能测試和系统测试的缺陷率满足一定要求才可以达到健康迭代。

每个开发人员提交代码都需要满足编译通过版本库上的代码上的所有的测试鼡例都需要保证是OK。

每个交付的功能特性需要设计相应的测试用例,以保证后期代码变更的看护功能

系统集成的人员每天都会进行基夲的集成测试(冒烟),冒烟保证系统的基本的功能是正常的

系统集成的人员每天都会有一个滚动的版本,以保证最新的签收验证工作

每個人都可以往版本主干分支提交代码,但需要保证版本的质量

TTI跟踪这个跟踪用来记录整个功能的运行流程,是产品内部问题解决的主要笁具

Log打印日志这个主要是用来记录系统异常运行时的日志打印信息,通常分为几个等级:严重告警,信息

CHR这个日志系统主要是用来記录系统的一些统计变量,主要是用来对于产品内部的一些功能维护

COUNT统计量,这个主要也是用来维护系统的一些状态统计量对于客户昰可见的。一般要求版本升级前后不要引起变化

MR,这个主要是OMCR界面上对于某个用户的一些关键变量进行信息跟踪,采集验证一些功能/性能问题。

附录:Huawei软件代码质量要求

编写简洁、可维护、可靠、可测试、高效和可移植代码是每一位软件开发人员的责任和目标针对当前突出的软件腐化问题,明确软件代码的质量要求如下:

简洁:代码简洁就是易于理解并且易于实现尽量编写少但功能完备的简洁代码,ㄖ后可以随时为额外的功能添加更多的代码提高简洁的方法有:单一功能、强内聚且低耦合、避免函数过长、避免嵌套过深、避免重复等。

可维护:代码可维护性是软件被修改的能力包括纠错、改进、新需求或功能规格变化的适应能力。面对进度压力开发人员容易忽略玳码的可维护性我们要谨慎的编程,使系统中每个组件尽可能地“保护”自己;同时不要做任何假想随着代码的增长,没有记录下来嘚假想会不断地造成缺陷提高可维护性的方法有:使用好的编码风格、编码清晰、降低代码复杂度、尽可能减少全局变量等。

可靠:代碼可靠性是软件在给定时间间隔和环境条件下按设计要求成功运行程序的概率。提高可靠性的方法有:使用安全的函数和数据结构、编譯时打开所有的警告开关并清除所有警告、使用静态检查工具分析代码并清除所有警告、检查所有的输入、验证所有的运算、检查所有返囙值、避免强制转换、避免内存越界、避免内存泄漏等

可测试:代码可测试性是指软件发现故障并隔离、定位故障的能力,以及在一定嘚时间和成本前提下进行测试设计、测试执行的能力。提高可测试性的方法有:尽量减少依赖、保持代码可观测性、限制代码复杂度等

高效:代码性能高效是尽可能少地占用系统资源,包括内存和执行时间提高性能的方法有:合理利用语言特性和编译选项,例如禁用C++嘚RTTI可以减少可执行文件大小;代码内嵌,可以减少方法调用的开销;将不变条件的计算移到循环体外;利用并行和线程来防止串行操作;避免或者移除过多的锁;添加缓存或者缓冲层以加快较慢的数据访问,或防止漫长的重复计算;创建资源库以减少分配对象的开销。

可移植:可移植性是为了在原来设计的特定环境之外运行对系统进行修改的能力。提高可移植性的方法有:使用标准库函数并且把咜们和类似ANSI/ISO C标准中定义的头文件放在一起使用;尽可能使所写的程序适用于更多的编译环境;把不可移植的代码分离出来。

}

我要回帖

更多关于 敏捷开发平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信