เกี่ยวกับ Korn4D

Agile, Lean, Toyota Way, Scrum, Buddhism, XP

Maximize Value vs Maximize Profit


เมื่อวานได้มีโอกาสเข้าคลาสที่อยากเข้ามานาน แต่ที่ติดใจกลับเป็นเพื่อนร่วมคลาสท่านหนึ่งที่กรุณาพยามแก้ไขความเข้าใจของผมเกี่ยวกับการทำ prioritization ว่า อันที่จริง ไม่ใช่เรียงตาม value ของ customer แต่เป็นของบริษัทเราต่างหาก

ท่านได้ตั้งคำถามชี้ชวนว่า สมมติ มี ลูกค้าสองราย รายหนึ่ง ถ้าเราไม่ทำของให้ ก็อาจจะถึงขั้น ล้มละลายแต่มีเงินจ่ายแค่ แสนเดียว แต่มีลูกค้าอีกราย มีเงินจ่ายหนึ่งล้าน เราจะทำให้ใคร ถ้าเราเลือกรายที่สองก็แสดงว่าเราเลือก value ของเรา ไม่ใช่ของลูกค้า ผมพยายามอธิบาย แต่เนื่องจากเวลาไม่อำนวยจึงไม่มีโอกาสได้พูดคุยกันต่อ ได้แต่เก็บความสงสัยว่าเบื้องลึกเช่นไร จึงทำให้ท่านคิดเช่นนั้น
นอนคิดอยู่คืนหนึ่งจึงได้ข้อสรุปกับตัวเองว่า ท่านผู้นั้นคงจะมีความเชื่อในเรื่อง zero-sum game ซึ่งเชื่อว่า เมื่อมีฝ่ายหนึ่งได้ต้องมีอีกฝ่ายหนึ่งเสีย อ่านเพิ่มเติม

User Story คืออะไรกันแน่?


หลายคนเมื่อเริ่มหัดใช้อไจล์ก็จะได้รู้จัก User Story ซึ่งมักจะถูกสอนว่า ต้องเขียนในรูปแบบ “As a , I want to so that ” ซึ่งฟังดูก็ง่ายดี แต่พอเอาไปใช้งานจริง กลับรู้สึกสับสน งงงวย ไม่รู้ที่ทำมันถูกหรือผิด หรือเอาว่าถูกตามรูปแบบเป๊ะๆ แต่ทำไมมันไม่ค่อยเวิร์คยังไงไม่รู้ อ่านเพิ่มเติม

Acceptance Criteria คืออะไร?


หลายคนพอเริ่มใช้อไจล์ ก็ได้รับคำแนะนำให้แบ่งงานเป็น user story และที่สำคัญคือมีการกำหนด Acceptance Criteria หรือที่บางคน เรียกย่อๆ ว่า AC ให้กับแต่ละ user story ทีนี้ก็เกิดคำถามตามมามากมายเกี่ยวกับเจ้า Acceptance Criteria นี้ อ่านเพิ่มเติม

ว่าด้วยปัญหาอไจล์?


วันก่อน มีพี่ท่านหนึ่งโพสทำนองว่า “อไจล์แค่ที่ Development ไม่ช่วยอะไร” แล้วก็มีพี่อีกท่านหนึ่งตอบว่า “อไจล์แค่ที่ Management ก็ไม่ช่วยอะไรเหมือนกัน” มาคิดดูก็ถูกทั้งคู่ งั้น อไจล์ที่ไหนดีนะ ที่ Marketing ดีมั้ย? หรือ ที่ HR หรือ เอามันทั้งบริษัทครั้งเดียวแบบ Big Bang ดี คิดไปคิดมา คำครูอาจารย์ก็ผุดขึ้นมาว่า “คำตอบที่ถูกต้อง มาจากคำถามที่ถูกต้อง” เอ้อจริง “อไจล์ที่ไหนดี?” อาจจะไม่ใช่คำถามที่ถูกต้องกระมัง แล้วคำถามอะไรล่ะจึงจะถูกต้อง คิดวนไปมาจนจู่ๆ ก็ผุดขึ้นมาอีกว่า “เราอไจล์ไปทำไมนะ?” เพิ่มคุณภาพ หรือเปล่า? หรือว่า “ทำให้ลูกค้าพอใจ” หรือ “ทำให้กำไรมากขึ้น” สุดท้ายคำครูก็ผุดขึ้นมา อ่านเพิ่มเติม

บานก่อนใช่ว่าสวยกว่า บานช้าใช่ว่าแย่


