โดยทั่วไปแล้วจะดีกว่าหรือไม่ที่จะทำให้ทุกส่วนของฟังก์ชั่นการทำงานหรือการใช้ UI ทำงานเป็นอันดับแรก


47

โดยทั่วไปแล้วจะดีกว่าหรือไม่ที่จะทำให้ทุกส่วนของฟังก์ชั่นการทำงานหรือการใช้ UI ทำงานเป็นอันดับแรก

สมมติว่าคุณกำลังทำอะไรบางอย่างที่ใหญ่มันเป็นวิธีปฏิบัติที่ได้รับการยอมรับโดยทั่วไปหรือไม่ที่จะรับข้อมูลที่ใช้งานได้ซึ่งทำให้ Blobs ทำงานก่อน UI ใด ๆ ให้ UI ทั้งหมดทำงานทีละชิ้นในเวลาที่คุณไป

เราทุกคนรู้ที่จะแบ่งการทำงานออกเป็นส่วนที่จัดการได้ แต่ท้ายที่สุดคำถามก็คือว่า UI นั้นรวมอยู่ในส่วนที่สามารถจัดการได้หรือไม่

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

การประยุกต์ใช้เช่นในคำถามนี้โดยเฉพาะอย่างยิ่งเป็นที่นี่กับที่มาพร้อมกับบล็อกและผลิตภัณฑ์ในเชิงพาณิชย์เดิม

คำตอบ:


85

มีแนวคิดทั่วไปในหมู่ผู้ใช้ทางธุรกิจและลูกค้าจำนวนมากว่าเมื่อดูเสร็จสมบูรณ์เกือบจะเสร็จสมบูรณ์ อย่างที่คุณน่าจะรู้ว่านี่เป็นเรื่องจริง หนึ่งสามารถทำให้มันดูดี แต่ไม่มีแบ็กเอนด์และผู้ใช้บางคนคิดว่าการทำให้มันดูดีคือ 80% ของงานไม่ใช่ 20% ( หรืออีก 80% )

นักพัฒนาจำนวนนับไม่ถ้วนสามารถเล่าเรื่องราวสยองขวัญเกี่ยวกับเรื่องนี้ได้โดยการจำลองหน้าเว็บที่ทำใน Microsoft Word โดยใช้ภาพหน้าจอของเครื่องมืออื่นและลูกค้าพูดว่า "แล้วคุณเกือบจะทำเสร็จแล้ว"

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

กรณีที่เลวร้ายที่สุดกับ 'หนึ่งก่อนและอีกกรณีหนึ่ง' คือเมื่อคุณไปถึงอีกส่วนหนึ่งคุณจะพบว่ามันไม่เหมาะกับการออกแบบเลย

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

Joel เขียนเกี่ยวกับเรื่องนี้ในThe Iceberg Secret เปิดเผย :

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

ผู้ที่ไม่ใช่โปรแกรมเมอร์กำลังดูหน้าจอและเห็นพิกเซล และถ้าพิกเซลดูเหมือนพวกเขาสร้างโปรแกรมที่ทำอะไรพวกเขาคิดว่า "โอ้ว้วมันยากแค่ไหนที่จะทำให้มันใช้งานได้จริง"

ความเสี่ยงครั้งใหญ่ที่นี่คือถ้าคุณเยาะเย้ย UI ครั้งแรกน่าจะเป็นเพื่อให้คุณสามารถสนทนากับลูกค้าได้ทุกคนจะคิดว่าคุณเกือบจะเสร็จแล้ว และเมื่อคุณใช้ปีหน้าทำงาน "ภายใต้ผ้าห่ม" เพื่อพูดไม่มีใครจะเห็นสิ่งที่คุณกำลังทำจริง ๆ และพวกเขาจะคิดว่ามันไม่มีอะไร

นี่คือการย้ำอีกครั้งในโพสต์บล็อกอย่าทำให้ดูตัวอย่างเสร็จแล้วซึ่งมีกราฟที่เป็นประโยชน์นี้:

