รวม 5 ขั้นตอนการพัฒนาแอปพลิเคชัน ที่จะทำให้แอปของคุณประสบความสำเร็จในวงการธุรกิจ

         หลายๆ ท่านคงกำลังสนใจเกี่ยวกับการพัฒนา mobile app เอาไว้ใช้กับธุรกิจของท่าน ไม่ว่าจะเป็นแอพ Custom หรือ แอพเช่าใช้ ก่อนที่ทุกท่านจะลงมือจ้าง หรือลงมือทำแอพนั้น วันนี้ผมจะพาทุกท่านมารู้จัก Process การทำงานในการพัฒนา product ว่ามีขั้นตอนอย่างไรบ้าง
สิ่งสำคัญที่ขาดไม่ได้นั่นคือ IDEA

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

         ในส่วนของขั้นตอนต่อไปจะเป็นการวิเคราะห์ว่า ทำไมปัญหาในส่วนนี้ยังมีอยู่ แล้วทำไมไม่มีใครสร้างแอปมาแก้ปัญหานี้ไปตั้งนานแล้ว คุยกับคนอื่นเรื่องปัญหานี้ เอาตัวเองเข้าไปอยู่ในโลกของปัญหานี้ให้มากที่สุด หลังจากเข้าใจปัญหาอย่างถ่องแท้แล้วก็เริ่มคิดว่า mobile app มาแก้ปัญหานี้ได้อย่างไร ตรงส่วนนี้ถ้าเรามีความรู้เรื่อง technical ว่า mobile app ทำอะไรได้บ้าง จะช่วยได้เยอะมาก จะช่วยให้เราลดปัญหาในการคิด และมุ่งสู่ process งานได้ง่ายมากขึ้น

โดยวันนี้ผมจะมี 5 ข้อง่ายๆ ดังนี้

         ขั้นตอนสำคัญที่หากคุณกำลังจะทำแอปพลิเคชัน ห้ามพลาดขั้นตอนนี้เด็ดขาด

1. Planning

planning

         1.1 วิเคราะห์คู่แข่ง

         ขั้นตอนแรกในการวางแผนที่เราจะทำแอปพลิเคชัน ขั้นตอนแรกเราควรจะวิเคราะห์คู่แข่งก่อน ดูลักษณะแอปคู่แข่ง ไม่ว่าจะเป็น Feature การวางโครงสร้าง หรือ UX/UI และยังมีส่วนอื่นๆ ที่เราควรดูอีกเช่น

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

         1.2 การหารายได้

         วิธีหารายได้มีหลายแบบ เช่น in-app purchases, subscription รายเดือน, freemium/premium feature, ติดโฆษณา, ขายข้อมูล หรือโมเดลสามัญคือเป็น paid app จ่ายก่อนโหลด ดังนั้นกระบวนการหารายได้ก็เป็นอีกกระบวนการหนึ่งที่เราควรจะคิดไว้ล่วงหน้า เพราะมีหลายๆ บริษัทได้ทำไป แล้วพึ่งจะกลับมามองรายได้จากแอพ ซึ่งบางครั้งก็จะสายเกินไปเสียแล้ว

         1.3 การตลาด

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

         1.4 Road Map

         ขั้นตอสุดท้ายของการวางแผน คือการวาง Roadmap นั่นเอง คือขั้นตอนที่ทำให้ทุกคนในทีมเข้าใจว่าแอปที่สร้างเสร็จจะเป็แนบบไหน และต้องการอะไรบ้างเพื่อที่จะให้แอปสำเร็จ และประสบความสำเร็จในวันแรกของการปล่อย ต้องเตรียมอะไรบ้าง มีจุดไหนที่ควรระวังหรือเพิ่มบ้าง ซึ่ง product นี้เราจะเรียก product เวอร์ชั่นนี้ว่า Minimum Viable Product (MVP) ในขั้นตอนนี้เราจะเขียนทุกสิ่งทุกอย่างที่เราอยากให้แอปของเราทำได้ และอะไรที่เราสามารถเพิ่มไว้ทีหลังได้บ้าง โดยที่เราจะเน้นฟีเจอร์เด็ดๆ ที่สำคัญก่อน เอามาเรียงลำดับความสำคัญ ดูว่าอะไรคือหัวใจหลัก และมีประโยชน์ต่อผู้ใช้งาน และดึงดูดให้ผู้ใช้งานของเรามาใช้แอปของเราได้

         ขั้นตอนสุดท้ายของการวางแผนก็คือการวาง Roadmap ขั้นตอนนี้คือการทำให้ทุกคนในทีมเข้าใจว่าแอปที่สร้างเสร็จจะเป็นแบบไหน และต้องการอะไรบ้างเพื่อที่จะประสบความสำเร็จในวันแรกของการปล่อย product ซึ่งเราเรียก product เวอร์ชั่นแรกนี้ว่า Minimum Viable Product (MVP) ในขั้นตอนนี้เราจะเขียนทุกสิ่งที่เราอยากให้แอปทำได้ แล้วเอามาเรียงลำดับความสำคัญ ดูว่าอะไรคือหัวใจหลัก อะไรทำให้ดูดผู้ใช้งานมาเริ่มใช้ของเราได้ และอะไรไว้เพิ่มที่หลังก็ได้ ถ้าบางอย่างเราคิดว่าผู้ใช้น่าจะอยากได้ พวกนั้นสมควรเอาไปทำหลังๆได้เลย เพราะหลังจากเราได้ผู้ใช้มาระดับนึงกับ MVP เราสามารถรู้ได้ดีขึ้นว่า feature ต่อไปควรทำอะไรจาก feedback ว่าผู้ใช้อยากได้จริงๆ และพวก analytics ที่เราติดไว้ก็มีส่วนช่วยมากๆ


