"ไม่ต้องมีเวทมนตร์ ไม่ต้องไปหาแม่มด แค่คุณทำสิ่งที่โลกระลึกถึงตลอดกาล แค่นั้นคุณก็เป็นอมตะแล้ว"
กว่าจะมาเป็นแอพฯมือถือดีๆสักตัว ทีมต้องประกอบด้วยคนที่มีสกิลดังต่อไปนี้ ...
26 Oct 2014 20:05   [18167 views]

ตลาดแอพฯมือถือบูมจนเริ่มซาและทรงตัว แอพฯมือถือตอนนี้ไม่ได้เป็นสิ่งที่ใครมีแล้วเจ๋งอีกต่อไป แต่กลายเป็นว่าใครไม่มีต่างหากที่เสียเปรียบคนอื่นเค้า

คือความต้องการจะทำแอพฯยังมีอยู่อีก โดยเฉพาะแอพฯขององค์กร แต่ปัญหาใหญ่สุดๆตอนนี้คือ แอพฯที่ออกมามี % น้อยมากที่มีคุณภาพ (โดยเฉพาะแอพฯที่โฟกัสแค่ในประเทศ ไม่ใช่ทั่วโลก)

เอาจริงๆ ตอนนี้องค์กรต่างๆก็ยังขาดแอพฯดีๆอีกจำนวนมาก แอพฯที่มีออกมาแล้วเกินครึ่งเหมือนมีเพื่อให้มีเท่านั้น จำนวนมากเลยที่เตรียมตัวรื้อทิ้งทำใหม่ รวมถึง Startup ต่างๆก็ยังทำแอพฯออกมาได้ไม่ดี แม้แต่แอพฯตัวใหม่ที่ทำออกมาในปี 2014 นี้ก็ตาม

ทั้งนี้เพราะมีคนน้อยมากที่เข้าใจความละเอียดอ่อนในการทำแอพฯ คนส่วนใหญ่มักจะมองว่ามีแค่ Developer ก็น่าจะทำแอพฯได้แล้ว มันจริงอยู่ที่ "ทำออกมาได้" แต่ปัญหาคือ "มันไม่ดี" งะ มีแอพฯให้กดให้จิ้มเล่นก็จริง แต่มันไม่ดีพอจะให้ใครอยากใช้

และแน่นอน ทำแอพฯมาตัวนึงถ้าจะให้ครอบคลุม จะต้องมีพวกฝ่าย Marketing ฝ่าย PR บลาๆๆๆมาด้วย แต่เราจะไม่พูดถึงเรื่องนั้น เราจะขอโฟกัสไปที่ "กลุ่มพัฒนา" ก่อนนะ

กลุ่มพัฒนาที่จะทำแอพฯดีๆขึ้นมาสักตัวได้ ต้องประกอบด้วยทีมดังต่อไปนี้

กลุ่มพัฒนา

1) Information Architecture (IA)

"ทำยังไงให้ข้อมูลแบ่งเป็นสัดส่วนเข้าใจง่าย"

แอพฯมือถือส่วนใหญ่ที่ทำก็เพื่อเป็นหน้ากาก Deliver Content ที่มีอยู่ในมือเข้าสู่มือถือตรงสู่ผู้ใช้

และ Content ไม่ว่าจะมากหรือน้อย ก็จำเป็นต้องมีการแบ่งแยกหมวดหมู่และจัดลำดับ (Classification and Hierarchy) เพื่อให้สัมพัทธ์กับรูปแบบการแบ่งแยกประเภทข้อมูลของสมองคน

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

อย่างไรก็ตาม สกิลนี้อาจจะไม่จำเป็นแบบต้องจ้างจริงจังมากถ้า Content มีไม่เยอะ แต่ถ้า Content มีเยอะ ... เช่น Sanook, Kapook หรือเว็บข่าวทั้งหลาย หา IA มาด้วยยยย


2) User Experience (UX) Design

"จะทำยังไงให้แอพฯใช้งานง่าย"

