Tag Archives: Agile

แง่คิดจาก Manifesto for Agile Software Development

วันนี้ขอเขียนเรื่องงานบ้าง (นิดนึง) เริ่มจากที่เมื่อหลายเดือนก่อนผมไปที่ Barcamp Bangkok 3 แล้วมีเรื่อง The Heart Of Agile (โดยคุณ @kluak110) เลยเข้าไปลองฟังดู เคยได้ยินมาว่ามันเป็น process การทำงาน ผลที่ได้จากการฟังทำให้ผมรู้สึกได้แง่คิดใหม่ๆ ในการทำงาน

เริ่มจาก ประกาศนี้ของเค้า

  1. Individuals and interactions over processes and tools ให้ความสำคัญ คนและการสื่อสารปฏิสัมพันธ์มากกว่า กระบวนการและเครื่องมือ
  2. Working software over comprehensive documentation ให้ความสำคัญกับซอฟต์แวร์ที่ทำงาน(ใช้งานได้) มากกว่าเอกสาร
  3. Customer collaboration over contract negotiation ให้ความสำคัญกับการร่วมมือกับลูกค้ามากกว่าการต่อรองสัญญา
  4. Responding to change over following a plan ตอบสนองกับการเปลี่ยนแปลงมากกว่าการดำเนินตามแผน

หลังจากฟังคำประกาศของเค้าแล้วผมรู้สึกชอบเพราะว่าจากประสบการณ์โปรเจคที่ขาดทุนไปเพราะว่าเรื่องพวกนี้ซะส่วนใหญ่ ผมจะพูดในแง่ของ Team นะครับ

  • ข้อแรกนี้ที่เจอมาคือถ้าเราสามารถสื่อสารกันด้วย level ที่สูงสุดได้จะดีที่สุดคือคุยกันตัวต่อตัวเลยกับเพื่อนร่วมงาน (รองลงมาก็คือโทรศัพท์ แล้วก็ IM สุดท้ายนี้คงจะ email)
  • ข้อที่สองบ่ิอยครั้งเราคิดว่าการใ้ห้ทำเอกสารโดยละเอียด จะทำให้เราไม่ต้องกลัวว่าโปรแกรมเมอร์คนนั้นจะลา่ออกไปหรือไล่ออกไป (ถ้าโปรแกรมเมอร์คนที่เขียนเอกสารนั้นดีจริงเค้าคงไม่โดนไล่ออกไป สุดท้ายเอกสารที่ได้มาก็ไม่มีประโยชน์) แต่สรุปแล้วควรจะมีเอกสารในระดับที่พอเหมาะเฉพาะส่วนที่สำคัญก็พอ
  • ข้อที่สามนี้เป็นศิลปะเหมือนกันการที่เราจะได้ requiement มาเพื่อเป็น Spec. ในการทำงาน เพื่อจะได้ไม่ต้องเจรจากับลูกค้าในภายหลังเพื่อขอส่งมอบงาน
  • ข้อสี่ ข้อนี้ก็โดนมากับตัวบ่อยประมาณว่าพอเขียนเสร็จตามเวลาแต่พอส่งให้ลูกค้ามันใช้ไม่ได้ส่งงานก็ต้องเลื่อนไปเรื่อยๆใน agile principle จะมีคำว่า “Deliver working software frequently” คือถ้าเราสามารถกำหนดขอบเขตที่จะส่งงานให้เล็กลงได้แล้วส่งบ่อยๆจะดีกว่าส่งที่เดียวเยอะๆ

แต่เรื่องราวของ Agile นั้นมีมากมายให้ศึกษา คงต้องพักไว้แค่นี้ก่อน  เสริมอีกนิดว่าเหนือสิ่งอื่นใดผมหวังว่าจะได้เพื่อนร่วมงานดีดี ที่จัดการตัวเองได้ดี มันช่วยให้งานบรรลุเป้าหมายได้มีประสิทธภาพมาก

“The best architectures, requirements, and designs emerge from self-organizing teams.” ทิ้งท้ายด้วยอันนี้ จาก Principles behind the Agile Manifesto