วิธีทำมันเป็นสิ่งที่ดูเหมือนว่า

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

สิ่งที่ 'ทำ' มีลักษณะควรตรงกับวิธีที่ 'ทำ' สิ่งที่เป็น

นักพัฒนาซอฟต์แวร์ทุกคนมีประสบการณ์นี้หลายครั้งในอาชีพการงาน แต่เครื่องมือการเผยแพร่บนเดสก์ท็อปนำไปสู่อาการปวดหัวแบบเดียวกันสำหรับนักเขียนเทคโนโลยี - หากคุณแสดงร่างที่หยาบซึ่งถูกฟอนต์และจัดรูปแบบอย่างสมบูรณ์แบบพวกเขาเห็นว่าทำได้มากกว่าที่คุณต้องการ เราต้องการการจับคู่ระหว่างที่เราอยู่และที่อื่น ๆ ที่เรารับรู้

บทความนี้ยังนำเสนอประเด็นสำคัญเกี่ยวกับประเภทของข้อเสนอแนะที่คุณได้รับด้วยระดับ doneness ที่แตกต่างกันของส่วนต่อประสานผู้ใช้ หากคุณมีบางอย่างที่ดูสมบูรณ์คุณน่าจะได้รับคำติชมเกี่ยวกับ "คุณสามารถเปลี่ยนแบบอักษร" ได้มากกว่า "เค้าโครงนี้ใช้งานไม่ได้มีแท็บจำนวนมากเกินไป"


สำหรับผู้ที่ต่อสู้กับสิ่งนี้ในโลก Java Swing มีรูปลักษณ์ที่เรียกว่าNapkinซึ่งทำให้ UI นั้นดูไม่สมบูรณ์ (แม้ว่าจะเป็น)

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


อ่านเพิ่มเติม (และลิงก์จากบทความ):


7
ดูเหมือนว่าคุณกำลังเสนอวิธีการแบบว่องไว ... :)
อเล็กซานเดอร์

7
@Alexander Agile ช่วยในกรณีนี้ แต่ไม่จำเป็น น้ำตกสามารถมีเหตุการณ์สำคัญ (ส่งมอบ) และลูกค้าสามารถผิดหวังอย่างมากเมื่อเห็นว่า "มันดูเสร็จแล้วทำไมมีหินอีก 3 ไมล์ที่ใช้เวลานานแค่ไหน" FWIW ฉันมีอินสแตนซ์ที่ผู้ใช้ทางธุรกิจคิดว่าทำเพราะหน้าจอ shot + ms paint ในการออกแบบเทคโนโลยี (ร้านขายของน้ำตก) ดูดี

3
ในกรณีที่คุณไม่เห็นคำตอบของผู้เชี่ยวชาญสำหรับวิดีโอนั้นนี่คือ: youtu.be/B7MIJP90biM
ragol

3
ฉันได้ออกแบบ UI สำหรับส่วนใหญ่ของอาชีพการเขียนโปรแกรมของฉันและไม่เคยมีลูกค้าสันนิษฐานว่า UI ต้นแบบหมายความว่าซอฟต์แวร์เกือบจะเสร็จสิ้นแล้ว ฟังดูแล้วเหมือนกับว่าผู้นำเสนอโครงร่างโครงข่ายโครงร่าง UI นั้นทำงานได้ไม่ดีอธิบายโครงลวดได้หากลูกค้ามีความสับสนในการคิดว่าโครงการเกือบเสร็จแล้ว
เกรแฮม

2
+1 สำหรับ L & F ของ Napkin นั่นจะเป็นในอนาคตของฉัน :)
Kathy

27

มันขึ้นอยู่กับ: คุณต้องมีข้อเสนอแนะที่แน่นวนรอบชิ้นงานที่สำคัญที่สุด

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