2. ออกแบบ

ออกแแบบ

         2.1 ออกแบบ UX

         ออกแบบโครงสร้างข้อมูล

         การออกแบบโครงสร้างข้อมูล เป็นอีกหนึ่งขั้นตอนที่สำคัญ เพราะว่านอกจากจะคิดว่าแอปเราทำอะไรได้บ้าง ยังต้องคำนึงถึงแอป ว่าแอปเราจะแสดงข้อมูลอะไรบ้าง โดยหลักๆแล้ว เราจะลิสออกมา ว่าแอปมี Feature อะไร ทำอะไรได้บ้าง แล้วต้องแสดงข้อมูลหน้าไหนของแอป จากนั้นเราก็จะมาสร้างเป็น Wireframe ซึ่งจะพูดถึงในข้อถัดไปนั่นเอง

         Wireframe

         ขั้นตอนนี้เป็นขั้นตอนสำคัญ ที่สามารถ Adapt เข้ากับหลายๆ แผนกในบริษัท ซึ่งก็คือการทำ Wireframe เราจะเริ่มสร้างแต่ละ screen และกำหนดการทำงานของข้อมูลที่จะแสดงในแต่ละหน้าในแอป และทำสคัญต้องทำให้แน่ใจว่า ข้อมูลนั้น ถูกต้อง โดยการทำ Wireframe นั้นควรจะเริ่มในกระดาษเพราะว่ามันจะต้องแก้เยอะ และแก้บ่อย และที่ลงกระดาษนั้นสามารถทำให้มันแก้ได้ง่ายๆ นั่นเองดีกว่าไปแก้ระหว่างทาง ซึ่งบางครั้งการแก้ระหว่างทาง อาจถึงขั้นพับโปรเจค มาทำใหม่ ก็มีกันเลยทีเดียว เพื่อที่เราจะไม่ให้เกิดเหตุการแบบนั้นขึ้น เราจะต้อวทำ Wireframe และ Sketch ลงกระดาษเพื่อให้ราสามารถปรับเปลี่ยนในส่วนต่างๆ ได้ง่าย และในเมื่อเราได้ทำการทำ Wireframe เสร็จเรียบร้อยแล้ว เราก็จะมาถึงขั้นตอนอีกขั้นตอน คือการสร้างแอป Workflow กัน

         Workflows

         Workflow คือเส้นทางที่ user สามารถไปเล่นในแอปของเราได้ ทุกๆ อย่าง หรือตำแหน่งต่างๆ ที่เราอยากให้ user ได้ทำการกระทำ และได้เห็น จะต้องใช้กี่คลิกเพื่อที่จะทำมันได้สำเร็จ และที่สำคัญต้องทำให้ทุกการกระทำนั้น User สามารถกระทำได้อย่างง่ายดาย โดยที่ผู้ใช้จะต้องไม่งง เราจะได้เห็น Journey ของ User แต่ในบางอย่าง ในการกระทำง่ายๆ ก็ไม่ควรต้องใช้หลายคลิกเกิน ดังนั้นเมื่อเราทำ Workflow ออกมาเราก็จะเจอปัญหาใน workflow ที่ต้องแก้ไข และต้องกลับไปอัพเดท wireframe อีกครั้งนึง และก็ลองใหม่ด้วยการเทสทุก flow ตั้งแต่ต้น เพื่อให้มั่นใจว่าการแก้ flow นี้ให้ง่ายขึ้น ไม่ได้ทำให้อีก flow ยากขึ้นแทน

         Click-through model

         Click-through model จะช่วยให้เราทดสอบ Wireframe และ Workflow ได้ง่ายขึ้น โดยจะให้ user ได้ทดลองเหมือนใช้งานแอปจริงๆ โดย user จะได้รับ link อันนึง เมื่อเปิดบนมือถือ user จะสามารถคลิกที่ปุ่มต่างๆ และเปิดไปยังหน้า wireframe ต่างๆ ตาม workflow ที่เราออกแบบไว้ได้เหมือนแอปจริงๆ ในขั้นตอนนี้จะยังไม่มีการทำงานใดๆ ทั้งสิ้น เป็นแค่รูปภาพของแต่ละหน้าเพื่อทดสอบ navigation (การนำทาง) ของแอป เมื่อเราเจอปัญหาที่หน้าไหน ก็แก้ wireframe หน้านั้น และทดลอง​ Flow ใหม่จนกว่าจะพอใจ tools ที่ใช้ได้ก็มี invision, sketch, adobe xd เป็นต้น

         2.2. ออกแบบ UI

         Style Guide

         Style Guide หรือที่เรามักจะได้ยินกันบ่อยๆ ว่า UI Kit เป็นเหมือนต้นแบบสิ่งต่างๆ ภายในแอป การมี Style ที่ชัดเจนจะช่วยให้ User ไม่งง และยังช่วยเพิ่มโอกาสในการกดคลิกอีกด้วย และที่สำคัญควรจะวางแผนและทำ Testing มาให้ดีๆ เพราะการเลือกใช้สีนั้น ก็เป็นสิ่งสำคัญในการที่จะทำให้ User กดเช่นกัน

         การกำหนด Style Guide หรือ UI Kit ต้องดูด้วยว่าลูกค้าหรือผู้ใช้งานของเราเป็ฯใคร แอปจะใช้เวลาไหน กลางวันหรือกลางคืน ซึ่งส่วนต่างๆ สำคัญในการออกแบบนั้นมีหลายอย่างเช่น สี, fonts, และ widget เช่น ปุ่ม, ฟอร์ม, label ที่จะเอามาใช้ในแอปเราทั้งหมด

         Rendered design

         ขั้นตอนนี้คือการเปลี่ยน Wireframe ในกระดาษของเราให้เป็นแอปเสมือนจริง โดยเราจะนำ Style Guide ที่เราได้ออกแบบไว้เมื่อขั้นตอนที่แล้วมาอ้างอิง ในทุกจุด และถ้าหากมีจุดไหนต้องการเพิ่ม ทางเราเองก็แนะนำว่าควรจะอัพเดตใน UI guide ด้วย

         Rendered click-through model

         หลังจากที่เราได้หน้าตาแอปจริงของเรามาทั้งหมดแล้ว ให้เรากลับมาทำ Click Through Model อีกครั้ง โดยในขั้นตอนนี้อาจจะใช้เวลามากหน่อย เพื่อให้เราแน่ใจว่าจะไม่มีการแก้ไขใหญ่ๆ อีกแล้ว เพราะหลังจากขั้นตอนนี้ การเปลี่ยนอะไรบางอย่าง จะมี Cost ที่สูงมาก ทั้งราคาแพง และใช้เวลาที่นานขึ้น เพราะเราได้ผ่านกระบวนการหลายขั้นตอนมาแล้ว โดยทางแอดมินแนะนำว่าให้เราตรวจสอบขั้นตอนนี้ให้ดีที่สุด เพื่อที่เราจะสามารถสร้างแอปได้ไว และไม่มีค่าใช้จ่ายที่บานปลายนั่นเอง

         เมื่อเรา Design เสร็จแล้ว ต่อไปก็เข้าสู่ขั้นตอน Development

         หลังจากที่เราใช้เวลา และพลังไปอย่างมากในการออกแบบว่าแอปจะมีหน้าตาแบบไหน UX/UI อย่างไรแล้ว ขั้นตอนต่อไปนี้จะจำเป็นอย่างมากที่จะทำให้ Dev team เข้าใจใน Vision ที่เราวางไว้ ให้เข้าใจตรงกัน หลายๆ องค์กรได้มาพังกันตรงนี้ เพราะเหตุผลหลายๆ อย่าง เช่น ขาดการประสานงานระหว่างทีม Dev และ Design บางครั้งอาจจะสื่อสารไม่เข้าใจกัน โดยทางแอดมินจะแนะนำ Tools ที่นิยมใช้กันคือ Zeplin ( ที่ GetLinks ใช้กันอยู่) โดย Designer จะเป็นคนอัพโหลด design ขึ้นไป แล้วหลังจากนั้นทีม Dev สามารถนำ Style Guide มาใช้ได้เลย โดยที่ทีม Dev ไม่ต้องมานั่งเสียเวลาเดา Dimension ค่าสี Hex และตำแหน่งการจัดวางบนหน้าจอ โดยทีม Dev สามารถพัฒนา pixel-perfect แอปจาก Design ได้ทันที