ดอกไม้ที่ผลิบานก่อนดอกอื่นๆ ไม่ได้รับประกันว่าจะเป็นดอกที่สวยที่สุด แต่ด้วยค่านิยมที่เรายึดถือกัน ความรีบเร่งกลับกลายเป็นสิ่งสำคัญสูงสุด เราไม่มีเวลาแม้แต่จะหยุดคิด การเร่งเดินเป็นวงกลมไม่ได้พาเราเดินทางไปไหนไกล แต่กระนั้นเราก็ไม่ยอมหยุด คงตะบี้ตะบันพุ่งทะยานไปข้างหน้าอย่างดื้อรั้นรุนแรง บางครั้งก็เยียบย่ำต้นหญ้าและพันธุ์ไม้บนทาง อย่างไม่รู้เนื้อรู้ตัว

มากกว่า เร็วกว่า ถูกกว่า คุ้มกว่า เมื่อไรกันนะที่สิ่งเหล่านี้เริ่มกลายเป็นค่านิยมหลักของสังคม เราผลิตและบริโภคด้วยอัตราเร็วกว่าที่ธรรมชาติจะฟื้นคืนได้ทัน ท้องทะเล ป่าไม้ อากาศ เรากำลังเผาบ้าน เพื่อหุงอาหาร จะมีประโยชน์อันใดเล่าที่จะมีอาหารเกินอิ่ม แต่ไร้ที่ซุกหัวนอน

ดอกไม้แต่ละดอกมีเวลาเบ่งบานของตัวเอง ในแบบของตัวเอง แต่เรากลับพยายามควบคุมชีวิต ให้เป็นไปตาม “มาตรฐาน” เรากังวลเพราะน้ำหนักตัวเริ่มเกินมาตรฐาน ลูกเราเริ่มพูดช้ากว่าเกณฑ์ รายได้เราน้อยกว่าเพื่อนร่วมรุ่น ฯลฯ เราหลงลืมไปแล้วว่า แต่ละคนมีจังหวะเวลาของตนเอง

ดอกไม้ที่บานช้า อาจงดงามกว่า ก็เป็นได้

Lean Thinking and Agile Testing


In the past, we saw testing as the later phase, if not the last, in waterfall pipeline. The project manager always says “Finish the coding early so we can have time to catch and fix bugs”. This sounds straightforward and no brainer but if we look back all of those projects were mostly failed.

According to Lean Thinking it is not a good idea to try to finish work in big batch and test it in bulk. The reason is, if there is a misunderstanding in the design, the more code we do the more bugs we fix, and of course, the more rounds of testing. It is all wasted.

In Lean, there are three levels of problem solving. The lowest one is Reactive which is when we create the problem and fix it later. The second is Proactive in which we have the solution prepared before the problem occurs. And, the best one is Preventive, the one we keep the problems from happening. It is the most cost-effective one.

The waterfall way of work is Reactive. That is why it is very wasteful. The team needs to spend much time on fixing and re-testing the products. On the other hand, in Agile, the testing ideas are discussed before the real code is implemented. It is similar to when the teacher gives the students all questions and answers before the test, the students will make good scores.

The Preventive testing in Agile should not be stopped just on discussing and sharing the testing ideas. To eliminate more waste, the quality must be built-in in every step. There are many methods to help this, for example, Domain Driven Design (DDD), Test Driven Development (TDD), Acceptance TDD (ATDD), Continuous Integration and Continuous Delivery (CI/CD), etc. These methods will help to free up our precious QA to be able to do the more valuable work for example, explorative test, usability test, etc.

The Lean/Agile Testing may seem hard to implement at first but in the long run it will promote a quality culture that everyone focuses on preventing the defect to lurk in to the product code base, which will result in better teamwork, lower cost and shorter time to market.

— Home Assignment from Agile Testing Certification – Bangkok

Maxwell Curve : ทำไมยิ่งลงแรงมากยิ่งได้งานน้อย


ถอดความจาก The Maxwell Curve: Getting more production by working less!

Maxwell Curve

เรื่องมีอยู่ว่าระหว่างที่เจฟ ซัทเทอร์แลนด์(Jeff Sutherland) ทำงานเป็นโค้ชให้กับ OpenView Venture Partners หนึ่งในผู้บริหาร(Scott Maxwell) ได้มาหาเขาพร้อมกับกราฟ หน้าตาเหมือนข้างบน เขาตั้งชื่อมันว่า “เส้นโค้งของแมกซ์เวล” (Maxwell Curve) อ่านเพิ่มเติม