Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

速度——敏捷开发的丹田之气(2011敏捷中国大会)

1,256 views

Published on

  • Hi there! Get Your Professional Job-Winning Resume Here - Check our website! http://bit.ly/resumpro
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

速度——敏捷开发的丹田之气(2011敏捷中国大会)

  1. 1. 速度 ——敏捷开发的丹田之气 徐毅转载必须注明出处和作者。 本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可
  2. 2. *关于我曾任职诺基亚西门子网络公司全球精益及敏捷转型部门担任精益及敏捷顾问。专长于大型组织(>500人)的敏捷迁徙转变。精通各种风格、类型的黑盒测试,包括验收性测试驱动开发、探索性测试、测试自动化等等。在辅助一个400人的大型组织搭建、规范化测试自动化系统及实践之后,选择传授敏捷/Scrum以及精益的要义,辅导其他组织进行转变。兴趣广泛,包括但不限于各种类型测试、敏捷/Scrum及精益。国内敏捷会议的常客,近期的有敏捷中国2009、2010 、2011 ,2010及2011的Scrum Gathering Shanghai,以及2009、2010、2011年的敏捷全球之旅中国站。更多信息请看LinkedIn主页:http://cn.linkedin.com/in/kaveri
  3. 3. *
  4. 4. *
  5. 5. *
  6. 6. 实现交流 确认 *
  7. 7. *
  8. 8. * Elisabeth Hendrickson
  9. 9. 产品列表没法管… 用户故事 到底要 怎么用啊 用工具画 UML图挺 快的呀? * 结对编程? 太浪费了!
  10. 10. *
  11. 11. *庐山
  12. 12. *象*盲人
  13. 13. *敏捷实践全景鸟瞰
  14. 14. *
  15. 15. *
  16. 16. 业务人员和开发人员必须相互合作, 项目中的每一天都不例外。不论团队内外,传递信息效果最好效率 也最高的方式是面对面的交谈。 *
  17. 17. * Monopoly(大富翁/强手棋/地产大享) Monopoly,国内又称大富翁、强手棋,号称全 世界卖得最多的桌上游戏Monopoly游戏的发明, 要追溯到1934年,当时一个叫Charles B. Darrow的美国人把自己发明的Monopoly游戏拿 去给出版商Parker Brothers,希望可以批量生产, 但当场就被Parker Brothers以52个设计错误拒之 门外。但Darrow并没放弃,他自己联系了一个 相熟的出版商,印刷了一批Monopoly游戏投放 市场,收到的反应却出奇的好。当他第二次踏 上Parker Brothers的门槛后,Monopoly得以大 批上市,并在出版的第一年----1935年就成为美 国最热卖游戏,并在接下来的七十几年时间售 出超过2亿套(只是官方统计数字,算是中国里 面的盗版大富翁,绝对远超这个数字)。 。*
  18. 18. *
  19. 19. First, find out use cases by drawing use case diagram. Use case is a description of a systems behaviour as it responds to a request that originates from outside that system. The use case technique is used to capture a systems behavioural requirements by detailing scenario-driven threads through the functional requirements.Then, start from one specific use case, identify top level user stories, which followsthe "As a <role>, I want <feature>, so that <motivation>.". Top level user story is too big to implement, we need to split it into smaller user stories. User story is asoftware system requirement formulated as one or two sentences in the everyday or business language of the user.
  20. 20. System Sequence Diagram illustrates external I/Oevents for system scenarios.
  21. 21. Then we made :*Cockburn-style Play Monopoly Main Success Scenario Use Case Text 10 Player wants to StartNewGame? 20 Player MakeMove? 30 Player PerformsAction? 40 Player EndsTurn? (repeat steps 20-40 until game ends) EXTENSIONS------------------ 30a Player buys property This is only legal if the property is available and player has enough money 1. Player gives money to the bank 2. Board is updated to reflect the change in property 30b Player pays rent This is only legal if the property is owned by another player 1. System identifies who is the owner of the field 2. Cash is transfered to the owner 30c Player is using a community card This is happening in case the player has landed on a field requireging usage of a community card 40a Active Player receives rent 1. System identifies who is the owner of the land 2. Cash is transfered to the owner * Player sells a property
  22. 22. domain model, or Domain Object Model (DOM)in problem solving and software engineering canbe thought of as a conceptual model of a system which describes the various entities involved in that system and their relationships.
  23. 23. Acceptance Tests (in Agile Software Development) are usually created by businesscustomers and expressed in a business domain language. These are high level tests to test the completeness of a user story or stories played during any sprint/iteration.
  24. 24. Activity Diagram is a loosely defined diagram technique for showing workflows of stepwise activities and actions, withsupport for choise, iteration and concurrency.
  25. 25. Communication Diagram models theinteractions between objects or parts in terms of sequenced messages.
  26. 26. Class Diagram is a type of static structure diagram that describes the structure of a system by showing the systems classes, their attributes, and the relationships between the classes.
  27. 27. *
  28. 28. 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。可工作的软件是进度的首要度量标准。 *
  29. 29. * Having pseudo-acceptance-tests on the wall, its time to realize them now. The test automation framework we used was www.robotframework.org. which is a keyword-driven framework for acceptance tests in tabular format.* Acceptance Test Driven Development (ATDD) practice drives development from automated acceptance tests, those executable acceptance tests. After written those pseudo tests into Robot format, we got a red FAIL of execution, since there was no keywords nor production code. *
  30. 30. 联系我:多年的实战经验,包括自用、培训和辅导他人。包括利用它进行测试自动化和ATDD,帮助团队和组织提高他们的测试自动化能力。
  31. 31. *Robot TestsSetting ValueLibrary MonopolyLibrary Post Condition: PostTest IN: IN: Post Condition: Post Condition: Action All Pieces Condition:Case rounds Players Actual Rounds Output Trace Current Square game Stop Run The Game AndTest1 ${2} ${2} ${2} NOT goSquare TRUE NOT NULL Check Post Conditions Run The Game AndTest2 ${17} ${2} ${17} TRUE NOT NULL Check Post ConditionsKeyword Action Argument Argument Argument Argument Argument ArgumentRun The Game ${all pieces ${actual ${game ${outputAnd Check Post [Arguments] ${rounds} ${players} current rounds} stop} trace}Conditions square} Init The Game ${rounds} ${players} Run The Game Get Actual ${testReturn} Rounds Should Be Equal ${actualRounds} ${testReturn}
  32. 32. 坚持不懈地追求技术卓越和良好设计, 敏捷能力由此增强。 以简洁为本,它是极力减少不必要工作量的艺术。 *
  33. 33. CI + ATDD + TDD + PP + CODING DOJO
  34. 34. 1. Information Expert2. Creator3. Controller4. Low Coupling5. High Cohesion6. Polymorphism7. Pure Fabrication8. Indirection9. Protected Variations * General Responsibility Assignment Software Pattern http://en.wikipedia.org/wiki/GRASP_%28object-oriented_design%29
  35. 35. *http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29
  36. 36. * duplicate code or data* long method* unclear names* magic constants* high coupling (e.g., “data envy”)* low cohesion* case logic rather than polymorphism* data object (record object) ** comments that explain what code does http://en.wikipedia.org/wiki/Code_smell
  37. 37. 我们最重要的目标,是通过持续不断地 及早交付有价值的软件使客户满意。经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。 *
  38. 38. 可持续
  39. 39. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维 持其步调稳定延续。 团队定期地反思如何能提高成效, 并依此调整自身的举止表现。 *
  40. 40. 调整检验 透明
  41. 41. *想要吗?
  42. 42. *
  43. 43. *
  44. 44. *思考
  45. 45. *
  46. 46. 融会贯通一目了然同步反馈群策群力
  47. 47. * 自组织团队
  48. 48. 融会贯通一目了然同步反馈群策群力
  49. 49. *
  50. 50. 融会贯通一目了然同步反馈群策群力
  51. 51. * • 可视化管理 • 团队身边可视化、触手可及的信息 • 相关信息全部位于一个平面
  52. 52. 融会贯通一目了然同步反馈群策群力
  53. 53. Code Kata Coding Dojo
  54. 54. *
  55. 55. *
  56. 56. * “研究发现,任何一个世界级水平都需要起码一万小时的训练,”神经科学者丹尼尔·莱维汀写道。*
  57. 57. *速度 领悟 练习 * 领悟 练习爱迪生
  58. 58. *
  59. 59. mailto:KAVERJODY@GMAIL.com mailto:KAVERJODY@MSN.com Skype : KAVERJODY 新浪微博: 徐毅-Kaveri 腾讯QQ : 17376122http://blog.sina.com.cn/kaverjody http://cn.linkedin.com/in/kaveri http://kaverjody.wordpress.com *
  60. 60. * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China Mainland License. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc- nd/2.5/cn/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.转载必须注明出处及作者。 本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可
  61. 61. *Agile Modeling and TDD Workshop —— Craig Larman *第一部分 *第二部分 *第三部分 *

×