3. เขียน code

เขียนโค้ด

         3.1 เลือก Tech stack ให้ดีมีชัยไปกว่าครึ่ง

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

         ฝั่ง Front-end

         ในการทำ mobile app มี 3 ทางเลือก

         โดย Native ที่ทำแอป ต้องแยกแต่ละ platform ไม่สามารถ reuse code ระหว่างกันได้ วิธีนี้ทำให้ปรับแต่งได้สูงสุด UI เป็นของ platform นั้นๆ ได้ 100% โดยตัวแอปจะมีความเร็ว และมีประสิทธิภาพสูง เป็นวิธีที่แพงที่สุด เพราะต้องทำแต่ละ platform ใหม่ทั้งหมดนั่นเอง โดยจะใช้เวลามาก แต่แลกด้วย Perfect platform นั่นเอง

         Cross-platform เป็นเทคโนโลยีที่มี code บางส่วนหรือทั้งหมดแชร์กัน เชื่อมกัน แต่ก็ยัง build ไปรันเป็น Native เช่น React Native, Xamarin เป็นอีกวิธีที่หลายๆ คนเลือกกัน โดยจะได้ทั้งความเร็ว แต่ประสิทธิภาพก็จะลดลงมานั่นเอง

         Hybrid เป็นวิธีที่ใช้เทคโนโลยีของ Web โดยจะมีประกอบดังนี้ (HTML, CSS, Javascript) และ install ผ่าน native wrapper เช่น Cordova, Phone Gap, Ionic วิธีนี้อาจจะราคาถูกสุด แต่แอปออกมาคุณภาพค่อนข้างต่ำ และช้ามาก ผมแนะนำให้หลีกเลี่ยงวิธีนี้จะดีกว่า

         ฝั่ง Back-end (Web API & Server) โดยหลักๆ แล้ว Server มีผลอย่างมากกับประสิทธิภาพของตัวแอป และ Scale จำนวนผู้ใช้ที่แอปรองรับได้ มีสิ่งที่ต้องตัดสินใจก่อนจะเริ่มเขียน code จะมีดังนี้

         ภาษา Java, C#, Go-lang, Javascript, PHP, Python, Ruby แต่ละภาษาก็จะมี framework ที่ช่วยในการเขียนของตัวเอง

         Database โดยหลักๆ แล้วจะมี 2 ประเภทหลักๆ SQL และ noSQL SQL เป็นของดั้งเดิมที่มักจะเป็นทางเลือกที่ดีที่สุดในแทบทุกกรณี มีหลายยี่ห้อให้เลือก เช่น MSSQL, MySQL, PostgreSQL เป็นต้น โดย noSQL มักใช้ในสถานการณ์ที่ต้องการเก็บข้อมูลปริมาณมหาศาลมากๆ หรือไม่มีการแก้ไขข้อมูลเดิมบ่อยๆ นอกจากการเลือก database ให้ดีแล้ว แล้วยังมีเรื่องของการออกแบบ schema ว่าจะเก็บข้อมูลอย่างไร การวาง data structure ซึ่งการออกแบบที่ดีจะส่งผลต่อความสำเร็จในระยะยาว ดังนั้นในขั้นตอนนี้ต้องมั่นใจว่า database ได้ออกแบบไว้อย่างดี และรองรับอนาคตนั่นเอง

         Hosting environment (Infrastructure) เลือกว่าจะ host server เราไว้ที่ไหน ที่ไหนปลอดภัย ที่ไหนเสถียร ตัดสินใจจากราคา ความสามารถในการขยายสเกล ความสามารถที่ทำได้ บริการเสริม การใช้งานง่าย ประสิทธิภาพ และความสเถียร มีหลายเจ้า เช่น AWS, Google Cloud, Heroku, Azure นอกเหนือจากนั้นเรายังต้องวางแผนเผื่อการสเกล เมื่อจำนวนผู้ใช้เพิ่มมากขั้น Cloud-base ทำให้เราสามารถจ่ายเงินเพื่อเพิ่มหรือลดได้ตามความจำเป็น นอกจากนี้ยังมีบริการเสริมที่จะมาช่วยตอบโจทย์การทำแอปของคุณได้ เช่น backup database, server uptime, update os และอีกมากมาย

         3.2 Agile development process

         คือการทำ milestone หรือที่เราคุ้นชินกันคือการแตกย่อยงานที่ต้องพัฒนาทั้งหมดออกมา ให้เล็กลง โดยเราจะเริ่มพัฒนาแอปของเราเป็นรอบๆ แล้ววน Loop ไปเรื่อยๆ โดยหลักๆ แล้วในแต่ละรอบจะมีการวางแผน, พัฒนา, การ Test และ Review ไปด้วยในแต่ละขั้นตอน
