เครื่องมือบริหาร Project สำหรับโครงการพัฒนาซอฟต์แวร์ขนาดเล็ก-กลาง ฉบับ 2012-2013

จาก เครื่องมือบริหาร Project ที่ใช้งานอยู่ตอนนี้ ที่เขียนไว้ในปี 2011 ก็ผ่านมาได้ปีกว่าๆ แล้ว แน่นอนว่าจากวันนั้นถึงวันนี้ก็มีการปรับเปลี่ยนการทำงานอยู่ตลอดเวลาเพื่อให้รับกับการเปลี่ยนแปลงใหม่ๆ ได้ สำหรับปี 2012-2013 นั้น ส่วนตัวแล้วมีการปรับเปลี่ยนการใช้เครื่องมือหลายๆ ตัวอยู่พอสมควร

ต้องขอปูพื้นก่อนสำหรับคนที่ไม่ได้อ่านตอนปี 2011 ว่างานหลายๆ ตัวและหลายๆ Project นั้นส่วนตัวแล้วนั้นทำงานร่วมกันหลายคน และมักจะมากกว่า 1 คนแน่นอน เพราะฉะนั้น การสื่อสารเป็นสิ่งสำคัญมากๆ บางครั้งต้องบันทึกช่วยจำต่างๆ มากมายเครื่องมือช่วยต่างๆ จึงจำเป็นอย่างมากในการอำนวยความสะดวก เพื่อไม่ให้ตกหล่น เพราะฉะนั้นลองมาดูว่าส่วนตัวผมนั้นใช้ส่วนไหนบ้าง

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

2. E-Mail
เป็นการใช้ในด้านการยืนยัน หรือแจ้งรับทราบร่วมกันเป็นกลุมเป็นหลัก ซึ่งปรกติจะใช้เป็นส่วนหนักในการคุยงาน สร้างหลักฐานร่วมของการทำงาน ในบาง Project ใช้อีเมลโต้ตอบกันไป-มาเยอะมากเพื่อสรุปและแจ้งรับทราบให้ทุกกรณีเพื่อไม่ให้ตกหล่น

3. IM

  • GTalks – ด้วยความที่ใช้บนระบบ Webbased ได้ด้วย ประกอบกับตัวอักษรล้วนๆ รวดเร็วไม่ต้องมีอะไรมากมาย จึงเหมาะมากๆ กับการโต้ตอบ ไป-มาระหว่างคนสองคน (แถมมี logging chat ด้วยสะดวกดี)
  • Windows Live Messenger – ตอนนี้รวมและย้ายไปใช้ Skype แทนแล้ว
  • Skype – ใช้คุยทั้ง Skype Account และ Microsoft Account (Windows Live Messenger) รวมไปถึงประชุมสายเพื่อลดต้นทุนการโทรศัพท์
  • Google+ Hangouts – ถ้าใช้ Skype สำหรับประชุมสายผ่านโทรศัพท์ ตัว Hangouts ก็เป็นส่วนของการประชุมสายผ่านทาง Webcam นั้นเอง
  • Line/WhatsApp/IM+ Pro – App สำหรับ Chat บนมือถือ เหมาะสำหรับเวลาติดต่อที่ต้องการความรวดเร็วกว่า Skype และ GTalks แน่นอนว่ามันติดอยู่กับโทรศัพท์มือถือ เพราะฉะนั้นจะค่อนข้างไวกว่าในการโต้ตอบ
  • Facebook Chat – ส่วนตัวแล้วเหมาะกับฝากข้อความเป็นหลัก ใช้แทน SMS ได้ดี และคนในทีมใช้ Facebook กันทุกคน เพราะฉะนั้นจึงเหมาะกับการฝากข้อความหรือเน้นย้ำมากกว่า

4. Project Sharing CodeBitbucket หรือ Github