แอพฯมือถือถูกพัฒนาขึ้นมาเรื่อยๆ แต่ก่อนแค่มีให้โหลด คนก็โหลดละ แต่เดี๋ยวนี้ "ความน่าใช้" ถูกยกความสำคัญขึ้นมาเป็นอย่างมาก ชนิดที่ว่าถ้าไม่น่าใช้ก็เตรียมเจ๊งได้เพราะคนมีตัวเลือกเยอะ ถ้าใช้ยากก็ลบทิ้งหาแอพฯใหม่ง่ายกว่า หรือถ้าผูกขาด เช่นแอพฯโรงหนัง แต่ทำ UX มาไม่ดี คนใช้ไม่เป็น ก็เตรียมรับ 1 ดาวไป ไม่ส่งผลดี

คู่มือการใช้งานที่ดีที่สุดคือไม่ต้องมีคู่มือ

UX เป็นศาสตร์ที่ได้ยินกันมากขึ้นอย่างหนาหู หน้าที่หลักๆเลยคือจะทำยังไงให้รู้สึกน่าใช้ รู้สึกใช้ง่าย ผู้ใช้ไม่ต้องเรียนรู้ก็ใช้เป็นเลย รู้ว่านิสัยของผู้ใช้แต่ละ OS ต่างกันยังไง บน Mobile จะปุ่มยังไง บน Tablet จะวางยังไง ปุ่มขนาดเท่าไหร่ ถ้าถามว่า Hamburger Icon ด้านล่างนี้ เหมาะหรือไม่เหมาะยังไง ต้องตอบได้

ในการทำแอพฯมือถือขึ้นมา UX จะเป็นคนเริ่มต้น Research ทุกสิ่งที่เกี่ยวข้อง หา Reference ของแอพฯประเภทเดียวกัน ขึ้นโครง (Wireframe) ทุกอย่างขึ้นมา รวมถึงกำหนดว่าหน้าตาโดยรวมจะเป็นยังไง Transition วึบวับทางไหน จะเป็นหน้าที่ของ UX แล้วค่อยส่งต่อให้ UI จะลง Detail ทำให้เป็นรูปเป็นร่างขึ้นมา

พูดเลยว่าในไทย คนทำ UX เป็นอย่างถ่องแท้มีน้อยมาก นาทีนี้ที่บอกว่า Developer ขาดแคลน ขอบอกว่า UX นี่เรียกว่า Rare Item เลย ทั้งนี้เพราะ UX เป็นศาสตร์ที่กึ่งวิทยาศาสตร์ กึ่งศิลป์ กึ่งรสนิยม กึ่งจิตวิทยา กึ่ง Creative มีศาสตร์หลายด้านมาผสมกัน บ้างก็ฝึกฝนได้ บ้างก็เป็นพรสวรรค์ บางทีต้องไปศึกษาเรื่องโปรแกรมมิ่งอีก นี่คือสาเหตุที่ UX Design จึงหายาก เพราะเหมือนเป็นคนที่สมองสมดุลทั้งสองข้าง ทำได้ทั้งศาสตร์และศิลป์นั่นเอง

UX ไม่ได้จบแค่กำหนด Visual Design แต่ยังต้องทำการติดตาม Validate ผลด้วย เช่น A/B Testing เพื่อพัฒนา UX ให้ดีขึ้นเรื่อยๆ ดังนั้น UX จะไม่ได้แค่คุยกับ Designer อย่างเดียว แต่ต้องคุยกับโปรแกรมเมอร์ด้วยว่าจะต้องเก็บข้อมูลตรงไหนเพื่อเอามา Validate ภายหลังด้วย

นาทีนี้ที่พอเห็น UX ทั่วไปคือพวกที่ศึกษาตาม Guideline ตามหลักการมา จริงๆก็พอแล้วสำหรับทำแอพฯให้ดีได้ เพียงแต่อาจจะไม่มีอะไรใหม่หรือ Creative ขึ้นมาเท่านั้นเอง

