ขึ้นอยู่กับโครงการหากคุณทำงานคนเดียวในโครงการขนาดเล็กมันอาจทำให้รู้สึกที่สมบูรณ์แบบในการทำวิจัยด้านเทคโนโลยีและการสืบสวนซึ่งเป็นส่วนหนึ่งของการพัฒนา และแม้ว่าจะไม่ได้เป็นส่วนหนึ่งของ Agile แน่นอนว่าวิธีการ Agile นั้นสามารถใช้เพื่อเพิ่มการควบคุมบางอย่าง อย่างไรก็ตามสิ่งนี้ทำให้กระบวนการยากมากในการทำนาย / หรือกล่องเวลา อาจจะดีขึ้นเร็วขึ้นหากทำงานคนเดียวในโครงการขนาดเล็กที่เป็นของคุณทั้งหมดให้ความต้องการของคุณคลี่คลายขณะที่คุณเรียนรู้ ใช้หลักการที่ดีระหว่างทางและสอดคล้องและคุณไม่จำเป็นต้องคำนึงถึงปัจจัยอีกมาก
ที่ทำงานเราใช้ Kanban, Scrum และวิธีน้ำตกแบบดั้งเดิม ขึ้นอยู่กับโครงการฉันพบว่าการพัฒนาที่ซับซ้อนพร้อมข้อกำหนดที่กำหนดไว้ล่วงหน้านั้นไม่เหมาะกับความคล่องตัวที่สุด แต่หลายคนก็ไม่เห็นด้วย
ก่อนที่เราจะเริ่มทำงานแม้แต่ในโครงการที่คล่องตัว (ทั้งหมดยกเว้นที่ง่ายที่สุดคือ) เราจะสร้างเอกสารบางอย่าง เรามีการจำลอง (หากมีการเน้น UI) ชุดของข้อกำหนดและข้อมูลจำเพาะเชิงหน้าที่
การพัฒนาจะถูกขอให้สร้างข้อมูลจำเพาะทางเทคนิคจากข้อมูลจำเพาะของฟังก์ชั่นและในระหว่างกระบวนการนี้เราจะระบุเทคโนโลยีและทำการวิจัยล่วงหน้าใด ๆ ที่เราต้องการ กระบวนการนี้ดูเหมือนว่าสำคัญสำหรับฉันเพราะเปิดโอกาสให้เห็นช่องว่างในข้อกำหนด / ฟังก์ชั่นการใช้งาน - และให้การตัดสินใจทางเทคโนโลยีครั้งใหญ่ต่อหน้าผู้คนด้วยประสบการณ์และความรู้ของระบบในการตัดสินใจ
แม้ว่าสิ่งสำคัญคือสเป็คการใช้งานอาจเป็นรายการของสัญลักษณ์แสดงหัวข้อย่อยและสเป็คเทคโนโลยีมักจะเป็นแบบจำลองโดยมีสัญลักษณ์แสดงหัวข้อย่อยและไกด์เทคโนโลยีอาจมีเพียง 3 หรือ 4 หน้าในบางกรณี
แม้ในขณะที่เรียกใช้โครงการเปรียวเราก็สร้างเอกสาร
- เอกสารทั้งหมดมีค่าใช้จ่าย
- การพัฒนาต่อการเคลื่อนย้ายและการกำหนดความต้องการระดับสูงนั้นมีต้นทุน
- ความสมดุลที่ถูกต้องกับข้างต้นขึ้นอยู่กับโครงการวัฒนธรรมและผู้คนของคุณ
- เราจัดทำเอกสารทันเวลาเอกสารที่ออกมาล้าสมัย
- เราจัดทำเอกสารเพียงพอ / เพียงพอ
- เราไม่รักษาหรืออัปเดตเอกสารเหล่านี้เราไม่ได้พยายามอย่างมาก พวกเขามีขนาดเล็ก เราคาดว่าจะทิ้งพวกเขาไป
- เรานำเสนอสิ่งที่ไม่รู้จักที่ยิ่งใหญ่เช่นการตัดสินใจทางเทคโนโลยีความต้องการหมอกและสถาปัตยกรรมเบื้องหน้า
- เรารู้ว่าเรากำลังพัฒนาอะไรก่อนที่จะเริ่ม
- เราวางใจนักพัฒนาซอฟต์แวร์ในการตัดสินใจเกี่ยวกับเอกสารและหารือเกี่ยวกับปัญหาใด ๆ
- เราให้ความสำคัญกับการสื่อสารเกี่ยวกับเอกสารดังนั้นเราคาดว่าทุกคนที่เกี่ยวข้องกับการสื่อสารมักจะ
- เราจัดทำเอกสารระบบ (ภาพรวม) หลังจากการพัฒนาไม่ใช่ในช่วงก่อนหน้านี้
คุณจะเห็นว่ามีน้ำตกขนาดเล็กในกระบวนการที่คล่องตัวของเรา
หากคุณทำงานคนเดียวสร้างแบบจำลองล่วงหน้า (แผนภาพ!) และเล่นกับและเลือกเทคโนโลยีจากนั้นเมื่อคุณมีแนวคิดเกี่ยวกับข้อกำหนดระดับสูงนี้ให้ทำงานต่อไปและพัฒนาในแบบวนซ้ำอย่างคล่องแคล่ว แต่พิจารณาหลักการที่ดีและ ความสอดคล้องในขณะที่คุณไปและคุณจะต้องคำนึงถึงปัจจัยอีกครั้งน้อยลงและปัจจัยอีกมากที่คุณไป
แต่โดยทั่วไปถ้ามีค่าใช้จ่ายจริง (ไม่ใช่งานอดิเรก) รู้ว่าคุณกำลังพัฒนาอะไรก่อนที่คุณจะเขียนโค้ด แต่อย่าเสียเวลาเขียนเอกสารมากเกินไปที่จะกลายเป็นความซ้ำซ้อนอย่างรวดเร็วเพราะคุณจะเปลี่ยนใจและควร เปลี่ยนความคิดของคุณในระหว่างการพัฒนาเมื่อคุณได้รับข้อมูลที่ดีขึ้น และโครงการของคุณสามารถเปลี่ยนหลักสูตรได้อย่างมหาศาล แต่เริ่มจากรากฐานที่ดีและชัดเจน