Google Takeout

ใช้ผลิตภัณฑ์ของพี่ Google เค้าหลายตัว ก็เพิ่งจะรู้ว่า Google เค้ามี Takeout ด้วย ซึ่งเป็นตัว backup เนื้อหาหลายอย่างที่เราใส่เข้าไป ไม่ว่าจะเป็น Messenger, Hangout, Photos, Youtube หรือแม้กระทั่งหน้า Google+ เจ้าตัว Takeout ก็สามารถ backup ได้หมด แต่จะได้ฟอร์แมตไหนต้องลองไปศึกษากันดูนะค่ะ

ส่วนตัวรู้สึกว่าเอ่อ มันใช้งานง่ายดี ลอง backup รูปมาก็โอเคเลย แบบว่าวางใจเก็บ backup รูปไว้ที่ Google+ โดยไม่ต้องกังวล จะเอารูปเข้าก็ backup อัตโนมัติจากมือถือก็ได้ หรือว่าจะ ใช้ Google+ Auto Backup จากเดสต์ทอปก็ได้ ตอนจะเอาออกก็ใช้ตัว Takeout นี่แหละ ที่นี่ก็ไม่ต้องห่วงทั้ง import, export แล้วล่ะ

Agile: an Alternative Software Development

ไปอบรมมาค่ะ เรื่อง Agile: an Alternative Software Development ได้ความรู้อีกเยอะ และเคยเขียนถึง Agile ไว้น้อยนึงตอนที่ไปงาน Thailand SPIN 2012 แล้วก็ไม่ได้เคยเขียนถึงอีกเลย เพราะเห็นว่ามีอยู่เยอะแยะแล้วตามเน็ต ทั้ง Agile Manifesto ทั้ง 4 ข้อ และ Agile Principle 12 ข้อ

ซึ่งแม้หัวข้ออบรมจะเป็นเรื่อง Agile แต่ practice ที่ทำให้ workshop เป็น Scrum ก็เลยได้ Scrum มาด้วย จึงขอสรุป scrum แบบสั้นสุดๆ ไว้ เนื่องจากคงยังไม่มีโอกาสได้ใช้อีกนาน เอาไว้ระลึกในภายหลังละกันค่ะ

โดยทฤษฎี Scrum จะทำให้เกิด
- Transparency ทำให้เกิดความโปร่งใส ไม่ใช่แค่ทำให้เกิดความยุติธรรมนะค่ะ ตามที่เราเข้าใจความโปร่งใสจะทำให้เกิดความคล่องตัว รู้ว่าใครทำอะไรอยู่ สถานะงานอยู่สถานะไหน ทำให้เกิดการแก้ไขความล่าช้า หรือปัญหาที่เกิดได้อย่างรวดเร็ว
- Inspection ทำให้มีการตรวจสอบงานกับเป้าหมายได้ง่าย เห็นว่างานที่ทำตรงกับเป้าหมายที่ลูกค้าต้องการหรือเปล่า มีการตรวจสอบปัญหา และอุปสรรคเป็นระยะๆ
- Adaptation ทำให้ทีมได้ปรับตัวได้รวดเร็ว ถ้ามีข้อผิดพลาด ก็จะผิดพลาดแค่เพียงเล็กน้อย สามารถแก้ไขได้รวดเร็ว

Scrum team ประกอบด้วย 3 กลุ่มบทบาท
1. Product owner 1 คน เป็นตัวแทนทางธุรกิจของสินค้านั้นๆ เป็นคนกำหนดว่าอะไรที่ทำให้เกิดกำไร อะไรสำคัญกว่าอะไร ซึ่งสิ่งที่ PO หรือ Product owner ทำกับ Product backlog โดยการจัดลำดับความสำคัญ, แบ่งขนาดของ item (หรือ user story), ประเมินขนาดของแต่ละ story เรียกว่า Backlog grooming
2. Development team 3 - 9 คน ถ้าน้อยไป อาจจะมีปัญหาเรื่องทักษะ, ความรู้ ในการทำงานให้สำเร็จ ถ้ามากไป จะทำให้เกิดปัญหาเรื่องการสื่อสารไม่ทั่วถึง และความซับซ้อนในการจัดการคน ลักษณะของคนในทีมมีดังนี้

  • Self-organizing team
  • Cross-functional team
  • No titles
  • No sub-team