UX Designer ถือว่าเป็นหน้าที่ที่สำคัญมาก หากจะทำแอพฯดีๆขึ้นมาสักตัว หา UX ไว้ด้วยครับ ไม่งั้นเตรียมรื้อแอพฯทั้งทำใหม่ n รอบได้เลย


3) User Interface (UI) Design

"จะทำยังไงให้แอพฯสวย"

ตั้งแต่เมื่อไหร่ไม่รู้ที่ความสวยของแอพฯไปสะท้อนรสนิยมของผู้ใช้ จนตอนนี้กลายเป็นว่า แอพฯไม่สวยคนไม่โหลด ยังไม่พอ ถ้าโหลดมาแล้วเปิดมาเห็นว่าไม่สวย คนลบทิ้งเลย จะเห็นว่าแอบสำคัญมากเพราะมันตัดสินตั้งแต่โหลดไม่โหลดและเริ่มใช้เลยทีเดียว ไม่ทันได้ขายอ่ะ ปิดการขายได้เลย (ปิดด้วยการขายไม่ออก)

ความจริง Designer สำคัญมากมานานแล้ว เพียงแต่ว่าแต่ก่อนคนไม่ค่อยให้ความสำคัญ สนใจเชิง Functional กันเยอะจัด แล้วก็ออกแบบตาม Design Guideline ของ OS ทำให้หน้าตาเหมือนกันทุกแอพฯ สุดท้ายแอพฯก็อยู่ในระดับ Average เท่านั้น ... หรือพูดอีกอย่างคือไม่โดดเด่น

ความสำคัญของ Design จึงเริ่มมากขึ้นเรื่อยๆเพื่อสร้างความแตกต่าง หน้าตาไม่ดาดดื่น เปิดมาแล้วรู้สึกหื่นกระหายอยากใช้อยากกดอยากจิ้ม ทำไมมันสวยงี้ ทำไมมันนุ่มงี้ ทำไมมันโอ้วจอร์จอย่างนี้!

นาทีนี้โลกพลิกแล้ว Functional กับ Design เป็นสิ่งสำคัญเท่ากัน ถ้า Design สวย คนจะเปิดใจ อยากลองใช้ อยากลองจิ้ม แต่ถ้าพบว่า Functional ไม่ได้ ก็ลบทิ้งอยู่ดี ดังนั้นต้องใส่ใจทั้งคู่ครับ อันนึงไว้ดึงดูด ส่วนอีกอันไว้ดึงรั้ง =)

เมืองไทยเป็นประเทศที่มี Designer เยอะ และเก่งสาดดดดดดด้วยนะ ขอชมเลย แต่พอจะหา Designer ที่ทำงานระดับอินเตอร์และมีรสนิยมแบบ Mass เข้าใจเรื่องมือถืออย่างถ่องแท้นี่มีน้อยมาก (แต่ก็ยังมีเยอะกว่า UX หลายเท่าตัว)

อย่างไรก็ตาม Designer จะมีเอกลักษณ์การลง Detail ที่ค่อนข้างเหมือนเดิม พอเวลาผ่านไปหน้าตาก็จะเดิมๆ อาจจะต้องลองหา Designer ไว้หลายๆคนเพื่อความหลากหลายของผลงาน (ถ้าทำหลายแอพฯ)

และ ... ถ้าเจอ Designer ดีๆ อย่าปล่อยให้หลุดมือเชียว หาที่ Skillful ยากจริงๆครับ

งบการจ้าง Designer ก็ค่อนข้างสูงอยู่นะ แต่ถ้าผลงานดี จ้างเถอะครับ คุ้ม

UI Designer กับ UX Designer ไม่จำเป็นต้องเป็นคนคนเดียวกัน แต่ก็สามารถเป็นคนเดียวกันได้เช่นกัน ถ้าสกิลได้ครับ


4) Developer

"จะทำยังไงให้แอพฯออกมาใช้งานได้ดี"

เอาหละ มาถึงขั้นตอนการลงโค้ดละ หลังจากข้อมูลผ่าน IA ขึ้นโครงด้วย UX ก็ถึงคราวเคราะห์ของ Developer ละ

