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

เครื่องมือบริหาร Project ที่ใช้งานอยู่ตอนนี้

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

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

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

IM

  • Skype – ใช้คุยหรือประชุมสาย ลดต้นทุนการโทรศัพท์ นานๆ ใช้ทีนึง
  • GTalks – ด้วยความที่ใช้บนระบบ Webbased ได้ด้วย ประกอบกับตัวอักษรล้วนๆ รวดเร็วไม่ต้องมีอะไรมากมาย จึงเหมาะมากๆ กับการโต้ตอบ ไป-มาระหว่างคนสองคน (แถมมี logging chat ด้วยสะดวกดี)
  • Windows Live Messenger – ใช้คล้ายกับ GTalks แต่สะดวกกว่าที่มีทุกเครื่อง ทำ Invite มาคุยกันหลายๆ คนได้ และรวมถึงคุยกับลูกค้าบางคนที่ไม่ได้ใช้ GTalks (เกือบทั้งนั้นเลย)

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

  • Git Version Control System 
    เป็น Source Code Versioning แบบ distributed version control system โดยที่แต่ละคนไม่เพียงได้ข้อมูลล่าสุดของไฟล์งานต่างๆ เท่านั้น แต่ได้ทั้งมา repository (project code) เพราะฉะนั้นถ้า Server ตัวหลักเสีย เครื่อง Client ก็สามารถทำงานได้อยู่ พอ Server กลับมาทำงานได้ปรกติก็จะสามารถส่ง Source กลับไปได้โดยข้อมูลที่แก้ไขไป-มานั้นยังคงอยู่และพร้อมให้ Server สามารถรับข้อมูลล่าสุดต่อไปได้ทันที เหมาะกับ Project ขนาดเล็กถึงใหญ่ที่ต้องใช้การแชร์ Source โปรแกรมมากกว่า 1 คนขึ้นไป เพื่อป้องกันการแก้ไขทับไปมาระหว่างคนในทีม ช่วยเรื่อง Backup และ Recovery ได้ดีมากๆ
  • Issue/Milestone
    ระบบช่วยติดตามงาน การเพิ่มเติม Label เพื่อง่ายต่อการแยกประเภทของ Issue โดยถ้ามีเรื่องต้องปักวัน หรือ Milestone ก็ทำงานควบคู่กันได้ โดยหลักๆ ใช้เพื่อทำงานต่อไปนี้
    • แจ้งการเปลี่ยนแปลงต่างๆ หรือมีการส่ง Features ใหม่เข้ามา จะทำเพื่อแจ้งให้ทราบ จะสร้าง Issue แล้วมาลงชื่อและ comments กันไป-มาเพื่อมา track ต่อได้ จะใช้ Label ชื่อ Information เมื่อตกลงแล้วจะสร้าง Issue ชื่อ Features ขึ้นมาแทนเพื่อประกบ Milestone
    • ใช้ Milestone มาจับกับ Issue ทีเป็น Label ที่ตั้งว่า Features เพื่อรวมว่า Milestone ไหนที่ Close Issue บ้าง
    • Bug Tracking โดยกำหนด Label ที่ชื่อ Bugs เพื่อแจ้งให้ทราบว่า Issue นี้เป็น Bug report และเมื่อแก้ไขแล้วจึง Close Issue เพื่อจบ Issue
  • Wiki
    ใช้เพื่อ Note และแจ้งข้อมูลทั่วไปพวก FTP, Databases Access หรือเอกสารของลูกค้าต่างๆ ที่เป็น Features หรือข้อตกลง เป็นหลัก ซึ่งรวมไปถึงคู่มือหรือการแก้ไขปัญหาต่างๆ ที่เกิดขึ้น

Google Docs : Documents/Spreadsheet (เอกสารแชร์กับลูกค้า)
ไม่มีอะไรมาก ลูกค้าคงใช้ Github ไม่เป็น เพราะงั้น ใช้อะไรที่ง่ายๆ เข้าถึงง่ายกว่า สำหรับเอกสารพวกนี้เสีย