การวางแผน

         เราจะวางแผนออกแบบ และแบ่งงานออกมาเป็นลิสต์ย่อย ของแต่ละ Task โดย code ในรอบ Iteration นี้ แต่ละ Task จะต้องมี Reqirement ที่จัดเจน โดยเมื่อ Dev รับ Reqirement และประเมิณเวลาเรียบร้อยแล้ว ก็จะกระจายงานกันทำในแต่ละ sprint
โดย Dev จะเริ่มวางแผนและเขียน Solution เพื่อมาแก้ปัญหาในแต่ละ ​Task โดย developer เก่งๆ จะหาทาง Resue Code ทั้งแอปมาให้ได้มากที่สุด เช่นพวก Style หรือ Fuction ต่างๆ ที่ใช้ร่วมกันได้ ถ้าหากมีการเปลลี่ยนแปลงหรืออัพเดต ก็จะสามารถอัพเดตได้ทั้งหมด ไม่ต้องมาไล่แก้ทีละจุด

         การพัฒนา

         โดย Dev จะเริ่มทำการ code ตาม Requirement ที่ได้รับมอบหมายมา โดย dev ทุกคนต้องเข้าในและเห็น vision ในแอป ว่าจุดประสงค์ของแต่ละ task นั้นทำไปเพื่ออะไร ถ้าหากทีม dev มองเห็นแล้วว่าไม่ถูกต้อง ต้องรีบมาแจ้ง PM ทันทีเพื่อหาทางออกของ Task นั้นๆ และเมื่อเสร็จก็จะ development version ให้ Tester ได้ทำการ Test

         การเทส

         ในการทำเทสควรทำโดยคนที่ไม่ใช่ developer ที่ Coding แอปนี้ขึ้นมา เพราะทาง dev จะรู้อยู่แล้วว่าตรงไหนทำอะไรได้บ้าง บางทีการที่คนทำ test ด้วยตัวเองนั้น อาจจะไม่เจอสิ่งที่ User จริงๆ ต้องการก็เป็นได้

         Functional Test คือการ Test ว่า Feature นี้สามารถทำงานได้ปกติ และถูกต้องตามที่เราออกแบบมาไว้หรือไม่หรือถูกต้องตาม Reqirement หรือไม่ โดยทีม QA จะมีการ Test case, Action Step และผลลัพธ์ที่คาดหวังว่าจะให้มันเกิดขึ้นเมื่อ User มาใช้งานนั่นเอง

         Usability Testing คือการเทสว่าผู้ใช้จะไม่งง และง่ายพอมั้ยสำหรับ User ตอนเทสควรเป็นคนที่เคยเห็นแอปครั้งแลก และจำลองว่าเขาเพิ่งเริ่มจะใช้จริงๆ โดยเราต้องกำหนด Target Group มา Test เล่าถึง Background คร่าวๆ และเริ่มการ Test​​โดยที่ไม่แนะนำการใช้ และหลังจาก Test เสร็จก็จะถาม Feedback เพื่อทำการพัฒนาในขั้นตอนต่อไป

         Performance Testing คือการเทสศักยภาพของแอป ถ้าหากแอปเราใช้เวลานานในการเปิดมากๆ ต่อให้แอปของเราจะมาจาก Silicon Valley ก็คงจะไม่มีใครใช้ การเทส Performance ต้องทำการปล่อยให้ User จริงใช้ ซึ่งการเทสนั้นจะช่วยให้เราสามารถปรับเปลี่ยนได้ง่าย ดีกว่าปล่อยไปแล้ว แล้วมีคนใช้แล้วลบทิ้ง ซึ้งคนที่ใช้แล้วลบทิ้งอาจจะไม่กลับมาหาแอปคุณอีกเลยนั่นเอง

         Regression Testing คือการ Test Feature ที่เคยทำเสร็จและผ่านการเทสไปในแต่ละ sprint ที่ผ่านๆ มา เพราะการทำงานในแต่ละ sprint นั้น อาจจะส่งผลกระทบต่อ Feature เก่า ทำให้เกิดโอกาสในการมีข้อผิดพลาดค่อนข้างสูง ดังนั้นสิ่งสำคัญเลยของการทำ Testing เพื่อไม่ให้เกิดความผิดพลาด เราควรจะมี List ของ Test case เพื่อมาเทสของ sprint ที่ผ่านไปแล้วด้วย

         Device-Specific Testing คือการเทสบนหลายๆ Screen Size หลายๆ ​Device รวมถึง OS version หรือ Browser ซึ่งมีหลายเครื่องมือที่จะช่วยจำลองหลายๆ รุ่นได้

 

         sprint รีวิว/retrospective สิ่งสำคัญที่หลายๆ บริษัทมองข้าม

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

         Beta testing

         โดย Beta test หรือ Beta launch เราจะทำก็ต่อเมื่อแอปเราเสร็จเรียบร้อยแล้ว โดยจะทำการ beta launch คือการให้ผู้ใช้งานกลุ่มเล็กๆ ใช้งานจริง สถานการณ์จริงเหมือนแอปของเราหลังจากที่เราได้มีการ launch ไปแล้วนั่งเอง ส่วนใหญ่กลุ่มนี้มักจะเป็นกลุ่ม power user, early adopter หรือลูกค้าที่ชอบเราเป็นทุนเดิม ในขั้นตอนนี้เราจะได้ข้อมูลที่หลากหลายอย่างมาก ที่จะช่วยให้เรามาพัฒนาจุดบอด ก่อนการ launch จริงได้ ซึ่งการทำ Beta testing จะช่วยลดปัญหาหลังจากเราปล่อยแอปออกมาจริงๆ หลังจาก Beta testing แล้วแก้ปัญหาที่พบไปจนหมด และไม่มีปัญหาใหม่ๆ รายงานมาอีกแล้ว ก็เริ่ม step ต่อไปได้