หากสิ่งที่ยอดเยี่ยมของคุณเกี่ยวข้องกับการโต้ตอบใด ๆ - การโต้ตอบที่คุณจำเป็นต้องแก้ไขปัญหาอย่างต่อเนื่องทิ้งและค้นพบ - วิธี UI แรกเป็นสิ่งสำคัญ ตัวอย่างเช่นฉันต้องการสร้างแอพเพื่อให้ผู้คนมีปฏิสัมพันธ์กับการสร้างภาพข้อมูล สิ่งที่สำคัญที่สุดที่ฉันต้องคิดก็คือถ้าการสร้างภาพข้อมูลมีความหมายดังนั้นฉันน่าจะทิ้งวิธีครึ่งโหลก่อนที่จะตัดสินใจ ฉันจะทำสิ่งนี้ก่อนที่จะเขียนการทดสอบหน่วยเดียว

มีพื้นที่สีเทาคลุมเครืออยู่ระหว่างที่คุณจะเลือกชุดค่าผสมที่ดีที่สุดเกี่ยวกับวิธีการโต้ตอบและตรวจสอบรหัสของคุณได้ดีที่สุด (การทดสอบอัตโนมัติ? UI สำหรับการทดลอง?) ฉันได้ทำทั้งสุดขั้วและทุกอย่างเป็นการส่วนตัวแล้วและการตัดสินใจว่าสถานที่ที่เหมาะสมสำหรับสเปกตรัมนั้นเป็นหนึ่งในสิ่งที่ยากที่สุดที่ฉันต้องตัดสินใจและขึ้นอยู่กับประเภทของสิ่งที่ฉันสร้าง


2
นั่นคือการระบุและจัดการกับส่วนประกอบที่เสี่ยงที่สุดและสำคัญที่สุดไว้ล่วงหน้าเพื่อลดโอกาสของการถูกบุกรุกและ / หรือความล้มเหลว ไม่ว่าจะเป็นองค์ประกอบเหล่านั้นเป็น UI ตรรกะทางธุรกิจ ฯลฯ ... หรือเป็นไปได้มากที่สุดการรวมกันของส่วนประกอบต่าง ๆ ทั้งหมด
Alexander

1
ดูเหมือนว่าคุณกำลังพูดถึงการทำต้นแบบให้ฉันเพราะถ้าคุณยังทิ้งงานออกแบบไว้นั่นคือสิ่งที่คุณควรทำซ้ำ - ไม่ใช่รหัสจริง
Aaronaught

8

ในสภาพแวดล้อมที่คล่องตัวคุณอาจได้ยินการสนทนาของ "โครงกระดูกการเดิน" หรือ "ชิ้นบาง ๆ แนวตั้ง" แนวคิดที่ว่าเนื่องจากซอฟต์แวร์ที่ใช้งานเป็นสิ่งสำคัญสำหรับผู้ใช้คุณจึงสร้างซอฟต์แวร์ขึ้นมาในแบบที่เป็นชิ้น ๆ

ในตัวอย่างแอปพลิเคชันที่คุณพูดถึงคุณจะเริ่มต้นด้วยหน้าต่างและอาจเป็นหนึ่งแท็บและทำให้มันทำงานได้แบบย้อนกลับในบางแบบ จากนั้นเมื่อเวลาผ่านไปคุณจะเพิ่มฟังก์ชั่นการใช้งานดังนั้นจึงแท็บเป็นกรณี ๆ ไปทำให้คุณลักษณะแต่ละอย่างทำงานตามที่คุณสร้างขึ้น นี่เป็นส่วนหนึ่งของการสาธิตของลูกค้าที่ให้คุณบ่อยครั้ง: โอกาสที่จะแสดงสิ่งใหม่ที่ได้ผลและรับข้อเสนอแนะในทันที

กล่าวโดยย่อคือใช่ว่างาน UI นั้นเป็นส่วนหนึ่งของงานที่ทำหน้าที่หากคุณมี UI

เริ่มจากสิ่งเล็ก ๆ ที่ใช้งานได้และเพิ่มฟังก์ชันการทำงานเพื่อส่งมอบซอฟต์แวร์เต็มรูปแบบ