อ๊ะ ... ทำไมไม่พูดถึง UI? ... ก็เพราะถ้าเรามั่นใจในทีมมาก ถ้าถึงขั้น UX Validate ผ่านแล้ว ก็ลุยทำได้เลยครับ ระหว่างที่เรา UI นั่งออกแบบอยู่ เราก็นั่งเริ่ม Dev ได้เลย พอ UI ออกแบบเสร็จค่อยเอามาตัดแปะอีกที อย่า Waterfall มันเสร็จไม่ทันกิน

หน้าที่หลักๆของ Developer คือการลงโค้ด เปลี่ยนสิ่งที่ออกแบบให้เกิดขึ้นจริงได้ และ "มีประสิทธิภาพ" และ ในเวลาที่กำหนด

ย้ำว่าต้องมีประสิทธิภาพด้วย เพราะคนจะทำให้มันใช้งานได้มีเยอะมาก แต่ที่จะทำให้มันได้ดีอ่ะมีน้อยมาก

สิ่งที่ Developer ต้องรู้และเข้าใจและทำตามสำหรับเราก็มีไม่เยอะ ประมาณนี้

1) แอพฯต้องไม่ Crash

2) ถ้าแอพฯ Crash เป็นหน้าที่ของ Developer ที่ต้อง Track ได้

3) เข้าใจ Multi Thread และ Don't Make Me Wait Rule ของ UX

4) Balance เป็นระหว่างประสิทธิภาพและเวลาที่ใช้ Dev

5) แอพฯต้องไม่ Crash

เมืองไทยหา iOS Developer ง่ายครับ แต่ Android Developer มีเยอะครับ แต่ ... ที่ทำได้จริงมีน้อยมากกกกกกกกกกกกกกกกกกกกกกกกกกกครับ

วิกฤติขาดแคลน Developer ก็ทำให้ตอนนี้แย่งตัวกันให้ควั่กเลย

แต่ให้เงินเดือน 30,000 ...

จึงเป็นวิกฤติต่อไป

และเนื่องจาก Developer หาได้ยากและโดนคนจ้างกดเงินแล้วกดเงินอีก Developer จำนวนมากก็เลยหันไปพึ่งพิง Hybrid เช่น PhoneGap ซึ่งง่ายกว่ามาก แต่จนถึงตอนนี้ก็ยังมีปัญหาเรื่องประสิทธิภาพ ผลก็เป็นลูกโซ่ตามกันมาเพราะแอพฯออกมาใช้งานได้ไม่ดี แล้วก็ทำใหม่ ...

หากคุณจะเป็นคนจ้างทำแอพฯสักตัว ถ้าอยากได้ดีๆและใช้นานๆ ... อยากให้พิถีพิถันเลือก Developer ที่ทำ Native นะครับ อะไรๆมันต่างกันเยอะมาก

และหากคุณเป็น Mobile Developer อย่าพึ่ง Hybrid มาก จงลงมา Native โอมมมม จงลงมา จงลง ...


5) คนคอยห้ามปราม Developer

"จะทำยังไงให้ Developer Launch ตรงเวลา"

เออ Developer ชอบทำงานเสร็จแล้วรู้สึกยังไม่ดีพอ จะทำใหม่ทำใหม่ หาคนคุมด้วย ... นะ ! 555


6) คนเขียน Test Case

จะทำยังไงให้แอพฯเป็นไปตามที่ออกแบบ

จริงๆก็แล้วแต่รสนิยม Flow การทำแอพฯ แต่ส่วนตัวแล้ว Test Case ถือเป็นสิ่งสำคัญมาก

ควรเขียน Test Case ให้ครบถ้วน เพื่อให้ทำงานตรงตามต้องการทุกฟังก์ชั่นและเพื่อไม่ให้เกิด Error ที่ไม่ควร

ยกตัวอย่างเช่น Input Validation หน้า Login ถ้าไม่กรอก Username ก็ควรไม่ให้ผ่าน บลาๆๆๆ

