เรียนเพื่อนโปรแกรมเมอร์
คุณจะทำอย่างไร "การวางแผนซอฟต์แวร์" เมื่อมีการวิจัยเชิงวิชาการ และในบันทึกข้างอย่างไรคุณโน้มน้าวให้เจ้านายของคุณว่าการเขียนซอฟแวร์จะไม่เหมือนการสร้างบ้านและก็มากขึ้นเช่นการเขียนนวนิยาย ?
รายละเอียดเลือดอยู่ด้านล่าง
ฉันรับผิดชอบทีม dev เล็ก ๆ ที่ทำงานในห้องปฏิบัติการวิจัย เราเริ่มพัฒนาซอฟต์แวร์โดยมีวัตถุประสงค์เพื่อเผยแพร่ต่อสาธารณชนในวันหนึ่ง (เช่นขายและทำเงินจากสิ่งนั้น) ซอฟต์แวร์ดังกล่าวขึ้นอยู่กับสิ่งอื่น ๆ อย่างน้อยสองบรรทัดการวิจัยอิสระ: นั่นคือมีอย่างน้อยสองปริญญาเอก ผู้สมัครที่หวังว่าสักวันหนึ่งจะออกมาพร้อมกับการใช้งานในสิ่งที่เราต้องการ
ซอฟต์แวร์หลักยังขึ้นอยู่กับทรัพยากรอื่น ๆ ที่เป็นรูปธรรมมากกว่าที่เราในฐานะนักพัฒนาสามารถดูแลได้: การเรนเดอร์กราฟิก, การเปลี่ยนรูปแบบซอฟต์บอดี้ ฯลฯ
เจ้านายของฉันขอให้ฉันเขียนข้อกำหนดข้อกำหนดและแผนภูมิ GANTT ที่เป็นเลือดของโครงการทั้งหมด เผชิญกับความจริงที่ว่าฉันไม่มีเบาะแสเกี่ยวกับส่วนการวิจัยและการวิจัยดังกล่าวเป็นพื้นฐานสำหรับซอฟต์แวร์เขากล่าวว่า "ตั้งสมมติฐาน" เพื่อความชัดเจนของการโต้แย้งเขาเป็นศาสตราจารย์ที่มีปริญญาเอก นักเรียนควรมากับการวิจัยที่เราต้องการ และเขามาจากภูมิหลังทางวิศวกรรมที่เข้มงวด: วางแผนทุกอย่างก่อนเขียนรายละเอียดและจากนั้นจดรหัสที่ "เป็นส่วนสุดท้าย"
สิ่งที่ฉันทำตอนนี้:
- ฉันทำลายผลิตภัณฑ์ด้วยคุณสมบัติ แต่ละ 'คุณสมบัติ' คือพฤตินัยผลิตภัณฑ์แยกต่างหาก
- คุณลักษณะแต่ละอย่างถูกสร้างขึ้นบนคุณลักษณะก่อนหน้า
- เมื่อฟีเจอร์ (A) มีต้นแบบการทำงานทีมสามารถเริ่มทำงานในฟีเจอร์ถัดไป (B) ในขณะที่การทำประกันคุณภาพสำหรับ A (ถ้าเงินอนุญาตจะมีคนนำเข้ามา ฯลฯ );
- คุณสมบัติที่ขึ้นอยู่กับการวิจัยจะมาถึงล่าสุดจากนั้นหวังว่าส่วนการวิจัยจะแล้วเสร็จ ( เมื่อยังคงเป็นคำถามใหญ่);
นอกจากนี้ฉันได้ตั้งทีมให้ใช้ SCRUM สำหรับการพัฒนา 'รุ่น1.0 ' ซึ่งจะครบกำหนดภายในไม่กี่เดือน กำหนดเวลานี้สามารถกำหนดได้ตามสมมติฐานที่สมเหตุสมผล: เราระบุคุณลักษณะที่จำเป็นทั้งหมดเรานับความพร้อมใช้งานของเราและเราให้การประมาณการที่สมเหตุสมผล
ดังนั้นคำถามของฉันอีกครั้งคือ:
- ฉันจะทำให้หัวหน้าของฉันมีความสุขได้อย่างไรในขณะเดียวกันก็สามารถทำให้บางสิ่งบางอย่างอยู่นอกประตูได้ด้วย?
- ฉันจะเขียนข้อกำหนดสำหรับสิ่งที่เรา - นักพัฒนา - ไม่มีเงื่อนงำว่าเป็นไปได้ที่จะทำหรือไม่? (เรายังไม่ได้ตัดสินใจว่าจะใช้ไลบรารีใดสำหรับงานบางอย่างเราจะทำเมื่อเราต้องการ)
- ฉันจะได้รับข้อกำหนดสำหรับสิ่งนั้นได้อย่างไรเนื่องจากยังไม่มีลูกค้าหรือนักลงทุนมีความสนใจและสัญญามากมาย
- ฉันจะได้รับความสงบสุขในโลกได้อย่างไร?
ฉันแน่ใจว่าจะตอบคำถามอย่างน้อยหนึ่งคำถาม :)
ป.ล. : ฉันกำลังเขียนสิ่งนี้โดยไม่ระบุตัวตนเนื่องจากนักลงทุนที่มีศักยภาพอาจย้อนกลับมาหากพบสิ่งนี้ หวังว่าคุณจะเข้าใจ อย่างไรก็ตามฉันต้องบอกว่าฉันไม่ชอบความคิดของ 'การซ่อนความจริง': โปรแกรมนี้น่าจะมีประโยชน์มากมายและไม่สามารถพูดคุยอย่างเปิดเผยเกี่ยวกับเรื่องนี้ (ด้วยชื่อของฉันและชื่อเสียงของฉันที่แนบมา) รู้สึกเหมือนเซ็นเซอร์ แต่อนิจจาฉันสนใจคำแนะนำของคุณมากขึ้นตอนนี้