Friday, September 25, 2015

Practices of an Agile Developer: Working in the Real World



http://www.cnblogs.com/dacude/p/4425154.html
1做事放在第一位,不是指责犯错误的人。不抱怨,承认错误,团队合作,学习进步。懂得丢弃,
2欲速则不达,不能孤立,代码审核,单元测试,
3持续学习,跟踪变化,增量学习,了解动向,建设学习型团队,小步进步持续才是敏捷,丢弃原有知识和存量,用建议的开发环境开发一门语言的项目,多问为什么且问在点子上,问前问自己;有计划不随意,有节奏的码代码,一天几个时间段的提交,不要让天打断在进行中的事情。有节奏的开会,提前暴露问题,且像游戏一样一点点的成功激励。

代码公有,任务轮换,让大家接触不同部分的代码,接触彼此的代码。但并不是随意修改,必须的注释,必要的修改。平衡,有些专家领域的只开放浏览学习。

成为指导者 共享知识,团队提升,知识、经验、体会,开博客等分享而不是讲座,可以结对编程。让别人相信你可以帮他们,而不是故意订立规矩为难他们。
http://www.devwiki.net/2015/07/01/Agile-Develop-Agile-Feedback/
3.对于测试我们要做到:
确保测试是可重复的
测试你的边界条件
不要放过任何一个失败的测试

不同环境就有不同的问题
1.同一段代码可能在不同的机器上运行就会有不同的结果.
2.测试团队应该在项目所支持的所有平台上进行测试.
4.要积极地寻找问题,而不是等问题来找你.
5.硬件比开发人员的时间便宜.

倾听用户的声音
It is a bug! 这是一个bug.
1.每一个抱怨的背后都隐藏一个事实,找出真相,修复真正的问题.
2.没有愚蠢的用户,只有愚蠢的自大的开发人员.
3.当除了问题,你要尽可能地提供详细的信息.
4.不管是产品的bug,还是文档的bug,或者是对用户社区理解的bug,他都是团队的问题,而不是用户的问题.
5.我们花费了很大精力从单元测试之类的代码中获得反馈,但却容易忽略最终用户的反馈.
6.不仅需要和真实的用户进行交谈,还需要耐心地倾听.
7.如果代码解决不了问题,也许可以考虑通过修改文档或者培训来弥补.

Chapter 2: Beginning Agility
  1   Work for Outcome
  2   Quick Fixes Become Quicksand
  3   Criticize Ideas, Not People
  4   Damn the Torpedoes, Go Ahead
Chapter 3: Feeding Agility
  5   Keep Up with Change
  6   Invest in Your Team
  7   Know When to Unlearn
  8   Question Until You Understand
  9   Feel the Rhythm
Chapter 4: Delivering What Users Want
  10   Let Customers Make Decisions
  11   Let Design Guide, Not Dictate
  12   Justify Technology Use
  13   Keep It Releasable
  14   Integrate Early, Integrate Often
  15   Automate Deployment Early
  16   Get Frequent Feedback Using Demos
  17   Use Short Iterations, Release in Increments
  18   Fixed Prices Are Broken Promises
Chapter 5: Agile Feedback
  19   Put Angels on Your Shoulders
  20   Use It Before You Build It
  21   Different Makes a Difference
  22   Automate Acceptance Testing
  23   Measure Real Progress
  24   Listen to Users
Chapter 6: Agile Coding
  25   Program Intently and Expressively
  26   Communicate in Code
  27   Actively Evaluate Trade-Offs
  28   Code in Increments
  29   Keep It Simple
  30   Write Cohesive Code
  31   Tell, Don’t Ask
  32   Substitute by Contract
Chapter 7: Agile Debugging
  33   Keep a Solutions Log
  34   Warnings Are Really Errors
  35   Attack Problems in Isolation
  36   Report All Exceptions
  37   Provide Useful Error Messages
Chapter 8: Agile Collaboration
  38   Schedule Regular Face Time
  39   Architects Must Write Code
  40   Practice Collective Ownership
  41   Be a Mentor
  42   Allow People to Figure It Out
  43   Share Code Only When Ready
  44   Review Code
  45   Keep Others Informed

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts