3ความต้องการที่ทำคนโบราณไม่ได้ใช้ “AGILE”

3ความต้องการที่ทำคนโบราณไม่ได้ใช้ “AGILE”

นับตั้งแต่วันที่โทรทัศน์เครื่องแรกถือกำเนิดขึ้น
มันต้องใช้เวลากว่า40ปี จึงทำให้คนสามารถเป็นเจ้าของได้ครบ1พันล้านคน (1927-1968)

– Search Engine ชื่อดังก้องโลกที่รู้จักกันในนาม Google
กลับใช้เวลาเพียง 12 ปี จึงมีผู้คนใช้ถึง 1 พันล้าน (1998-2010)
– Social Media ชื่อดังที่ไม่ใช่เจ้าแรกอย่าง Facebook
ก็ใช้เวลาเพียง 8 ปีจึงมีผู้ใช้ครบ 1 พันล้านคน (2004-2012)
– และ Andriod ซอฟแวร์ที่มีคนรู้จักเกินค่อนโลก
ก็ใช้เวลาเพียง 5 ปีในการที่มีผู้ใช้ครบ 1พันล้านคน (2008-2013)

โดยพวกที่ครบ1พันล้านคนในช่วงหลัง Y2K
ล้วนมี Software เป็น Core หลักของผลิตภัณฑ์
ซึ่งแนวคิดที่นิยมนำมาใช้พัฒนาซอฟแวร์ในยุคปัจจุบันคือ
“AGILE”

หากจะพูดให้เข้าใจกันง่ายๆไม่ต้องเข้าเรื่องเทคนิคมากนัก
Agile เริ่มมีให้รู้จักและเห็นผ่านหูผ่านตาคนไทย(ที่ไม่ใช่สายซอฟแวร์)มากขึ้นก็เมื่อวันที่
Startup เริ่มเข้ามามีบทบาทมากๆ (เนื่องจากStartupย่อมต้องยุ่งเกี่ยวกับซอฟแวร์)
แนวคิดก่อนหน้านี้ในการพัฒนาซอฟแวร์หรือโปรเจคต่างๆ
มักใช้แนวคิดที่เรียกว่า Waterfall คือค้นหาความต้องการ วางแผน ลงมือทำ ทดสอบ
โดยจะทำเป็นขั้นตอนไป คือทำแล้วย้อนกลับมายังกระบวนการก่อนหน้าได้ยาก
เหมือนกับน้ำตกที่ตกแล้วตกเลย

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

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

เพราะว่า “ลูกค้า” มีความต้องการที่แปรเปลี่ยนไปหรือบางที
ตัวลูกค้าเองก็ยังไม่รู้ด้วยซ้ำว่าเขาต้องการอะไร
ผมจึงขอแบ่งความต้องการของลูกค้าออกง่ายๆเป็น 3 ระดับ
ที่นักพัฒนาซอฟแวร์จะต้องเจอ คือ
1. ความต้องการทางตรง
เป็นความต้องการที่เห็นชัดที่สุดจากลูกค้า
ลูกค้ารู้ว่าต้องการอะไรและไม่ต้องการอะไร

2. ความต้องการที่ไม่สามารถตอบสนองได้
เป็นความต้องการที่ทั้งลูกค้าและผู้พัฒนาซอฟแวร์รู้ว่า
ถ้าทำแบบนี้ได้ก็คงดี แต่ต่างก็รู้ว่ายังทำไม่ได้
(เช่น สร้างเกมที่เล่นยังไงก็ไม่เบื่อให้หน่อยสิ)

3. ความต้องการที่แม้แต่ลูกค้าเองก็ไม่รู้ว่าต้องการ
เป็นความต้องการที่ขับเคลื่อนโลกของเรา
ให้ก้าวไปข้างหน้าอย่างไม่หยุดยั้ง และเป็นความต้องการ
ที่ถ้าตอบสนองได้จะได้รับผลตอบรับอย่างดีและรวดเร็ว
(เช่น ไม่มีใครมานั่งบอกนาย มาร์ก ซักเคอร์เบิร์ก หรอกว่า
นายช่วยสร้าง Social Media ที่ฉันเล่นแล้วชอบ เล่นแล้วติดให้หน่อยสิ)

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

 

เพื่อนคุณคงดีใจ ถ้าคุณแชร์เรื่องราวดีๆไปให้