Brainstorm Requirement

โดนพาดพิงถึงจาก Thailand Next Web Apps 2008 - Brainstorm คุณสุกรีเสนอให้ทำระบบ online brainstorming ซึ่งจริงๆ อยู่ในแผนของผมตั้งกะเขียน ไอทีไทยไปไอทีโลก แล้ว เพียงแต่ต้องชะลอไว้ก่อนเพราะมีภารกิจทางการศึกษานิดหน่อย ก่อนหน้านี้เที่ยวเยอะเกินไป ดินเลยพอกหางหมูไว้เยอะ

ตอนนี้พอใกล้ว่างก็ได้เวลาคิด ทางเลือกที่เป็นไปได้มากที่สุดมี 2 ทาง คือ ใช้ Ubuntu Brainstorm ซึ่งจริงๆ มันเป็น Drupal 5 ที่ขี่อยู่บน PostgreSQL แล้วก็มีโค้ดส่วนที่ Ubuntu โมเอาไว้เองพอสมควร อีกทางหนึ่งก็คือใช้ Drupal ธรรมดา แต่เรียกใช้โมดูลที่มีอยู่แล้ว และเขียนเพิ่มเองอีกส่วนหนึ่ง

ทีนี้ถ้าเขียนเองต้องทำอะไรบ้าง ยึดฟีเจอร์จากหน้าของ Ubuntu Brainstorm ไล่เป็นข้อได้ดังนี้

  • Submitting ideas
  • Voting
  • Updating your idea

สามอันนี้ Drupal ทำได้สบายมาก

  • Duplicating

อันนี้ท่าทางต้องทำเอง และเป็นฟีเจอร์สำคัญที่ขาดไม่ได้ (เพราะนิสัยของคนไม่นิยม search ก่อนตั้งเรื่องอยู่แล้ว) อาจต้องทำ content type ใหม่ที่มีสถานะเป็น duplicate เพิ่มเข้ามา ส่วนลิงก์ไปยัง master idea ถ้าแบบง่ายๆ เป็นฟิลด์ธรรมดา (แบบยากๆ ต้องมีฟิลด์ให้ลิงก์กลับมาจาก master idea ด้วย) อันนี้ขอคิดต่อก่อน

  • Linking to LP and forum

Ubuntu Brainstorm นั้นสัมพันธ์ใกล้ชิดกับไซต์อื่นๆ ของ Ubuntu เช่น Launchpad Bug, Launchpad Blueprint และกระทู้ใน Ubuntuforums ถ้าจะทำคงไม่ใช่ฟีเจอร์ที่สำคัญนัก และสามารถทำได้ง่ายคือเป็น URL field ธรรมดา

ขั้นต่อไปคือลองลง Ubuntu Brainstorm เล่นเองดูก่อนว่ายากง่าย ใช้ดีเพียงใด

อัพเดต

พบว่า Ubuntu Brainstorm ลงยากมาก คือต้องมี PostgreSQL และตั้งค่าแบบ "แฮ็ก" มากมาย แถมใช้แล้วปรากฎว่ามันออกแบบมาเพื่อใช้กับ Ubuntu จริงๆ ไม่ได้ทำมาเป็น generic ดังนั้นทำเองน่าจะดีกว่า

Comments

ในแง่ของ idea generation คิดว่ายังมีปัญหากับวิธีการ brainstorm+โหวต อีกเล็กน้อยครับ จะบล็อกเรื่องนนี้อีกที วิธีแก้ไขก็ใช้เทคนิคที่เรียกว่า brain writing ใช้ซอฟต์แวร์ชื่อ H2O (โครงการและ source code)

กล่าวโดยย่อๆ H2O Rotisserie เป็นการ "เขียน" (คล้าย brainstorm) เป็นรอบๆ ในแต่ละรอบผู้เขียนเห็นความคิดของรอบก่อน -- จะเสนอความคิดใหม่ หรือปรับปรุงความคิดเก่าก็ได้ -- แต่ในรอบปัจจุบัน ผู้เขียนไม่เห็นของกันและกัน ทำให้ข้อเขียนในแต่ละรอบ มีอิสระพอสมควร ไม่ขึ้นกับ ความมีชื่อเสียง+เพื่อนพ้อง ของผู้เขียนแต่ละคน จะแก้ปัญหาการโหวตก่อนที่จะ "เห็นและเข้าใจ" ข้อเสนอทั้งหมดก่อนได้

@Conductor
งั้นแสดงว่าระบบเสนอไอเดียก็ไม่ควรแสดงชื่อคนเสนอ จนกว่า status จะกลายเป็น implement ? น่าสนใจครับ