+1 การมีชิ้นส่วนที่เปลี่ยนแปลงได้เสมอเป็นสิ่งจำเป็น
JensG

@ เจนส์: "การมีชิ้นส่วนที่เปลี่ยนแปลงได้เสมอเป็นสิ่งจำเป็น" เป็นสิ่งที่หลอกลวง ที่ดีที่สุดว่าคำพูดจะใช้กับซอฟต์แวร์แอพพลิเคชั่นส่วนน้อยเท่านั้น ในโลกแห่งความเป็นจริงแอพพลิเคชั่นที่มีเพียงส่วนหนึ่งของงานที่ต้องการนั้นไม่ได้มีประโยชน์แม้แต่น้อย
Dunk

นั่นคือประสบการณ์ของคุณ ฉันมีคนอื่น โครงการขนาดใหญ่ในโลกแห่งความเป็นจริงที่มีเหตุการณ์สำคัญและลูกค้าจริงรวมอยู่ด้วย
JensG

1
@Dunk: แอปพลิเคชันที่ไม่ทำงานส่วนหนึ่งส่วนใดมีประโยชน์น้อยกว่าแอปพลิเคชันที่เป็นส่วนหนึ่งของงาน อย่างไรก็ตามฉันไม่ได้พูดถึงแอปพลิเคชันที่ "เสร็จสิ้น"; ฉันกำลังพูดถึงลำดับที่หนึ่งควรสร้างแอปพลิเคชัน ประสบการณ์ของฉันสอดคล้องกับ JensG: สามารถตัดเบต้าตามสิ่งที่คุณสาธิตในสัปดาห์นั้นและส่งให้กับลูกค้าทันทีทำให้ลูกค้ามีความสุขมากขึ้น
Keith B

นี่เป็นคำตอบเดียวที่ฉันสามารถระบุได้ ดูเหมือนว่าคนอื่น ๆ ยังไม่ได้พิจารณาถึงความเป็นไปได้ที่การพัฒนาผลิตภัณฑ์ที่ดีจะไม่แยกออกเป็น "UI" และ "back-end" อย่างหมดจด เป็นคำถามที่มีเพียงโปรแกรมเมอร์มือใหม่หรือผู้จัดการโครงการเท่านั้นที่จะถามและไม่ใช่นักเขียนโปรแกรมที่มีประสบการณ์หรือ PM ควรที่จะตอบคำถามตามมูลค่า ความคิดในการถามที่ควรจะเป็น "เสร็จก่อน" กลิ่นของน้ำตก
Aaronaught

3

ฉันขอแนะนำให้สร้างทั้งฟังก์ชั่นและ UI (และรับข้อเสนอแนะหรือประสบการณ์การทดสอบโดยเร็ว)

BTW ไม่ใช่วิธีการพัฒนาซอฟต์แวร์ GUI ขนาดใหญ่ที่สุดใช่ไหม ค้นหาตัวอย่างในเบราว์เซอร์Firefox : จากรุ่นหนึ่งไปยังรุ่นถัดไปทั้งฟังก์ชั่นการใช้งานและส่วนต่อประสานผู้ใช้มีวิวัฒนาการ


2

ในการใช้งานที่มีขนาดใหญ่ (web-based PHP) ที่ฉันทำงานกับผมพยายามที่จะได้รับการเรียนและวิธีการในสถานที่แรกซึ่งค่าตอบแทนดัมมี่ นี่คือการสร้างสัญญาหลอกที่ devs อื่นสามารถใช้เพื่อใช้ UI สำหรับ

ข้อได้เปรียบที่สองของวิธีนี้คือเราสามารถฝึกฝนสัญญา / อินเทอร์เฟซได้เนื่องจากการเปลี่ยนแปลงข้อกำหนด UI (และพวกเขาเปลี่ยนแปลงอยู่เสมอ) แม้กระทั่งก่อนที่จะมีการเขียนและส่งรหัสทั้งหมด


