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

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

ว่าด้วยเรื่องของการเขียนโปรแกรม

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

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

เกี่ยวกับวิธีการ

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

  • ฉันร่างการออกแบบบางอย่างสำหรับ “ตัวกำหนดเวลางาน”
  • เมื่อทำการออกแบบนั้น ฉันต้องทำตามเทมเพลตของสิ่งที่ฉันต้องมี การใช้เทมเพลตมีกลิ่นไม่ดีสำหรับฉัน แต่ฉันก็ทำมัน และฉันพยายามอย่างดีที่สุดที่จะเข้าใจทุกส่วนของมัน และเขียนการออกแบบของฉันตามนั้น
  • ส่วนหนึ่งของเทมเพลตคือ "เหตุการณ์สำคัญ" เหตุการณ์สำคัญใดที่มีความสำคัญต่อการนำการออกแบบไปใช้ วิธีใดที่ฉันจะวางไว้เพื่อย้ายระบบไปยังการออกแบบใหม่ ฯลฯ...
  • หลังจากที่การออกแบบได้รับการอนุมัติ ฉันก็ต้องคิด "มหากาพย์" ขึ้นมาบ้าง “Epic Issue” ถือเป็นเรื่องใหญ่ที่ต้องทำและอาจจำเป็นต้องแบ่งย่อย เป็นส่วนหนึ่งของคำศัพท์ "Agile" นี้ ฉันตั้งใจกับมันและสร้างอีพิคขึ้นมาโดยใช้ความคิดใหม่ๆ ขึ้นมา
  • แต่แล้ว ฉันได้บอกว่าสิ่งที่ฉันต้องทำจริงๆ คือเปลี่ยน "เหตุการณ์สำคัญ" ที่ฉันกำหนดไว้ในเอกสารการออกแบบให้เป็น "มหากาพย์" เอาเลย …
  • การนำบางสิ่งกลับมาใช้ซ้ำสองครั้งในกระบวนการนั้นมีกลิ่นเหม็นต่อระบบราชการ ทุกส่วนของกระบวนการมีขอบเขตของตัวเอง ดังนั้นทุกส่วนจำเป็นต้องได้รับการพิจารณา

อย่างไรก็ตาม ฉันแค่เบื่อหน่ายกับการพยายามทำตามวิธีแบบ Agile ที่เปลี่ยนแปลงอยู่ตลอดเวลา ดังนั้นฉันจึงไม่สามารถทำได้เลย ฉันสาบานว่าบางครั้งดูเหมือนว่า “ผู้นำการสอน” ของฉันกำลังเปลี่ยนแปลงดังนั้นฉันจึงทำแบบนั้นไม่ได้เลย

ขออภัยที่พูดจาโผงผาง