`
rcfalcon
  • 浏览: 228615 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于逐步实践敏捷开发的想法

 
阅读更多

由于将会要组织一个全新的研发团队,而且可能团队中讲会以年轻人为主,应届毕业生尤其巨多。

我觉得这是一个尝试全新的开发模式的好时机,但是当然需要平稳过渡。首先,我们都没有敏捷开发的经验,其次,敏捷开发所有的概念也未必完全适合团队,需要动态的来寻找结合点。

1. 简单设计及重构

首先需要较为严格的确立工程的概念,我比较欣赏“简单设计”这个原则,但是不完全赞同。

系统刚开始整个架构还是应该细致设计,而之后每个模块的详细设计应该是经常勇于重构,经常有新的想法。而重构的实现实践也是要在不影响软件交付的前提下进行。

归根到底总结就是:有度的迭代。

2. 自动化测试

其次,自动化测试也是需要逐步普及的,特别是核心功能模块,但是关于如何构建可测试代码,这是一门需要钻的很深入的学问,我也将在之后的时间内亲自先实践这一点。我现在的疑惑主要是:

测试用例细到什么级别,如果是功能性模块需要若干个模块集成或者数据库特殊环境支持,是怎样来编写测试脚本的?这样脚本编写开销是否特别大?

3. 持续集成

这个是基于自动化测试已经成熟的基础上的,我想我现在对于这点暂时没有发言权。当然,我也会要深入细心学习,不过我觉得在相当长的一个时间内,小的团队、项目还是用不到做到持续集成的。

4. 代码公有化

在敏捷开发中,这不是版本库权限这么简单,而是一个所有人都必须对整个工程每个模块熟悉,或者整个工程代码风格和设计高度统一,我觉得在团队成员都不是一等一的高手,并且项目代码量较大的情况下,实施起来比较困难。

5. 结对编程

我一直认为,核心模块可以使用结对编程。前提是能够很好的估计工作量,定时定性的分派任务。但是普通工作还是不要使用结对了。

6. 例会

重构经验交流、敏捷开发体验交流、自动化测试心得交流,需要在各个例会中脱离业务层,来深入商讨我们的整个团队研发模式。

7. QA团队

那么测试人员在研发期间的参与度就比较低了,QA人员只负责项目最后的功能验收。一定要让QA团队和研发团队和睦共处,不能有“敌对”的关系,这样才不会出现BUG被踢皮球的现象。

分享到:
评论

相关推荐

    VS2010敏捷开发指南

    本文档主要探讨了如何使用Microsoft Visual Studio 2010进行敏捷开发,以及该...通过具体案例演示了敏捷开发的实际应用,并强调了项目规划、测试计划制定、设计美化和项目状态呈现等关键实践在敏捷开发过程中的重要性。

    迅思威尔 袁斌-从想法到开发级需求的2周实践

    他强调,敏捷研发实践不仅仅是关于软件开发的技术问题,更是关于如何管理一个持续变化的项目以适应市场需求的问题。 袁斌分享的敏捷实践方法在IT行业中具有广泛的适用性,尤其适用于那些在高度竞争和快速变化的市场...

    敏捷开发教程

    敏捷开发是一种以人为本、迭代、逐步推进的软件开发方法。与传统的瀑布式开发不同,敏捷开发将大型项目细分为若干个小规模、可管理的子项目。每个子项目都包含完整的开发周期,包括计划、设计、编码、测试等阶段,...

    软件开发的201个原则v1.3.pdf

    - **实践建议**:采用敏捷开发方法论,持续集成与持续部署(CI/CD)等现代软件开发技术,既能提高效率又能保证质量。 ##### 4. **高质量软件是可以实现的** - **核心思想**:鼓励开发者相信并追求高质量的目标。 - *...

    2[1].0时代的移动嵌入式产品开发-联想的实践.pdf

    比如,采用敏捷开发模式,以适应市场快速变化的需求;采用开源软件开发模式,以降低成本并加快产品上市时间。 - **用户中心的设计**:联想强调以用户为中心的设计理念,这意味着在设计产品和服务时始终将用户的实际...

    游戏设计与开发(一)

    敏捷开发方法如Scrum和Kanban在游戏行业中广泛应用,有助于团队高效协作并快速响应变化。 用户体验(UX)是游戏成功与否的重要衡量标准。设计师需要关注玩家的反馈,不断优化游戏控制、难度曲线、教程引导等方面,...

    软件开发流程20110628.zip

    软件开发流程是一个迭代和逐步完善的过程,不同的项目可能采用敏捷开发、瀑布模型、螺旋模型等不同方法。2011年的文档可能会针对当时的行业趋势和最佳实践提出一些具体建议和案例分析,帮助读者更好地理解和应用软件...

    27希望的种子 (2).ppt

    老奶奶的行动也反映了敏捷开发的原则,她每年从花朵中挑选颜色最淡的种子,这类似于敏捷开发中的持续改进和迭代过程。这种逐步逼近目标的方式在软件开发中非常常见,通过每个迭代周期的反馈和调整,逐步完善产品。 ...

    SCRUM是一个用于开发和维持复杂产品的框架.docx

    - **Agile Manifesto**:敏捷宣言,定义了敏捷开发的核心价值观。 - **Empirical Process**:经验性过程,基于经验数据来指导决策。 - **Transparency**:透明性,强调项目信息的公开透明。 - **Inspect and Adapt**...

    What is software design

    Reeves认为,这可以通过代码审查、重构等敏捷开发实践来解决。 **2. 结合新技术的趋势** 随着时间的发展,敏捷开发、测试驱动开发(TDD)等新的技术和方法论逐渐兴起。Reeves在这篇文章中探讨了这些新兴技术是如何与...

    前端开源库-fai

    敏捷开发实践 `fai` 专注于敏捷开发,这意味着它强调快速迭代、持续集成和用户反馈。其设计理念包括: - **快速原型**:`fai` 提供快速启动新项目的模板,让开发者可以迅速搭建起基本架构,便于快速验证想法。 -...

    在行动中发展自己PPT学习教案.pptx

    在软件开发中,敏捷开发方法强调的就是快速迭代,通过不断试错和改进来达到最佳效果。 7. 心态与平静:执行计划时保持冷静的心态至关重要。面对技术问题,保持冷静可以帮助我们更清晰地思考,找出最佳解决方案。 8...

    UML建模的误区UML建模的误区

    这种想法源于早期软件开发的理念,认为在项目初期就能全面理解并定义所有需求。然而,现代软件开发强调迭代和适应变化,认为需求会随着项目进展和理解深入而变化。因此,建模应该是逐步细化的过程,而不是一次性完成...

    茹炳晟-研发效能进化论 -从混沌到有序的破局之道

    3. **破局之道**:破局的关键在于建立有效的研发管理体系,包括但不限于敏捷开发、DevOps文化、持续集成/持续部署(CI/CD)实践、自动化测试、度量反馈系统等。这些策略能够帮助团队提高开发速度,减少错误,同时增强...

    UML建模核心技术书.rar

    此外,书中可能会介绍如何结合敏捷开发方法使用UML,例如极限编程(XP)和Scrum中的轻量级UML实践。在敏捷环境中,UML常被用来创建简单、可迭代的模型,以适应快速变化的需求。 最后,掌握UML不仅仅是学习它的语法...

    项目demo_part2

    1. **敏捷开发**:DEMO的发布是敏捷开发过程中的常见实践,它强调快速迭代和持续交付。每个DEMO都代表了项目的一个增量改进。 2. **用户体验(UX)设计**:一个好的DEMO应该注重用户体验,清晰地展示产品如何解决...

Global site tag (gtag.js) - Google Analytics