การวางแผนระยะยาวและความคล่องตัว?


16

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

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


+1 สำหรับการสอบถามเกี่ยวกับการพัฒนาซอฟต์แวร์ Agile และการปฏิบัติเกี่ยวกับการจัดการโครงการ ฉันพูดคุยเกี่ยวกับการต่อสู้ที่นี่ที่ฉันเป็น PSM ฉันได้รับการรับรองดังนั้นการต่อสู้คือสิ่งที่ฉันรู้ บางทีเพื่อนชุมชนของเราอาจมีบางอย่างที่แตกต่างไปจาก Scrum และเหมาะสมกว่าสำหรับคุณขึ้นอยู่กับสถานการณ์เฉพาะของคุณ
Marcouiller จะ

ฮี่ฮี่ ... มันไม่ควรจะเป็นความคิดเห็น (ล้อเล่นที่นี่)? ;-) ไม่นะไม่ได้ล้อเล่นมันอาจฟังดูเป็นแผนการตลาด แต่ไม่ใช่ ฉันแค่ต้องการแบ่งปันความรู้ของฉันกับ OP ที่ถามคำถามง่ายๆและให้ข้อมูลมากมายแก่เขาเพื่อช่วยให้เขาผ่านไปได้ในขณะที่หวังว่าฉันจะช่วยได้ ฉันชอบการต่อสู้แบบส่วนตัว แต่ฉันรู้ว่ามีวิธีอื่นที่อาจใช้ได้เช่นกันทุกอย่างขึ้นอยู่กับสถานการณ์ของ OP ขอบคุณสำหรับเม็ดเกลือของคุณอยู่แล้ว! =)
Marcouiller จะ

1
ซื่อสัตย์แทนที่จะบอกว่าโครงการ X จะใช้เวลา 3 สัปดาห์คุณดีกว่าบอกว่ามีโอกาส 2% ที่จะใช้เวลา 2 สัปดาห์โอกาส 60% ที่จะใช้เวลา 3 สัปดาห์โอกาส 10% ที่จะใช้ 4 สัปดาห์โอกาส 10% ที่จะใช้เวลา 5 สัปดาห์โอกาส 10% ที่จะใช้เวลา 6 สัปดาห์และ 8% โอกาสที่จะใช้เวลานาน เมื่อใช้การแจกจ่ายด้วยen.wikipedia.org/wiki/Long_Tailคุณจะซื่อสัตย์ ทีนี้ใช้เวลาโดยประมาณในการทำโปรเจคใหญ่ให้เสร็จโดยรวมตัวแปรสุ่ม 10 ตัว ในตอนท้ายความแปรปรวนนั้นสูงมาก แต่คุณก็ซื่อสัตย์ การใช้ LONG TAIL เป็นกุญแจสำคัญ!
งาน

คำตอบ:


11

การมีวิสัยทัศน์ของการที่โครงการคือการไปเป็นสิ่งที่ดี TM

เชื่อว่านั่นเป็นสิ่งที่จะเกิดขึ้นอย่างแน่นอน

“ ในการเตรียมพร้อมสำหรับการต่อสู้ฉันพบเสมอว่าแผนไม่มีประโยชน์ แต่การวางแผนนั้นขาดไม่ได้”

- Dwight D. Eisenhower

วิธีการที่ใช้วิธี Agile คือการแยกสิ่งต่าง ๆ ออกเป็นชิ้นย่อยและปรับวิสัยทัศน์ใหม่หลังจากที่แต่ละชิ้นถูกย่อย

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


ลูกค้าจะไม่ชอบคำตอบนี้
eddy147

3
รับลูกค้ารายอื่น! ;-)
Peter K.

10

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

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

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

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

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


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

@ filip-dupanovic: พิสูจน์ว่าผิดอะไร
btilly

5

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

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

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


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

2

สมมติว่าโดยproject-managementและagileคุณหมายถึงการต่อสู้นี้จะไม่เป็นวิธีที่แน่นอนที่จะไป

ในScrumมุมมองถ้าคุณมีแผนหนึ่งปีอย่างน้อยคุณควรมี Sprints มากเท่าที่มีเดือนในหนึ่งปี ดังนั้นแผนหนึ่งปีของคุณเริ่มมีความคล่องตัวมากขึ้นเนื่องจากสามารถเปลี่ยนแปลงได้ระหว่างสอง Sprints

Sprintสามารถจะไม่เกินเดือนที่Teamมุ่งมั่นที่จะนำไปสถานะของSprint Backlog ItemsDone

Doneเป็นคำที่สำคัญที่นี่และแต่ละคำScrum Teamจะต้องมีหนึ่งคำจำกัดความของการทำนั่นคือที่ที่ไม่มีงานเหลือให้ทำ เมื่อSprint Backlog Itemจะเสร็จสิ้นวิธีนี้ว่าการวิเคราะห์สถาปัตยกรรมและเอกสารทางเทคนิคที่เขียนและคุณลักษณะที่ได้รับการทดสอบอย่างละเอียด (ทดสอบหน่วยการทดสอบการรวมการทดสอบการทำงาน ... )

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

