ฉันได้รับการออกแบบและอื่น ๆ obseved ออกแบบระบบต่างๆในอดีตและผมเคยเห็นแฉกระบวนการในรูปแบบที่แตกต่างกันมาก แต่สิ่งที่ผมพบกันคือสถาปัตยกรรมเริ่มต้นควรวางแผนอย่างน้อยสำหรับการดำรงอยู่ของคุณสมบัติที่สำคัญที่สุด
ตัวอย่างเช่นฉันเคยเห็นระบบควบคุม HVAC ที่ไม่มีแนวคิดเรื่องอาคารพื้นห้องพัก ฯลฯ ที่ได้รับการดัดแปลงด้วยสิ่งเหล่านั้นและผลลัพธ์ก็น่าเกลียดเท่าที่พวกเขามา หรืออุปกรณ์ดนตรีมือถือที่สร้างจากส่วนประกอบที่เหมาะสำหรับนาฬิกาพกที่ไม่ใช่ของคุณ ไม่จำเป็นต้องพูดถึงผลิตภัณฑ์สุดท้ายในทั้งสองกรณีไม่ใช่รายการโปรดของลูกค้า
เมื่อคุณพูดว่า "ความคิด" นั่นเป็นเพียงขั้นตอนเดียวจาก "ความคิด" และแนวคิดอาจเลือนลางมาก ธุรกิจมักจะสนใจเกี่ยวกับแนวคิด ลูกค้ามักจะสนใจเกี่ยวกับ UX - แนวคิดที่นำมาสู่ความเป็นจริงในแบบที่ใช้งานง่ายและน่าพอใจและนำคุณค่ามาใช้ผ่านการใช้งาน
คุณต้องทำ "แนวคิด" ก่อนการเขียนโปรแกรมใด ๆ ฉันไม่สามารถจินตนาการตัวเองว่ากำลังเปิดสตูดิโอภาพ (หรือ IDE ที่คุณเลือก) และการเขียนโค้ดแบบสุ่มเพื่อดูว่ามันไปที่ไหน
คุณไม่สามารถทำการออกแบบที่สมบูรณ์ (และคุณไม่ควรทำ) ก่อนการเข้ารหัส แต่คุณควรมีภาพร่างคร่าวๆเกี่ยวกับขั้นตอนการทำงานของผู้ใช้
การออกแบบและการเขียนโค้ดของ UX ค่อนข้างจะดึงความสนใจซึ่งกันและกันคุณอาจถูกบังคับให้ใช้วิธี Agile สำหรับสิ่งใดก็ตาม แต่โครงการขนาดเล็กที่สุดเป็นวิธีการรวมข้อเท็จจริงนี้เข้ากับวิธีการทำงานของคุณ ดังนั้นอย่าคิดว่าคุณเป็นโปรแกรมเมอร์ที่แย่ที่สุดถ้าคุณมองไม่เห็นมันในทันที - ไม่มีใครทำได้และคนที่คิดว่าพวกเขาสามารถเป็นคนที่เพิกเฉยต่อปัญหามากพอเพื่อให้พวกเขาสามารถอ้างว่าพวกเขามีความสมบูรณ์ ภาพ.
ตัวอย่างหนึ่งที่จะทำให้ขนาดใหญ่ขึ้น แนวคิด: "สร้างเครื่องมือบนคลาวด์ที่มองเห็นได้ซึ่งช่วยให้ธุรกิจสามารถรวมแพลตฟอร์มซอฟต์แวร์ของตนได้" ฟังดูดีและเราสามารถเริ่มเขียนเอกสารทางการตลาดและขายก่อนที่จะถึงที่นั่น คุณต้องมีสิ่งนี้ก่อนการเข้ารหัส
การออกแบบล่วงหน้า: "มีรูปร่างและลูกศรเหมือนกับใน Visio เพื่ออธิบายตรรกะมีความสามารถแบบปลั๊กอินเพื่ออนุญาตการเชื่อมต่อไปยังแพลตฟอร์มต่างๆ (SAP, SF, ฐานข้อมูล ... ) มีคอนโซลการตรวจสอบที่สามารถค้นหาข้อมูลผ่าน ระบบมีวิธีอธิบายข้อมูลด้วยสายตาและแปลงรูปแบบหนึ่งเป็นรูปแบบอื่น ". อีกหนึ่งหยดการตลาดที่ยอดเยี่ยม นอกจากนี้ยังให้แนวคิดบางอย่างเกี่ยวกับสิ่งที่สำคัญควรมีร่างคร่าวๆก่อนการเข้ารหัสด้วย
การออกแบบ / รหัส: "ให้เบราว์เซอร์โฮสต์ตัวออกแบบ HTML พร้อมคุณสมบัติดังกล่าวและรหัสแบ็กเอนด์ใน Java เพื่อให้สามารถทำงานบนเซิร์ฟเวอร์ที่มีอยู่ใด ๆ กำหนดโครงสร้างข้อมูลและ UX สำหรับการสืบค้นหรือแก้ไขตามความจำเป็นแผนสำหรับการกู้คืนระบบ การรายงานการบันทึกการตรวจสอบการควบคุมเวอร์ชันแผนการควบคุมการเข้าถึงแผน; .... "- ยิ่งรายการที่ไม่สมจริงยิ่งขึ้นก็คือการคาดการณ์ทั้งหมด
... อย่างไรก็ตามอย่างน้อยเราควรตระหนักถึงสิ่งที่สิ่งต่าง ๆอาจจบลงอย่างคร่าว ๆ หรือผลิตภัณฑ์ขั้นสุดท้ายของคุณอาจจบลงด้วยการใช้งานที่ไร้ประโยชน์จริง ๆ ซึ่งจบลงด้วยการฆ่าแนวความคิดที่ฟังดูไพเราะ - นักออกแบบภาพของคุณต้องการ 40 " หน้าจอเพื่อแสดงเวิร์กโฟลว์ใด ๆ ในโลกแห่งความเป็นจริงหรือไม่มีวิธีการค้นหาบันทึกอื่น ๆ นอกเหนือจากการจับคู่สตริงที่แน่นอน จำกัด หนึ่งใน 20 เขตข้อมูลในบันทึก ฯลฯ ฯลฯ ไม่มีวิธีที่ดีที่จะป้องกันไม่ให้เกิดเหตุการณ์อื่นนอกเหนือจากการใช้งาน - บางคนจะประสบความสำเร็จคนอื่นจะล้มเหลว