4. Launch App

Launch App

         โดยทั่วไปการปล่อยแอปจะมีอยู่หลักๆ 2 ส่วนที่สำคัญ ที่เราต้อง deploy ก็คือ web server กับ client ที่ไว้บน Google Play หรือ Apple Store นั่งเอง

Web API (Server)

         ในสวนของ Web API คือการรับส่งข้อมูลและเก็บข้อมูลของ Mobile App ถ้า server โดนใช้งานหนักเกินไปหรือเกิดปัญหาระบบล่มขึ้นมา แอปก็จะไม่ทำงานไปด้วย ดังนั้นวิธีแก้ปัญหาจึงต้องมีเทคโนโลยีฝั่ง Sever โดยมีหลากหลาย Server มาก ตั้งแต่ Infra ไปจนถึง Programming ยกเว้นตัวอย่าง AWS, Google Cloud, Kubernetes, Docker, Node.js, RoR, etc.

การอัพโหลดขึ้น App Store

         การอัพโหลดขึ้น App Store เราต้องมั่นใจว่าแอปของเราได้ Config ถูกต้องสำหรับ Production แล้วหรือยัง โดยมีหลายขั้นตอนในการทำ และมีฟอร์มหลายอันที่ต้องกรอก ต้องทำ Screenshot และเนื้อหาสำหรับ Marketing ต้องเขียนคำอธิบาย และหลังจากนั้น Submit ขึ้นไป โดยฝั่ง Apple ก็จะมีการตรวจสอบที่ละเอียดกว่า Google Play อยู่ค่อนข้างมาก โดยปกติแล้วจะใช้เวลา 2-3 วัน แต่ในทางกลับกัน Google Play จะใช้เวลาไม่กี่ชั่วโมงเท่านั้น