จากปี 2011 มาปี 2012 นั้นในทีมได้ย้ายจาก Github ที่เป็นระบบ Project Sharing Code ที่มีผู้ใช้งานอยู่ทั่วโลก ได้รับความไว้วางใจาก Developer มากมาย มาใช้ Bitbucket ที่มีค่าใช้จ่ายด้านการบริหารจัดการ Project Sharing Code แบบ private ที่มีต้นทุนแปรผันตามขนาดทีมที่ใช้งาน ซึ่งประหยัดมากกว่าจำนวน Repositories แบบ Github ที่ผมต้องเสียเงินเพื่อเช่าใช้แบบ private เดือนละประมาณ $12/month อยู่ โดยปรกติแล้วทำงานกันจะเป็นทีมขนาดเล็ก เพราะฉะนั้นถ้าจำนวนคนใน Project ไม่เกิน 5 คนก็ไม่มีค่าใช้จ่ายต่อเดือนแต่อย่างใดสำหรับ Bitbucket ทำให้ประหยัดลงไปได้มาก มีอยู่หลายเดือนที่ต้องเสียเงินให้กับ Github มากกว่า $12/month เพราะมี Private Repositories มากกว่าที่กำหนดไว้ และถ้า Project ไหนจบแล้วก็ต้องลบออกทำเป็น copy source ไว้ด้านนอกเพื่อประหยัดพื้นที่ไว้สำหรับ Repositories ตัวต่อไป ซึ่งในทางการทำงานบางครั้งก็ไม่สะดวกถ้าเรามี Project ที่เราต้องดูแลต่อในอนาคตเราต้องกันพื้นที่ส่วนนี้เป็น Repositories ค้างไว้ ซึ่งแน่นอนว่าถ้าเราลดต้นทุนในส่วนนี้ได้ ก็ประหยัดลงไปได้พอสมควรเลย

หลายคนไม่ทราบว่า Bitbucket นั้นเป็นระบบที่รองรับ Git Version Control System แบบเดียว Github เช่นเดียวกัน ซึ่งเป็น Source Code Versioning แบบ distributed version control system โดยแต่ละคนไม่เพียงได้ข้อมูลล่าสุดของไฟล์งานต่างๆ เท่านั้น แต่ได้ทั้งมา Repository ไปด้วยเพราะฉะนั้นถ้า Server ตัวหลักมีปัญหา (ในที่นี้หมายถึง Server Bitbucket) ตัวเครื่อง Client ก็สามารถทำงานได้อยู่ พอ Server ตัวหลักกลับมาทำงานได้ปรกติก็จะสามารถส่ง Source กลับไปได้โดยข้อมูลที่แก้ไขไป-มานั้นยังคงอยู่และพร้อมให้ Server สามารถรับข้อมูลล่าสุดต่อไปได้ทันที เหมาะกับ Project ทุกขนาดที่ต้องใช้การแชร์ Source โปรแกรมมากกว่า 1 คนขึ้นไป เพื่อป้องกันการแก้ไขทับไปมาระหว่างคนในทีม ช่วยเรื่อง Backup และ Recovery ได้ดีมากๆ

ซึ่งแน่นอนว่าระบบเป็นแบบ Webbase เพราะฉะนั้นมันจึงมี Issue/Milestone/Version ที่ช่วยติดตามงานต่างๆ ได้ดีมากขึ้น โดยถ้าเป็นใน Github เราสามารถใช้ Label ได้อิสระ แต่ใน Bitbucket เราจะไม่สามารถกำหนด Label ได้ แต่กำหนดเป็น Kind ที่ตั้งค่ามาให้เรามาเลยโดยเพิ่มเติมไม่ได้อยู่ 4 แบบ คือ bug, enhancement, proposal และ task ซึ่งโดยรวมจริงๆ ก็เพียงพอสำหรับใช้งานอยู่แล้วตามรูปแบบทั่วไปที่ใช้ๆ กันอยู่แล้ว

สำหรับบันทึกช่วยจำนั้นใน Bitbucket ก็มี Wiki มาให้แบบเดียวกับ Github ส่วนใหญ่เอาไว้แจ้งข้อมูลทั่วไปพวก FTP, Databases Access หรือเอกสารของลูกค้าต่างๆ ที่เป็น Features หรือข้อตกลง เป็นหลัก ซึ่งรวมไปถึงคู่มือหรือการแก้ไขปัญหาต่างๆ ที่เกิดขึ้น

5. Documents/Spreadsheet (เอกสารแชร์กับลูกค้า)