นี่คือสิ่งที่ฉันพยายามทำ เนื่องจากโครงการเฉพาะของฉันถูกนำไปใช้เป็น UI เชลล์ขนาดใหญ่และเครื่องมือเก็บเกี่ยวดาต้าพอยน์ทุกตัวเป็นปลั๊กอินปลั๊กอินแต่ละตัวจึงรับผิดชอบการจัดการส่วนประกอบ UI ของตัวเอง วิธีนี้ไม่จำเป็นต้องมี "สัญญา" สำหรับบุคคล / กลุ่มบุคคลที่กำหนด สมมติฐานคือคนกลุ่มเดียวกันจะทำงานกับปลั๊กอินที่กำหนดตั้งแต่ต้นจนจบ เป็นส่วนหนึ่งของเหตุผลที่ฉันออกแบบมันในแบบที่ฉันเป็น อีกทางหนึ่งสำหรับโครงการอื่น ๆ นี่เป็นคำแนะนำที่ยอดเยี่ยม โหวตขึ้นจากฉันเพราะมันจะเป็นประโยชน์กับคนอื่น ๆ
RobotHumans

2

สิ่งที่ฉันมักจะทำคือเริ่มต้นด้วย UI เส็งเคร็ง : สิ่งที่ทิ้งข้อมูลตัวแปรบนหน้าจอ ไม่มีแบบอักษรไม่มีการจัดแนวไม่มีสิ่งใดจะอยู่ในรูปแบบกราฟิกเป็นเวลานาน เพียงแค่ "ยินดีต้อนรับผู้ใช้ x" และปุ่มที่เรียกว่า "load pic" เป็นต้นสิ่งที่ดีเกี่ยวกับเรื่องนี้คือคุณจะพบว่ามีบางอย่างในแบ็กเอนด์เสีย

เมื่อการพัฒนาดำเนินไปคุณอาจพบว่ามีสิ่งที่ต้องทำมากขึ้นหรือน้อยลง แต่ในบางช่วงคุณจะตัดสินใจว่าแบ็กเอนด์ใกล้จะเสร็จสมบูรณ์ ตอนนี้คุณมี UI ที่มีสิ่งที่แนบมาทั้งหมดที่จำเป็นและคุณสามารถใช้เวลาทำสิ่งกราฟิกทั้งหมด

ระวังแม้ว่ามันจะไม่เข้าใจผิดได้ คุณต้องมองการณ์ไกลเพื่อดูปัญหาบางอย่างที่เกิดขึ้น ตัวอย่างเช่นคุณอาจต้องวิจัยส่วนประกอบ UI เพื่อแสดงข้อมูลอย่างสมเหตุสมผล


และลูกค้าเข้ามาเล่นในวิธีการของคุณที่ไหน? โปรดทราบว่าโดยปกติแล้วลูกค้าของคุณจะมีแนวคิดทั่วไปเกี่ยวกับสิ่งที่พวกเขาต้องการ มันขึ้นอยู่กับคุณที่จะคิดออกว่าจะ "ดึงพวกเขาออก" ได้อย่างไรว่าพวกเขาต้องการอะไรเพื่อที่คุณจะได้สร้างมันขึ้นมา วิธีการของคุณสร้างสิ่งที่คุณคิดว่าลูกค้าต้องการ แต่นั่นไม่ค่อยเป็นสิ่งที่ลูกค้าต้องการ ดังนั้นคุณจึงเสียเวลาไปกับการเขียนโค้ดบางสิ่งที่ลูกค้าไม่ต้องการ
Dunk

อ่า "ลูกค้า" ของฉันกำลังนั่งถัดจากฉันและฉันมีพื้นหลังในสนามที่ทำให้ฉันมีความคิดที่ดีเกี่ยวกับสิ่งที่ต้องการ โดยพื้นฐานแล้วเรามักจะอยู่ใกล้กับผลิตภัณฑ์สุดท้ายฉลาด UI และฉันสามารถรับข้อเสนอแนะ ฉันไม่ได้พิจารณาปัญหาที่เกิดจากการตอบรับที่ยาวนาน ฉันเดาว่าการมีความรู้ด้านโดเมนเป็นกุญแจสำคัญ
Carlos