3. Scrum master 1 คน เป็นคนดูแลให้มีการนำ Scrum มาใช้ตามวัตถุประสงค์ที่ถูกต้อง สร้างความเข้าใจในการทำกิจกรรมของ Scrum

Scrum Artifact
1. Product backlog

  • Feature - มาจาก Product owner
  • Technical work - เป็นงานดูแล Infrastructure ทั้งหมด งานส่วนนี้จะมาจาก Development team
  • Bug - มาจาก Product owner หรือ Development team
  • Knowledge acquisition - เป็นงานในการศึกษาหาความรู้ เพื่อให้สามารถทำงานให้สำเร็จ ซึ่งมาจาก Development team
2. Sprint backlog
เป็นส่วนหนึ่งของ Product backlog ที่จะต้องทำให้เสร็จในแต่ละรอบการทำงาน ซึ่งเป็นงานที่ มีรายละเอียดชัดเจนพอที่ Development team จะนำไปทำได้


Scrum Events
การทำงานในแบบ Scrum จะแบ่งออกเป็นรอบเล็กๆ เพื่อให้ได้งานที่เสร็จสมบูรณ์เป็นชิ้นเล็กๆ  (Potentially shippable product) โดย 1 รอบจะเรียกว่า 1 Sprint ซึ่งในแต่ละ Sprint จะเป็นเวลาเท่าๆ กัน (time-box) เป็นการจำกัดเวลาในแต่ละรอบ และประกอบไปด้วยกิจกรรมต่างๆ ที่กำหนดเป็น time-box เช่นเดียวกัน ดังนี้
1. Sprint planning ใช้ 8 ชั่วโมงสำหรับ Sprint ที่ยาว 1 เดือน

  • Part 1 - What can be done this Sprint? ซึ่ง Development team จะประชุมร่วมกับ Product owner เป็นส่วนที่ต้องตกลงกันว่าอะไรควรจะต้องทำก่อน เพราะอะไร อะไรมีความสำคัญกว่าอะไร
  • Part 2 - How will the chosen work get done? เป็นการประชุมภายในของ Development team เพื่อทำ Work break down จากงานใน Part 1 ซึ่งมาจะสามารถประเมินงานแต่ละชิ้นได้หลายวิธี แต่จะต้องให้ทั้งทีมประเมินร่วมกัน และเห็นชอบร่วมกัน ซึ่งวิธีหนึ่งที่นิยมทำกันก็คือ Planning poker
2. Daily scrum เป็นการประชุมทุกวัน วันละ 15 นาที โดยหัวข้อการประชุมคือ
  • What did I do yesterday?
  • What will I do today?
  • Do I see any impediment?
3. Sprint review ใช้เวลา 4 ชั่วโมงสำหรับ Sprint ที่ยาว 1 เดือน ประชุมร่วมกันระหว่าง Development team, Product owner และ Stakeholders ทั้งหมด เพื่อนำเสนองานที่ได้ทำมา ตอบคำถามจาก Stakeholders รับฟังความเห็น แจ้งปัญหาและอุปสรรค แจ้งความต้องการความช่วยเหลือหรือสนับสนุน

4. Sprint retrospective ใช้เวลา 3 ชั่วโมงสำหรับ Sprint ที่ยาว 1 เดือน เป็นการให้โอกาส Development team ได้ตรวจสอบตัวเอง สร้างแผนในการพัฒนาทีม และเป็นการเพิ่มคุณภาพให้กับทีมโดยปรับข้อกำหนดของ "Done" (definition of "Done") โดยจะประชุมกันคือ Good, Bad, Try และผลของการประชุม ก็คือใน Sprint ถัดไป ทีมจะปรับปรุงอะไร




จากรูปน่าจะชัดเจนที่สุดนะค่ะ


Reference:
Agile Manifesto
Agile Principle
Art of Project Management
Scrum Guide