5. สังเกตการณ์ และวัดผลอยู่เสมอ

สังเกตการณ์

         เมื่อเรา Submit App ขึ้นไปแล้ว งานของเรายังไม่จบเพียงเท่านี้ จะเป็นได้ว่าแอปดังๆ ทุกแอปจะมีลิสต์ของการอัพเดตยาวเป็นหาง ไม่ว่าจะเป็นการ แก้ Bug, เปลี่ยนฟอนต์ , เพิ่มฟีเจอร์ เพิ่มสิ่งต่างๆ การสังเกตการณ์นั้นสำคัญมากๆ เพื่อให้เรารู้ว่าต้องอัพเดตอะไรไปในแอพของเราบ้าง

Crashes

         มีหลายเจ้าหน้าที่ที่ Tracking App Crash ได้ Sentry, HockeyApp, Rollbar, Fabric ฯลฯ โดยที่สามารถดูได้ด้วยว่าก่อน crash user ทำอะไรอยู่หน้าไหน เครื่องรุ่นอะไร และข้อมูลอื่น ๆ และสามารถแจ้งเตือนแบบ realtime ผ่าน email/sms ได้ทันทีที่ crash

Analytics

         Analytics ใหม่ๆ สามารถ Track ข้อมูลที่ได้แทบทุกอย่างของ User ซึ่งจะทำให้คุณเข้าใจ User ได้มากขึ้น ว่า User คือใคร อายุ เพศ สถานที่ ภาษา และเค้าใช้งานแอปเรายังไง เวลาที่เล่น เวลาที่ใช้แอป หน้าที่ดี และไปจนถึงพฤติกรรมเช่น Heatmap หรือปุ่มไหนโดนคลิกเยอะที่สุด ใช้ข้อมูลตรงนี้ และดูว่าตรงไหนควรลงทุนลงแรงในอนาคต อย่าไปลงแรงกับส่วนที่ไม่ค่อยมีคนใช้ แต่ลงในส่วนที่มีความเป็นไปได้ว่าจะเกิดการเติบโตสูงที่สุด tool ที่ใช้ Facebook Analytics, Apptentive, Google Analytics, Appsee

