敏捷狂热者 Why-How-What Have you heard agile?/practice What is agile for you? 前面的思考方式都有可能是敏捷 TDD-SOLID 算法 放大程序员价值 DDD(User stories applied) 工程商人 / 通才 / 做事的人做决定,做管理 change your mind production system / lean 入门,没有教条,如何思考, feeling/vision Agile vs CMMI/waterfall 双赢, DEV vs QA , R&D vs Sale/Marketing System Thinking , No local optimization people is the most important process help to avoid mistake parc palo alto research center 00, gui,mouse, ethernet, laser printer,wysiwyg 3m increase frequent feedback phpunit simpletest
Characteristic of the translation Fix time, Sep -> Feb. 13 Fix scope, 21 chapter+2 appendixes Fix resources, Gang of Four We like this classic book and believe agile community in China wants it, decide to contribute as volunteers
Photo and Roles 3 have no experience Part time Distributed team
Assumptions Every body have access to latest version Things will go smoothly, Every one will volunteer to sign up what to do We are good at English and Chinese, good passion for Agile, Enough time Email (or Phone call) should me enough Reality Somebody puts into google doc, somebody puts into subversion, email Actual velocity - One chapter per month What you guys are doing? Less than 10 mails , No phone call
Communication Planning and Tracking() Collaboration & Synchronization Quality Visibility
Show the spread sheet The point on Nov 15 Central Kanban file to help communicate&coordinate the tasks and what to do Avoid conflicting Chapter as unit of work Make sure kanban file reflect the latest status Done Definition
Timebox Weekly sync meeting on Skype three questions Issues & Impediment Agreement on common terms such Epic, Theme, Story Hard sentences brainstorm, external dependency of Mike retrospective Peer Pressure Learn from fast feedback Chapter point Why only a rough estimate? Each chapter relative within the same range Just enough estimate Done Definition Check point Planned velocity(1.5 chapter per week) More Commitment
In addition to email and weekly meeting We use Continuous Integration check in comment to communicate, Import ant part of communication Update burndown when commiting
281 check-ins in total
Time to Change Trend visualized
Chapter Done over Task Done Finished review, not accepted Big drop Benefit Small batch size Test early to get more knowledge as early as possible We are late – How to meet the deadline?
Bill and Daniel started to contribute Agree on 2 reviewer including J & S Role blurred, Real cross-functional team, real collaboration
Discovered more work Added two Chapter points Initial release We are late, we want to push to market before Scrum Gathering Release 10 Chapters first Release review of the first 10 Chapters
New work: 2 points All parts Release 10 chapters, Because it is done, we can release anytime Done Definition: Fix issues( new knowledge), make it better
One week late
Kanban Task coordination Meeting Where we are? Peer Pressure Learning point Issue resolved ASAP Fail fast with less cost Enable self-organization Process issue Task assignment and coordination Help each other Change direction Team strategy change Cross-functional – two reviewers Change done definition CI History Communication and feedback tool - instant Emails as backup
Small batch End-to end chapters Better measurement of progress leads to more predictability and visibility More coordination pointless waiting, less bottleneck leads to faster flow Fail fast, lower cost to fix problems, prevent future failures Can release to publish house anytime Chapter point Just enough planning Commitment Peer presure Frequent check point Timebox as learning point and sync point Burndown to indicate the ideal vs reality Feel the pressure Only measure DONE work Visualize the work Kanban to visualize all the work to be done Responsibility is clear
Review as early as possible The earlier to test, the shorter the feedback loop, the more we learn Chapter done Only measure done work enforced WIP Prefer done story to sign up new task Everyone sign up any task No bottleneck No local optimization
The long-term average number of customers in a stable system L is equal to the long-term average arrival rate, λ, multiplied by the long-term average time a customer spends in the system, W , or: L = λ W 即在一个稳定的系统中长期的平均客户数 L 等于长期的平均到达率 λ 乘以一个客户在系统中花费的长期的平均时间 W 。(在稳定的(即满负荷)系统中,到达率与完成率是一样的。好比在餐馆,要有一桌走了才能进下一桌的人。) 扩容, ROI
PO is very happy about the result PO is not used to new strategy Beta release/nightly build If every chapter done, then can release to PO to get early feedback Terms check, common issues check to CI
Behavior change technique Kanban, Burndown, Regular check points More self-organizing Communication Means - Weekly meeting, Continuous Integration, Emails Push model Spread knowledge Feedback is good Test early to get more knowledge, to learn To communicate knowledge with whole team Self-organization is good Common vision Less role distinction Avoid local optimization Optimize the queue More creative on process More ownership