มันเป็นช่วงSprint Planning Meetingที่ทีมจะกระทำในสิ่งที่จะได้รับการพัฒนาต่อไปดังนั้นการสร้างSprint ประกอบด้วยส่วนย่อยที่ขึ้นอยู่กับว่ามุ่งมั่นที่จะทำได้ในตอนท้ายของการวิ่ง เมื่อพิจารณาจากตัวอย่างของผลิตภัณฑ์ใน 50 รายการและทั้งหมด 50 รายการจะต้องใช้เวลาหนึ่งปีจากนั้นทีมอาจต้องการเลือกสมมติว่า 5 รายการจาก Backlog ผลิตภัณฑ์และสร้าง Sprint Backlog ด้วย 5 รายการเหล่านี้ ไอเท็มเดียวกัน 5 รายการเหล่านี้อาจขยาย / ขยายออกเป็นไอเท็มอื่น ๆ ได้หลายอย่างเมื่อต้องการดังนั้นอาจทำให้ทีมเปลี่ยนใจหลังจากแก้ไขและมุ่งมั่นที่จะทำเพียง 4 รายการจาก 5 รายการที่เลือกไว้ก่อนหน้านี้จาก Backlog ผลิตภัณฑ์Sprint BacklogSprint BacklogProduct Backlog ItemsTeam

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

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

มันเป็นช่วงSprint Review Meetingที่Product Ownerจำเป็นต้องได้รับการเรียกTeamให้แสดงให้เห็นถึงสิ่งที่เกิดขึ้นในระหว่างการวิ่งและที่จำเป็นต้องบอกว่าทำไมมันไม่ได้ทำถ้ามีการทำงานทั้งหมดที่มันมุ่งมั่นที่จะ งานที่ยกเลิกแล้วนำกลับมาในและพร้อมสำหรับการต่อไปProduct Backlog Sprintให้แน่ใจว่ารายการที่เลิกทำเหล่านี้จะรวมอยู่ใน Sprint ถัดไปเว้นแต่เจ้าของผลิตภัณฑ์จะบอกไว้เป็นอย่างอื่นในกรณีที่วัตถุประสงค์มีการเปลี่ยนแปลง แต่ที่สำคัญที่สุดแม้ว่าวัตถุประสงค์ของระบบจะเปลี่ยนไปในระหว่างการวิ่ง แต่ก็ไม่ขัดจังหวะเว้นแต่จำเป็นจริงๆ เจ้าของผลิตภัณฑ์เท่านั้นที่มีสิทธิ์ขัดจังหวะ Sprint

เมื่อSprint Review Meetingมีมากกว่าที่ควรมีอายุไม่เกิน 4 ชั่วโมงสำหรับ Sprint รายเดือน (ถ้าผมจำไม่ผิด) Sprint Retrospective Meetingมันเป็นเวลาที่จะได้รับการ Sprint Retrospectiveเป็นสิ่งจำเป็นสำหรับTeamที่จะเกิดขึ้นเพื่อที่ว่ามันอาจจะหารือในที่ที่มีการแย่งชิงกันโทและเจ้าของผลิตภัณฑ์ (อุปกรณ์เสริม) สิ่งที่ผิดไปที่วิธีการต่อสู้ทีมอาจปรับปรุงประสิทธิภาพการทำงาน ฯลฯ และนำมาปรับเปลี่ยนตามความเหมาะสม

เมื่อเวลากล่องสำหรับSprint Retrospectiveมากกว่าแล้วใหม่Sprint Planning Meetingจะเกิดขึ้นในการวางแผนต่อไปและสร้างใหม่SprintSprint Backlog

โปรดจำไว้ว่าผู้Teamมีหน้าที่รับผิดชอบในการรักษาDaily Scrumซึ่งเป็นเวลา 15 นาทีในการประชุมที่สมาชิกทุกคนตอบคำถามสามข้อ (ไม่ใช่ตามลำดับเฉพาะ):

  1. คุณทำอะไรมาตั้งแต่การต่อสู้ประจำวันครั้งล่าสุด?
  2. คุณวางแผนจะทำอะไรจนกว่าจะถึงการต่อสู้รายวันครั้งต่อไป
  3. ปัญหาหรืออุปสรรคที่คุณพบตั้งแต่การต่อสู้รายวันครั้งสุดท้ายคืออะไร

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

Scrum Master มีหน้าที่รับผิดชอบในการเคารพกฎการแย่งชิงกันโดยสมาชิกในทีมอื่น ๆ ใน Scrum Master (Scrum Master, เจ้าของผลิตภัณฑ์และทีม)

