Contenu connexe
Similaire à 移动开发敏捷实践 (20)
移动开发敏捷实践
- 10. “浮现”出来的职责 Mr. Y Build Master “提醒”谁把Build搞坏了 “提醒”谁没按流程做 提升验收测试的速度 Mr. W 大部分界面的工作 Mr. X 项目打杂(服务型领导) PO Mr. M 重构已经完成的故事 避免团队成员在某个技术问题上卡住
- 25. 控件显示隐藏DSL showIf(getModel().isMembershipVerified(), not(membershipAd), not(noneMemberLayout), showMyMemberCardButton); showIf(items.size() == 0, not(itemListView), background(findViewById(R.id.item_button), R.drawable.selector, R.drawable.selector2));
- 39. 总结 新员工对敏捷实践尚未熟悉 只有Java开发经验 团队总体开发经验不足 开发人员的能力不全面 如何进行单元测试? 如何进行自动化验收测试? 在没有成型的架构的前提下如何保持开发效率? 如何测量代码质量,和应对技术负债? 结对编程,持续代码评审 设计交流会议 自组织 Done Done Roboletric Robotium 自底向上设计,浮现设计 健康的债务 Sonar
Notes de l'éditeur
- 介绍我们正在做的iphone到Android的移植项目克服这些困难需要技术上,流程上,团队上各个方面的配合。由于对新技术掌握有一个过程,项目当中容易积累技术负债。互动:大家在移动平台的项目中遇到哪些挑战?
- 互动:有多少心动?有多少行动?没有包治百病的膏药,但有可借鉴的例子
- 正如前4点列出的挑战,团队在技术上和敏捷实践上和要求的还有一定差距,如何在短时间内缩短这些差距?结对编程对流程和技术都能起到培训作用正式代码评审在这样的团队当中并没有效率自组织减少了管理的需要,并能提高总体产出清晰定义的DoD使团队对要完成的东西有明确的概念
- 我每次被指派这样的角色与职责我都浑身不舒服,你只要尽力去做对项目对团队最有贡献的事不就完了。
- 如果你是一支新组建球队的教练,你怎么预先指定谁踢哪个位置?那会是最好的方式吗?
- 团队成员根据自己的能力,兴趣与性格等因素进行磨合
- Done Done级别的DoD
- 开发人员编写所有测试
- Dalvik VM运行非常慢和消耗CPU单元测试可以在1分钟内完成
- 录像
- 需要30分钟运行完所有测试
- 通过自底向上设计,提高代码的表达能力,减少了代码行数和复杂度
- Domain Object框架
- 项目初期开发能力“过剩”,设计能力不足DoD已经保证的代码覆盖率,降低了重构的风险从而打破先设计还是先交付的困境开发人员的到参考实现后可以提高今后的代码质量
- 需要设置Maven项目的版本号
- 需要使用Emma,把Sonar内置的coverage库手工删掉
- 主要找到的重复是超过1个方法的接口实现
- 问题更快的到修复对自己的代码更有责任感
- 初期:由于对新技术不熟悉,代码质量不高,但开发效率也不高,并不能产生太多负债中期:对技术开始熟悉,但认识还不到位,代码质量也不高,一味强调开发效率会产生大量负债持续高产出:高质量,高产出,低缺陷率,低复杂度。我们做的一切都是为了尽快到达并保持在右上角的sweet spot。
- 代码产出并没有明显提高,但由于自底向上的设计,完成相同的功能所需要的代码减少了。Complexity/method = 1.7
- 开发效率在Sprint 5开始提高客户很开心