Extreme Programming (XP) เข้ากันไม่ได้กับแนวคิดที่แสดงใน Peopleware หรือไม่


16

ฉันเพิ่งอ่าน Peopleware (DeMarco, Lister) เสร็จแล้วและได้ทำการค้นคว้าเกี่ยวกับ Extreme Programming (XP) มาก่อน อย่างที่ฉันเห็นตอนนี้ทั้งสองวิธีเกือบจะไม่เหมือนกัน

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

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

ฉันใหม่มากในการศึกษาการจัดการการพัฒนาซอฟต์แวร์ดังนั้นจึงเป็นไปได้ว่าฉันเพิ่งเข้าใจผิดบางอย่าง ความคิดเห็นทั้งหมดยินดีต้อนรับ

ป.ล. ในฐานะคำถามเล็ก ๆ ที่เพิ่มเข้ามาในฐานะโปรแกรมเมอร์ซึ่งคุณจะพบว่ามีประสิทธิผลมากขึ้นหรือไม่


4
พวกเขาไม่ได้ จำกัด เฉพาะ คู่ devs ควรทำงานอย่างต่อเนื่อง
Lukasz Madon

@lukas: แม้จะพิจารณาสิ่งนี้แล้วการนั่งด้วยกัน "ล่ะ?
Aleksandrs Ulme

คำตอบ:


12

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

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

Extreme Programming สามารถใช้งานได้กับสำนักงาน 2 ถึง 4 แห่งอย่างสมบูรณ์ ในการจับคู่การเขียนโปรแกรมคุณมีค่าสูงสุด 2 หรือ 3


ใช่ตรวจสอบสิ่งที่ฉันสังเกตเห็นบันทึกย่อที่โปรแกรมเมอร์ควรจะแยก "จากเสียงที่แตกต่างไปมากที่พวกเขาทำ" คือจากโปรแกรมเมอร์ที่ไม่ใช่ ขอบคุณ!
Aleksandrs Ulme

ฉันมีความหรูหราในการทำงานในสำนักงาน 3 คนประมาณ 5 ปี มันใช้งานได้ดีจริงๆ - ถ้าคนกำลังทำงานร่วมกัน
quick_now

@quickly_now: คุณทำงานในที่โล่งหรือไม่?

1
ตอนนี้ฉันทำงานในสำนักงานเดียว ฉันเคยทำงานในสำนักงาน 3 คนและก่อนหน้านั้นในแผนเปิด (และก่อนหน้านั้น ... แผนเปิดเพิ่มเติม ... และก่อนหน้านั้นสำนักงานที่มีประตูที่ฉันสามารถปิดได้) การตั้งค่าของฉันหลังจากทั้งหมดนี้เป็นสำนักงานหนึ่งคน หากคุณไม่ได้รับความหรูหรานั่นแสดงว่ามี 2-3 คนที่ดี ยิ่งไปกว่านั้นมันเป็นเพียงหมูยักษ์ปากกา
quick_now

11

ฉันคิดว่าวิธีการทั้งสองอธิบายกลยุทธ์การทำงานทั่วไป แต่ไม่จำเป็นต้องทำทุกนาทีในหนึ่งวัน ต้องมีความสมดุล

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

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


4

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

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


1

โดยส่วนตัวแล้วฉันพบว่าเป็นไปไม่ได้ที่จะทำงานร่วมกับใครบางคนแม้ว่าฉันจะเรียนรู้จากบุคคลนั้นก็ตาม อาจเป็นเพราะบางคน (เช่นฉัน) ทำงานได้ดีขึ้นในรูปแบบ "คลาสสิค" ที่มากขึ้น (เข้าสู่โซนความเงียบ ฯลฯ ... )

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

สำหรับบางสิ่งเช่นนี้การทำงานเป็นคู่การสื่อสารจำนวนมาก ฯลฯ อาจเป็นหนทางเดียวที่จะก้าวไปข้างหน้าอย่างมีประสิทธิภาพ (คุณจะไม่ใช้เวลา X ชั่วโมงเพียงเพื่อจะพบว่าอีเมลที่ส่งโมดูล Joomla! / Bug Droopal เป็นคุณ ?)


-2

ใช่ XP นั้นเข้ากันไม่ได้กับ Peopleware และแนวทางการพัฒนาซอฟต์แวร์ที่ดีภายใน คุณอาจต้องรีเฟรชตัวเองด้วยหัวข้อก่อนดำเนินการต่อ

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

ตารางที่ 8-1 ที่ด้านล่างจะมีคาถาออกมามากที่สุดและรายการสุดท้ายคือตอร์ปิโดที่ดีที่สุด

  1. คนมักจะขัดจังหวะคุณโดยไม่จำเป็นหรือไม่? 38% ใช่ 76% ใช่

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

อย่าลืม coder ที่ใส่หูฟังและ cranks ระดับเสียงขึ้นเพื่อให้คุณยังสามารถได้ยินมันห่างออกไป 6 ฟุตหรือแย่กว่านั้นรู้สึกว่าถูกบังคับให้ใช้ปากกา / ดินสอเพื่อกลองพร้อมกับส่วนของ 'เพลงที่ยอดเยี่ยม' โอ้และถ้าคุณโชคร้ายพอที่จะมีแฟนกีฬาคนหนึ่งทำงานด้านไอทีพวกเขาจะเข้ามาสูบ

“ โอ้! คุณเห็นเกมเมื่อคืนหรือไม่ !!!! และ CALL นั้น !!!! พวกเขาตาบอดหรือไม่?”

คุณจะได้ภาพ

XP โดยคำจำกัดความเริ่มต้นคือ 2 โปรแกรมเมอร์และหนึ่งแป้นพิมพ์ มันเป็นวิธีการที่เหมาะอย่างยิ่งสำหรับการดำน้ำลึกที่หายากแก้ไขข้อผิดพลาดไม่ใช่สำหรับการพัฒนาซอฟต์แวร์ขนาดใหญ่ ทั้งแนวคิดแบบเปิดโล่งและแนวคิดห้องทีมละเมิดการวิจัยที่ทำใน Peopleware

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