เรื่องพวกนี้เนี่ย พูดแทนโปรแกรมเมอร์เลยว่าตอนทำงานก็สมองวุ่นวายพอแล้ว จะให้นั่งคิด Test Case เองด้วยยังไงก็ไม่ครบหรอก ควรจะให้คนสมองโล่งๆ เห็นภาพรวมของแอพฯ เป็นคนเขียน Test Case ขึ้นมา แล้วส่งให้โปรแกรมเมอร์ไปทำ

กระบวนการ TDD จะช่วยให้ทุกอย่างเป็นไปตามคาดหวังและไม่ต้องมานั่งรื้อใหม่ตอนหลัง


7) Tester หัตถเทวะ

จะทำยังไงให้มั่นใจได้ว่าแอพฯไม่พัง

Tester ตรงนี้รวมทั้งตาม Test Case และจาก User ทั่วไปด้วย พยายามหาพวกหัตถเทวะ จับห่าอะไรก็พังหมด พวกนั้นอ่ะเอามานั่งจิ้มแอพฯซะ Crash เมื่อไหร่ก็แก้ให้เรียบร้อย

และจำไว้อย่างนึงว่า กระบวนการ Test ไม่ใช่ทำหลังจาก Dev เสร็จ แต่ต้อง Dev ไปเทสต์ไป ไม่งั้นจะเกิดปัญหาระยะยาวได้ กว่าจะแก้หมดก็เสียทั้งเวลาและเงินตรา

กลุ่มชักใย

ส่วนที่นอกเหนือจากกลุ่มพัฒนา แต่ก็เกี่ยวข้องกับความสำเร็จของแอพฯด้วย จะขอพูดสั้นๆละกัน มีดังต่อไปนี้

1) Visioned Project Owner

Project Manager ที่เข้าใจว่าแอพฯมือถือเค้าทำอะไรกัน ผู้ใช้เป็นใคร

มีเยอะมากที่อยากยัดทุกอย่างไว้ในแอพฯ ... นั่นแหละ ต้นเหตุให้แอพฯไม่สำเร็จเลยหละ

หาก Project Owner ยังไม่เข้าใจ ถึงจะได้ทีมพัฒนาที่เจ๋ง มีประสิทธิภาพ ก็ไม่ช่วยอะไร

และสิ่งที่ผมว่าสำคัญสำหรับ Characteristic ของ Project Owner คือ

(1) ต้องไม่ Conserative - ถ้าเจอคนกลุ่มหัวโบราณ ไม่เข้าใจและไม่ยอมรับอะไร ก็ยากที่จะทำให้แอพฯออกมาเข้าใจโลกยุคใหม่ได้ เปลี่ยน Project Owner ที่เข้าใจก็ดีครับ

(2) ต้องไม่ Geek - ที่เจอมา Project Owner ที่เป็น Geek จะสนใจ Functional มากเกินไป แต่ไม่ค่อยเข้าใจลูกค้า หา Project Owner ที่ไปคุยกับลูกค้าเยอะๆครับ จะได้แอพฯที่ดีออกมา

อย่างไรก็ตาม จะ Geek หรือ Conservative ก็ได้ ถ้าเชื่อว่าตัวเองทำได้


2) App Store Manager

App Store เป็นแหล่งกระจายแอพฯที่มีประสิทธิภาพสูง แต่ไม่ใช่ว่าอัพโหลดแอพฯขึ้นไปแล้วจบ กระดิกเท้ารอเดี๋ยวก็ได้ล้านโหลด ไม่จริง !!

หากโฟกัสที่ App Store อย่างเดียว มีศาสตร์และศิลป์ที่ต้องใช้ในการ Manage App Store ด้วย เช่น

1) เป็นคนคุมระยะเวลาการอัพเดตแอพฯ - แอพฯที่ไม่ยอมอัพเดตคือแอพฯที่มีโอกาสตายสูง แก้บรรทัดเดียวแล้วอัพเดตก็ยังดี

2) เป็นคนที่รู้ว่า App Store แต่ละที่มี Algorithm การขึ้น High Ranking ได้ยังไง - Step การโปรโมทแอพฯ ต้องโปรโมทภายในกี่วัน ยอดโหลดเท่าไหร่ถึงจะขึ้นอันดับ 1