Performance

         แอปของเรานั้นเปิดไวแค่ไหน ทำงานได้ไวแค่ไหน เราจะได้มาปรับปรุง พัฒนา ซึ่งการดู Performance จะช่วยให้เราเจอจุดที่ต้องปรับปรุง เราสามารถตั้ง Alert เมื่อเกิดเหตุการณ์บางอย่าง ที่ action นานกว่าปกติ เราจะได้เข้าไปดูว่ามันเกิดไรขึ้น ผิดตรงไหน โดย Tool ที่ใช้จะเป็น Prometheus, New Relic

App Store Management

         Rating Review ในแอป Store นั้นสำคัญมากๆ ทุกครั้งที่มีการ Review ใหม่ ต้องเข้าไปดูด้วย เพื่อเช็คว่าคนที่มารีวิวนั้นให้กี่ดาว ซึ่งหลายครั้งที่การ customer support แค่เล็กน้อยทำให้เค้าเปลี่ยนจาก 1 ดาวเป็น 5 ดาวได้ และบริการที่ดีก็ทำให้ชื่อเสียงเราดีตามไปด้วย

Further Iteration and Improvement

         เป้าหมายของการสังเกตการณ์ที่ดี คือเราจะได้รู้ว่าเราควรทำอะไรเป็นสิ่งต่อไปนั่นเอง เพราะถ้าเราเปิดให้คนใช้ และดูแลแอปนี้ไปสักพัก มันก็จะต้องมี feature ใหม่ๆ เพิ่มเข้ามาอยู่แล้ว ดังนั้นการพัฒนาเพื่อปรับปรุงให้ดีขึ้นไปเรื่อยๆ ใช้ข้อมูลจากผู้ใช้ และการ monitor แล้วเอาไปเข้า development process loop เพิ่ม conversion rate, install number, และรายได้ไปเรื่อยๆ