Dropbox : Cloud Storage Sharing/Sync
ไฟล์รูป ไฟล์ Themes ต่างๆ หรือเอกสารลูกค้าที่เป็น Word, Excel หรือ PowerPoint ที่เป็นไฟล์โยนไป-มาในอีเมล จะรวบรวมไว้ในนี้เพื่อให้ง่ายต่อการค้นหาและส่งต่อ

Project Doucument กับ OpenOffice.org 2 Beta

นี่เป็นครั้งแรกที่ผมเอางานที่เกี่ยวกับการชี้เป็นชี้ตายมาฝูกติดกับฝั่ง OpenSource ทีเดียว

ซึ่งสำหรับ OpenOffice.org 2 Beta Writer นั้น ในที่สุดทุกอย่างก็ OK ในด้านการทำงาน แต่ไม่เสถียรภาพบางส่วน -_-”

ในด้านการตอบสนองต่างๆ ในด้าน Feature ที่เอามาทำงาน Document นั้นถือว่าครอบคลุมและทำงานได้ค่อยข้างครบ แต่คงน้อยกว่า Microsoft Word 2003 พอสมควร แต่การทำทั้ง Index และการทำ Caption ต่างๆ ก็มีมาให้ครบ แต่ดีกว่านิดๆ ตรงที่ Export เป็น PDF ได้เลย และตัว Color Management ใช้ได้ สี่ไม่เพี้ยนเมื่อ Export ออกมา

ในส่วนการ Format Profile นั้นทำได้ OK แต่ก็มีผิดพลาดพอสมควรนิดๆ ในงานด้านนี้ (อ้าวยังไงหว่าตู T_T) แต่พอรับได้แก้ไขสักพักก็ OK

และสุดท้ายเสถียรภาพยังคงทิ้งห่างจาก Microsoft Word พอสมควรทีเดียว แต่ดีตรงที่ Recovery Document ทำงานได้ดีเลยรอดไป เพราะว่าทำงานไปๆ มาๆ แฮงไปซะงั้น ทำให้งานเสร็จช้ากว่ากำหนดไป 30% ทีเดียว (ทำให้เรานอนเช้าแทนที่จะแค่นอนดึก T_T) เซงๆ เลยตรงส่วนนี้ แต่ผมคงไม่โทษใครเพราะว่ามันเป็น Beta Version มันคงแฮงๆ กันบ้าง แต่ถ้ามัน Release แล้วคงไม่แฮง ง่าย ๆ แบบนี้นะ ขอร้องเถอะ (ไม่อยากนอนเช้า)

ทำให้ตอนทำ Presentation File ต้องเปลี่ยนมาใช้ Microsoft Powerpoint 2003 แทน -_-”

เพราะว่า Impress จากที่ใช้มายิ่งกว่า Writer อีก แฮงกระจายกว่าเยอะ

หรือว่าเป็นที่การ config และ turning ระบบ Operating System ผมไม่ดี แต่คงไม่มั้ง ตัว OpenSource Software อื่นๆ ก็ทำงาน Work ดี รวมถึงตัวอื่นๆ ด้วย -_-”

แต่เอาเหอะ ทุกอย่างเป็นไปได้ด้วยดี ส่งไป Defent แล้วผ่านผมก็ถือว่า ok แล้วหล่ะ

Hello World !! Ford AntiTrust’s Projects Work

และแล้วก็ได้ทำสักทีสำหรับ Blog Project Work เป็น Blog สำหรับบอกเล่าเก้าสิบ งาน Programming แล้วพวก Project งานต่างๆ ที่ได้ทำ ในส่วนที่เปิดเผยได้ แต่ท่าทางจะเปิดเผยไดเ้่เยอะในส่วนของ FOSS น่ะ ทั้งพัฒนาในด้าน .Net และ มาตรฐานอื่นๆ ในแบบ FOSS หรือพวก Web Application ต่างๆ ที่ได้รับการว่าจ้าง หรือจัดทำจากลูกค้า ซึ่งในส่วนนี้แล้ว จะเอาแค่เทคนิค หรือระบบที่เค้ายอมรับให้เผยแพร่ได้ เอามาบอกๆ กัน แต่ท่าทางจะพูดในเชิืงเทคนิดมากกว่า แล้วเจอกันนะ หุๆๆๆ

ติดตามได้ที่นี่