Brain Writing ทำประกอบกับการเสนอไอเดียหลักน่าจะดีกว่า
คืออาจจะไม่อยู่ในรูป comment อย่างเดียว แต่อาจจะเป็น cell อย่างที่เห็นใน wiki แล้วใครมี idea อะไรก็ใส่ keyword เข้าไปใน cell นั้น ๆ ของตัว idea
(วิธี implement จะเหมือน tag ใน google code)

ส่วน comment ก็ปล่อยให้ comment กันไป

เจ้าของไอเดียก็อาจจะเอา keyword มาแปะ แล้วขยายต่อ เพิ่มเข้าไปในเนื้อหาไอเดียหลัก หรือคนอื่น ๆ ก็อาจจะทำในลักษณะเดียวกันโดยการ comment

@Conductor

ขอบคุณครับสำหรับ link เปิดโลกได้มากเลย

ยังไม่ได้ลอง H2O เพราะยังหนืดอยู่ เท่าที่อ่านดูมันไม่เหมาะกับสิ่งที่ sugree และ markpeak เสนอมา

จริง ๆ ผมน่าจะมองเป็นความท้าทายในการ implement ระบบเพื่อให้ได้ workflow ที่ใกล้เคียงและมีประสิทธิภาพประมาณเดียวกับ brainwriting

แต่ก็มีคอมเม้นต์สำหรับการทำ collaboration แบบนี้บนโลก online ที่

- การเสนอ idea เป็น asynchronous
- ไม่มีช่วงเวลาเพื่อให้เกิดข้อสรุปในระยะสั้น
- อย่างที่ markpeak บอก คือคนจะไม่ค่อยค้นก่อนโพสต์ นั่นคือ duplicate link ยังจำเป็น

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

ผมคิดว่า brainwriting เหมาะสำหรับการระดมสมองภายในองค์กร ที่คนรู้จักตัวตน หรือ นามแฝงของกันละกันเป็นอย่างดีมากกว่า

ในเคสของ Dell หรือ Ubuntu ที่คนแทบไม่รู้จักกันเลย (ทุกคนที่มาโหวตให้ Ubuntu อาจจะรู้จัก Mark Shuttleworth แต่แค่คนเดียวก็คงไม่มีผลอะไร) การเห็นชื่อคนโพสต์จึงไม่มีผลอะไรเท่ากับการใช้ภายในสภาพแวดล้อมที่จำกัด

ในกรณีของ BN Idea จะกึ่งๆ ระหว่างสองแนวทางนี้ (คือคนอาจจะไม่รู้จักกัน แต่ว่าด้วยขนาดของชุมชน อยู่ไปอาจรู้จักเองจนเกิด bias ได้) ซึ่งน่าสนใจมากกว่าจะแก้อย่างไร

ส่วนเรื่อง duplication นั้นผมแนะนำว่า ตัวอย่างที่ดีที่สุดคือ Bugzilla ของ Mozilla ลองดูจำนวน duplication ใน Hot bugs

เรื่องที่ควรระวังให้มากสำหรับ idea generation (and solicitation) คือการอย่าด่วนสรุปจนกว่าจะเข้าใจว่าผู้เสนอ เสนออะไรครับ ถ้าเราตัดสินใจบนความไม่เข้าใจ ก็ยากจะเป็นการตัดสินใจที่ดี

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

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

ถ้าจะมีไอทีไทยไปไอทีโลก ก็ควรจะเริ่มบนรากฐานที่มั่นคง หมายความว่าทีทิศทางที่ถูกต้อง ชัดเจน มีความต่อเนื่องได้หลายรุ่น จะเป็น Ubuntu Brainstorm เป็น structured meeting แบบ H2O หรือเป็นวิกิ/เว็บบอร์ด/ฟอรั่ม ที่ดัดแปลงตามความต้องการ ก็ยังเป็น functional requirements ของเครื่องมือที่มาทีหลังครับ ไม่ว่าจะเป็นอะไรก็ตาม ผมสนับสนุนเต็มที่ -- Ubuntu Brainstorm ยังมี Ubuntu Blueprint และ SpecSpec wiki มาก่อน

เมื่อเร็วๆ นี้ Mozilla ประกาศรางวัล Best Firefox 3 Extensions "Pencil" มาจากเวียดนามนะครับ แล้วเราก็มาบ่นกันว่าใครต่อใครแซงไปหมด แต่เราก็ยังคิดเหมือนเดิม ทำเหมือนเดิม แต่จะให้ผลลัพท์แตกต่างออกไป

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

ฝากคิดด้วย

Ubuntu Brainstorm ไม่ดีดังที่คาด ต้องปรับแผนแล้วแฮะ