ในท้ายที่สุดตามกฎง่ายๆเหล่านี้ทีมพัฒนาของคุณจะมีความคล่องตัว ความว่องไวคือความสามารถในการติดตามการเปลี่ยนแปลงใด ๆ ให้เร็วที่สุดเท่าที่ทีมสามารถทำได้กล่าวคือในตอนท้ายของแต่ละ Sprint ซึ่งสามารถรับรู้ถึงการเปลี่ยนแปลงที่เกิดขึ้นจากเจ้าของผลิตภัณฑ์ใน Backlog ผลิตภัณฑ์ ในกรณีที่เกิดภัยพิบัติโดยสิ้นเชิงและการเปลี่ยนแปลงการปฐมนิเทศอย่างเต็มที่ความสูญเสียสูงสุดที่ บริษัท ต้องรับคือหนึ่งเดือนของการพัฒนาซึ่งค่อนข้างไม่สามารถพิจารณาได้เนื่องจากมีประมาณ 20 วันทำการต่อเดือน

หากท่านต้องการข้อมูลรายละเอียดเพิ่มเติมการต่อสู้และเปรียวพัฒนาซอฟต์แวร์โปรดดูที่Scrum.orgของพวกเขาและคู่มือการแย่งชิงกัน

นั่นเป็นคำตอบที่ค่อนข้าง! ฉันหวังว่าอย่างน้อยจะช่วยให้คุณผ่านการจัดการโครงการของคุณ

แก้ไข # 1

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


1
+1 แต่คุณควรหยุดหลังจากย่อหน้าที่ 6 :)
P Shved

1
มีคำที่ไม่ใช้รหัสใน backticks มากเกินไป
Rein Henrichs

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

  2. ในขณะที่คุณไม่ควรทำBig Design Up Frontฉันคิดว่าเป็นการดีที่จะคิดถึงภาพรวมทุกครั้งที่คุณกำลังจะปรับและเติมงานในมือทั้งสองสำหรับ Scrum (สำหรับการวิ่งครั้งต่อไป) และ Kanban / flow (เมื่อมีที่ว่าง ในขีด จำกัด WIP) หากคุณพิจารณาทั้งหมด (ผลิตภัณฑ์บริการ ฯลฯ ) ง่ายกว่าที่จะพิจารณาว่ารายการงานใดที่จะทำให้คุณได้รับความคุ้มค่ามากขึ้นต่อไป

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

โดยรวมแล้วฉันคิดว่าคุณมีความคล่องตัวมากขึ้นยิ่งคุณตรวจสอบและปรับตัวมากขึ้น


0

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

คุณควร:

  1. มีแผนแม่บท (โดยไม่ต้องแนบกำหนดเวลา) ที่จะพัฒนาตามที่คุณไป

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

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

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

สมาชิกในทีมคนอื่น ๆ สามารถเพิ่ม Backlog ซึ่งไม่เหมือนกับแผนแม่บทได้ มันขึ้นอยู่กับเจ้าของโครงการหลักเพื่อให้แน่ใจว่ารายการค้างและแผนรูปภาพขนาดใหญ่อยู่ในความสามัคคี - บางครั้งการปรับรายการค้างและบางครั้งแผนภาพใหญ่

วิธีนี้จะรักษาพลังของความคล่องตัวและพลังของการจัดองค์ประกอบทั้งหมดของโครงการให้ดีที่สุดเท่าที่จะทำได้ในเวลาที่กำหนดผ่านการวางแผนภาพขนาดใหญ่

จิม


-3

ฉันจะเพิ่มรูปแบบสั้น ๆ ของคำโหราศาสตร์ต่อต้านของฉันที่นี่

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

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

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


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

1
ฉันเคารพว่าคุณมีประสบการณ์ที่ไม่ดีกับความคล่องตัว แต่ในกรณีนี้มันไม่ใช่ความผิดของตัวเองเปรียว แต่ทีมของคุณไม่ได้คำนึงถึงข้อเท็จจริงที่ว่า "การโหลดแบบไดนามิก" เป็นข้อกำหนดทางสถาปัตยกรรม (เช่นความยืดหยุ่นและความพร้อมใช้งาน / uptime อาจเป็น) สิ่งเหล่านี้ยากที่จะเพิ่มในภายหลังและต้องเป็นส่วนหนึ่งของซอฟต์แวร์ที่ใช้งานได้ที่คุณผลิตและวิธีที่แนะนำในการทำนั้นก็เพียงแค่เพิ่มลงในคำจำกัดความของรายการที่ทำเสร็จแล้ว
Martin Wickman

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

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

1
ฉันเดาว่าคุณจะชนะตรา "I love Agile" แม้ว่าได้รับความคิดเห็นล่าสุดของคุณฉันยังคงสับสนว่าทำไมคุณพยายามปกป้องมันโดยการอ้างอิงอย่างต่อเนื่องเพื่อการต่อสู้ ฉันชอบต่อสู้ด้วย สิ่งหนึ่งที่ฉันชอบเกี่ยวกับเรื่องนี้คือการหลีกเลี่ยงปัญหาที่มาพร้อมกับค่าความคล่องตัว
smithco
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.