3) ทำ App Store Optimization (ASO) เป็น - จะทำยังไงให้คนหาแอพฯเจอแบบ Organic และในบรรดาแอพฯแบบเดียวกัน ทำไมเค้าต้องโหลดแอพฯเรา

4) รู้วิธีการเขียน Description - รู้ว่าในแต่ละ Store มีคนอ่าน Description กี่บรรทัด บรรทัดแรกๆควรจะเขียนอะไร What's New ควรเขียนอะไร การใส่มั่วๆเละๆ ไม่ส่งผลดีใดๆเลย และ ... อย่าให้โปรแกรมเมอร์เขียน ไม่งั้นจะได้ลิสต์ของฟังก์ชั่นไว้ใน Description ...

5) รู้แนวทางการทำ Screenshots - Screenshot สวยๆ ส่งผลมากต่อการโหลดของผู้คน เป็นเรื่องละเอียดอ่อนอีกเรื่อง แอพฯเราใหญ่โต แต่สามารถเลือก Screenshot ลงได้แค่ไม่กี่หน้า จะเลือกหน้าไหน? อันไหนขึ้นอันแรก? ยังไม่พอ แอพฯบางจำพวก(เช่นเกม) ไม่ใช่แค่ Capture จอแล้วจบ แต่ยังมีการแต่งให้ดูน่าโหลดยิ่งขึ้น เพราะบางทีคนไม่อ่าน Description ก็ได้เห็นรายละเอียดการใช้งานบน SS แทน

อย่างไรก็ตาม การทำ Online/Offline Marketing ก็เป็นส่วนสำคัญเหมือนกัน แต่ User Acquisition Cost (UAC) ต่างกันแน่นอน


3) App Store Designer

อย่างที่บอกด้านบนว่า Screenshots นี่เป็นสิ่งที่สำคัญมากๆ ควรหา Designer ที่เข้าใจการทำ Screenshots ที่เหมาะสมด้วย


4) Marketing

App Store ก็เหมือนร้านค้า การจะเรียกให้คนเข้าร้านก็อาจจะขึ้นโฆษณาบนรถไฟฟ้าก็ได้ ถือเป็นการลงทุนกับ Growth แบบหนึ่ง อันนี้แล้วแต่ศรัทธาและกำลังเงินของแต่ละบริษัท

อย่างไรก็ตามจำไว้อย่างนึงว่า

Marketing เป็นเหมือนการป่าวประกาศ หากผลงานดีคือการเรียกคนเข้ามาชม หากผลงานไม่ดีก็คือการเรียกคนเข้ามาร่วมด่า

ทำ Marketing เมื่อพร้อมนะจ๊ะ


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

ดังนั้น ... คงจะพอเข้าใจกันแล้วว่าต้นทุนการทำแอพฯแต่ละตัวมันไม่ใช่น้อยนะๆ ไม่แปลกใจที่แอพฯในไทยเกิน 80% เป็นแอพฯที่ไม่ดี ก็เพราะไม่ยอมลงทุนนั่นเอง ถ้าจะทำแอพฯดีๆ เตรียมเงินไว้ขั้นต่ำหลักแสนครับ แต่ถ้ามีงบไม่ถึงก็ตามยถากรรมแหละ จริงๆนะ

หรือถ้าจะฟอร์มทีมทำแอพฯของตัวเอง ให้ชัวร์นะว่ามีครบทุกสกิล สำคัญหมดครับป๋ม ^^

จบจ๊ะ ... ไม่ค่อยมีรูปนะบล็อกนี้ ToT

บทความที่เกี่ยวข้อง

Oct 20, 2014, 20:41
16658 views
[Geek] Best Practices ของการทำ Push Notifications บนแอนดรอยด์
Oct 25, 2014, 14:01
37650 views
[Geek] nonce, Signature และ https สามข้อพื้นฐานของการทำ API ฝั่ง Server
0 Comment(s)
Loading