0

หากคุณใช้ขั้นตอนสำคัญและระบบติดตามปัญหาคุณสามารถหลีกเลี่ยงปัญหาเหล่านี้ได้เนื่องจากการจัดการสามารถดูได้ว่าคุณกำลังทำงานอย่างไร พวกเขาจะสามารถเห็นว่าคุณเสร็จสิ้นแบ็กเอนด์ 80% และ UI นั้นเป็นก้าวต่อไป พวกเขาจะสามารถเห็นว่าคุณมีชุดของ UI และงานแบ็กเอนด์ที่จะเสร็จสิ้นสำหรับเหตุการณ์สำคัญที่เฉพาะเจาะจง แต่ทุกอย่างเริ่มต้นด้วยความต้องการของโครงการและคำตอบของ Doug T ช่วยยกประเด็นดีๆเกี่ยวกับการออกแบบระบบ


0

คิดในมุมมองผู้ใช้ / ลูกค้าของคุณ ระบบซอฟต์แวร์คือชุดของคุณลักษณะที่ให้คุณค่ากับผู้ใช้ / ลูกค้านี้ แน่นอนว่าฟีเจอร์นี้แต่ละรายการมีและ UI แบ็กเอนด์และสิ่งอื่น ๆ

สร้างระบบของคุณให้มีคุณสมบัติตามคุณสมบัติเสมอและลองแบ่งในคุณสมบัติที่มีขนาดเล็กมาก ในแบบที่คุณมักจะมีสิ่งที่จะส่งมอบให้กับลูกค้าของคุณโปรดจำไว้ว่าการพัฒนาซอฟต์แวร์ไม่ได้เกี่ยวกับการสร้างรุ่น 1.0 มันเกี่ยวกับการไปที่รุ่น 1.0.1 ถึง 1.0.2 และอื่น ๆ ...


0

มันขึ้นอยู่กับ. ความต้องการของคุณเป็นอย่างไร ระบบกำลังเผชิญกับ UI มากน้อยแค่ไหน?

จากประสบการณ์ของฉันลูกค้าส่วนใหญ่ไม่ทราบว่าพวกเขาต้องการอะไรจนกว่าพวกเขาจะเห็นอะไรต่อหน้าพวกเขา ปกติแล้วฉันจะให้ wire-frames ของส่วน UI ที่สำคัญหรือส่ง UI ส่วนใหญ่ (ไม่ทำงาน) สิ่งนี้ช่วยให้ลูกค้าเปลี่ยนความคิดเกี่ยวกับคุณสมบัติ / ฟังก์ชั่นโดยไม่มีผลกระทบมากเกินไปเนื่องจากการออกแบบฐานข้อมูลและโครงสร้างรหัสยังคงอยู่ในขั้นตอนการออกแบบเท่านั้น - ง่ายต่อการแก้ไขการออกแบบ มันเป็นคำสั่งของขนาดที่ง่ายขึ้น / เร็วกว่าที่จะเปลี่ยนการออกแบบก่อนหน้านี้ในโครงการแล้วในภายหลัง

Agile กล่าวว่าคุณควรทำงานกับสิ่งที่ยากที่สุดและสิ่งที่สำคัญที่สุดก่อน ล้มเหลวอย่างรวดเร็ว ดังนั้นเมื่อลูกค้าเห็น UI ฉันมุ่งเน้นไปที่การสร้างส่วนประกอบขนาดเล็กซึ่งใช้งานได้อย่างเต็มที่พูดถึงสิ่งที่สำคัญที่สุดและยากที่สุดในการใช้งานครั้งแรกเพื่อให้คุณรู้ว่าเร็วที่สุดเท่าที่จะเป็นไปได้

จากนั้นคุณมีการวิ่งและมีการสื่อสารกับลูกค้าอย่างต่อเนื่องในการพัฒนาทั้ง UI และแง่มุมการใช้งานในบางครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.