สรุป

         Application development process อาจจะดูเยอะและหลายขั้นตอน และมีการต้องตัดสินใจสำคัญๆมากมายระหว่างขั้นตอนนั้น แต่ถ้าทำออกมาได้ดีก็จะทำให้แอปประสบความสำเร็จไม่ยาก ดังนั้นหากผู้ประกอบการหลายๆ ท่าน หรือหลายๆ บริษัทต้องการทำแอปพลิเคชั่นเราขอแนะนำ บริษัท SC-Spark Solution  บริษัท รับทำแอป เป็นบริษัทที่รับทำแอพพลิเคชั่น ที่มากประสบการณ์ โดยมีประสบกาณ์โดยตรงจาก Silicon Valley เป็นบริษัทผู้พัฒนาแอปพลิเคชั่นมากกว่า 100 บริษัททั่วโลก ทั้งแบบ Custom และ สำเร็จรูปให้คุณได้เลือกใช้ หากใครสนใจ บริการทำโมบายแอพพลิเคชั่น หรือ เว็บไซต์ สามารถติดต่อได้ที่นี่

ติดต่อเราได้ที่

062-974-9495

Line : @scspark

Email : [email protected]

Facebook : SC-Spark Solution บริการทำแอปพลิเคชั่น


“Nothing is impossible”


 

ที่มา – tinyurl.com/2h94cpbs, – tinyurl.com/2ezs935t