จากเมื่อปี 2011 ที่ผ่านมาใช้ Google Docs ในปี 2012 ที่ผ่านมาเริ่มปรับเปลี่ยนมาใช้ Microsoft Office Web Apps มากขึ้นเรื่อยๆ เหตุผลง่ายๆ คือลูกค้าเข้าใจส่วนติดต่อ (UI) ของ Microsot Office มากกว่า แถมมีข้อดีคือสามารถเปิดเอกสารผ่าน Microsoft Office ตัวปรกติบนเครื่องได้และบันทึกกลับเข้ามาใน Web Apps ได้โดยสะดวก แต่ก็ยังใช้ผสมกันทั้ง Google Docs และ Office Web Apps ขึ้นอยู่ที่ Project ที่กำลังทำงานอยู่ว่าลูกค้าถนัดตัวไหน ซึ่งเหตุผลในหลายๆ ส่วนเอกสารบางตัวใน Wiki ของ Bitbucket ก็ถูกนำมาใส่ในส่วนนี้เช่นกัน เพราะลูกค้าคงใช้ Bitbucket ไม่เป็น เพราะฉะนั้นงั้นก็ควรใช้อะไรที่ง่ายๆ ที่เข้าถึงได้สะดวกกว่านั้นเอง

6. Cloud Storage Sharing/Sync

เป็นการปรับเปลี่ยนครั้งใหญ่โดยส่วนตัว โดยย้ายมาใช้ SkyDrive แทน Dropbox ด้วยเหตุผลด้านค่าใช้จ่าย ด้วยราคาต่อหน่วยพื้นที่เก็บไฟล์ที่ราคาไม่สูงมากนัก แถมยังมีตัวเลือกในการเช่าพื้นที่เพิ่มเติมที่มีหลายระดับราคามากกว่า ซึ่งตัว App ที่เป็นตัว Sync File เพื่อทำงานรวมกับระบบ Cloud นั้นทำงานได้ดีพอๆ กับ Dropbox แล้ว และยังเข้ากันได้ดีกับ Windows 8 และ Windows Phone 8 ด้วย (บน iOS และ Android ก็ใช้งานได้ดีเช่นกัน)

โดยในส่วนของ Cloud Storage พวกนี้จะถูกใช้สำหรับเก็บเอกสารต่างๆ ทั้งส่วนตัวและลูกค้าที่เป็น Word, Excel หรือ PowerPoint ที่เป็นไฟล์โยนไป-มาในอีเมล โดยปรับเปลี่ยนมาใช้การ Share ผ่าน link เป็นหลักเพื่อความรวดเร็วในการรับ-ส่งและยังแก้ไขได้ง่ายกว่าการแนบไฟล์ตามปรกติที่ทำๆ กันมาที่บางครั้งก็ไม่รู้ว่าไฟล์ไหนเป็นไฟล์ตัวล่าสุด ทำ snapshot และ versioning แบบเปรียบเทียบกับของเก่าได้ยากกว่า อีกทั้งระบบพวก cloud storage พวกนี้ยังมีส่วนของการค้นหาและสำรองข้อมูลไว้บน Cloud อีกชุดเพื่อความปลอดภัยของข้อมูลด้วย

ข้อดีที่สำคัญอีกอย่างของ Cloud Storage (ทั้ง SkyDrive และ Dropbox) ที่เหนือกว่าการเก็บไฟล์แบบเดิมๆ บนเครื่องก็คือยังสามารถเข้าถึงได้จากมือถือผ่าน App ที่มีให้ดาวน์โหลดบน Store ของแต่ละค่ายเอง หรืออุปกรณ์อื่นๆ ที่เข้า Internet ได้ผ่านทาง Web Browser ได้ด้วย แต่ข้อดีของ SkyDrive ที่ปรับเปลี่ยนมาใช้ก็เพราะสามารถทำงานร่วมกับ Office Web Apps ได้ดีกว่า Dropbox อยู่เยอะ แต่ข้อเสียของ SkyDrive คือระบบ versioning ที่รองรับแต่เฉพาะไฟล์ของ Micorosoft Office เป็นหลัก ไม่รอบรับไฟล์รูปแบบอื่นๆ เหมือน Dropbox อาจจะต้องเลือกการใช้งานให้ถูกกับประเภทสักหน่อยเท่านั้นเอง

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