ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การพัฒนาซอฟต์แวร์แบบ Extreme Programming

รูปการทำงานของ Extreme Programming

 

Extreme Programming คือกฎระเบียบการพัฒนาซอฟต์แวร์ โดยจะเน้นความสนใจไปที่ สมาชิกในทีมทั้งหมด ได้แก่ Manager, Customer, XP Programmer และ XP Coach เพื่อมุ่งไปสู่เป้าหมายร่วมกัน โดยหลักการคุณค่าของ Extreme Programming

 

บทบาทของ XP Programmer จะมีทักษะทางเทคนิคที่กว้างขวาง และหลากหลาย ได้แก่ Design, Analysis, Programming, Database Analysis และ Hardware Infrastructure โดย XP Programmer สามารถแชร์หรือช่วยเหลือ และเเบ่งปันความสามารถให้แก่กันได้ 

 

หลักการปฎิบัติของ Extreme Programming 

  1. The Planning Game : ลูกค้า หรือ โปรแกรมเมอร์จะช่วยกันทำงานเพื่อให้ได้คุณค่าสูงสุดและเร็วที่สุด ซึ่งยังเป็นผลดีกับตัวลูกค้าเองด้วย
  2. Small Releases : จะเริ่มต้นด้วยลูกค้าจะเป็นผู้เลือกรูปแบบของ feature งานที่ให้อัตถะประโยชน์ที่ได้จากการใช้งาน feature สูงสุด และใช้เวลาเร็วที่สุด เพื่อให้ได้ซอฟต์แวร์ออกมาใช้งานก่อน แล้วค่อย ๆ เพิ่ม feature set ใหม่เข้าไป
  3. System Metaphor ในเเต่ละ Projects จะต้องกำหนดนิยามความหมายของคำเฉพาะทางเทคนิคของลูกค้าให้เข้าใจตรงกัน เพื่อให้สามารถสื่อสารกันได้ง่ายขึ้น 
  4. Simple Design พยายามออกแบบให้ง่าย ๆ และทำงานได้ดีก่อน เพื่อให้งานออกมาสำเร็จเร็วที่สุด เพราะความต้องการของลูกค้าสามารถเปลี่ยนแปลงได้ตลอดเวลา
  5. Continuous Testing ก่อนที่โปรแกรมเมอร์ จะเพิ่ม feature ควรจะมีการทดลองคิดจินตนาการ แล้วเขียน Test สำหรับทดสอบ feature นั้นให้ได้ก่อน
  6. Refactoring โปรแกรมเมอร์จะต้องแก้ไข Code ของตัวเองให้ดีขึ้นอยู่เสมอ เช่น Logic ที่เขียน Code ซ้ำ ๆ กันก็จะถูกรวมไว้ที่เดียวกัน
  7. Pair Programming ในทุก ๆ Production code ที่ถูกเขียนขึ้นมาโดยโปรแกรมเมอร์ สองคนที่อยู่บนเครื่องเดียว สองคนนั้นก็จะ Review และเขียน Unit test และทดสอบ Code ที่ถูกเขียนขึ้นมาเอง
  8. Collective Code Ownership ไม่มีบุคคลใดเป็นเจ้าของ Module ใด ๆ คนเดียวทุกคนใจททีมจะต้องคาดหวังว่าจะสามารถทำงานบน Code base เดียวกัน
  9. Continuous Integration(CI) การเปลี่ยนแปลงทั้งหมดจะถูกรวมอยู่ใน Code base อย่างน้อยทุกวัน เเละการทดสอบจะต้องถูกต้อง 100% ทั้งก่อนและหลังการรวม (integration)
  10. 40-Hour Work Week โปรแกรมเมอร์จะต้องกับบ้านตรงเวลา และเมื่อไหร่ก็ตามที่โปรแกรมเมอร์ทำงานล่วงเวลาแสดงว่าจะต้องมีบางสิ่งผิดพลาด
  11.  On-site Customer ทีม XP จะต้องเข้าถึงชีวิตการทำงานจริงๆ ของลูกค้าซึ่ง มันก็คือผู้ใช้งานจริงอยู่ในระบบ
  12. Coding Standards Code ของทุกคนเป็นมาตรฐานเดียวกันหมด เป็นสิ่งที่ทำให้การทำงานง่ายขึ้น และเมื่อทุกคนในทีมอ่าน Code ที่มีรูปแบบการจัดการ และเขียน Code ที่มีรูปแบบไปในทางเดียวกัน 

 

 Extreme Programming คือ หลักการจัดเตรียมการปฏิบัติ ที่เหมาะสมกับบริบทหรือสภาวะเเวดล้อมภายในทีม XP เอง และหลักการปฏิบัติของ XP ที่ต้องเลือกมา จะพิจารณาจากหลักการที่ต้อง ส่งเสริมให้ทีมเกิดความคิดสร้างสรรค์ เกิดพลังขับเคลื่อนในการผลิตซอฟต์แวร์อย่างมีคุณภาพ และเป็นที่ยอมมรับภายในทีมทั้งหมด

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ขอสอบถามเกี่ยวกับ การ send_file zip ครับ
โดย benzas00123 ส 25 ม.ค. 2020 8:44 pm บอร์ด Programming - C/C++ & java & Python
0
5
ส 25 ม.ค. 2020 8:44 pm โดย benzas00123
ขอสอบถามเกี่ยวกับวิธีสร้างตัวไว้สำหรับ download หน่อยครับ
โดย benzas00123 ส 25 ม.ค. 2020 5:53 pm บอร์ด Programming - C/C++ & java & Python
0
6
ส 25 ม.ค. 2020 5:53 pm โดย benzas00123
pycharm รันภาษาไทยไม่ได้
โดย Anonymous ส 25 ม.ค. 2020 5:29 pm บอร์ด Programming - C/C++ & java & Python
0
6
ส 25 ม.ค. 2020 5:29 pm โดย บุคคลทั่วไป
pycharm รันภาษไม่ได้
โดย Anonymous ส 25 ม.ค. 2020 5:15 pm บอร์ด Programming - C/C++ & java & Python
1
7
ส 25 ม.ค. 2020 5:16 pm โดย mindphp
ขอสอบถามวิธีการ ปิด ip หน่อยครับ
โดย benzas00123 ส 25 ม.ค. 2020 2:48 pm บอร์ด Programming - C/C++ & java & Python
2
16
ส 25 ม.ค. 2020 5:39 pm โดย benzas00123
จะทำไรให้ View Detail จัดเรียงได้ครับ
โดย jamepiyawat ส 25 ม.ค. 2020 2:32 pm บอร์ด Joomla Development
1
24
ส 25 ม.ค. 2020 2:41 pm โดย mindphp
os.mkdir ฟังก์ชั่นสำหรับการสร้าง folder ใหม่
โดย benzas00123 ศ 24 ม.ค. 2020 6:44 pm บอร์ด Python Knowledge
0
9
ศ 24 ม.ค. 2020 6:44 pm โดย benzas00123
upload รูปภาพหลายๆรูป ด้วย Flask
โดย benzas00123 ศ 24 ม.ค. 2020 6:31 pm บอร์ด Python Knowledge
0
16
ศ 24 ม.ค. 2020 6:31 pm โดย benzas00123
มาแล้ว MDPartner Component สำหรับจัดเก็บข้อมูลลูกค้าในระบบ CRM
โดย prmindphp ศ 24 ม.ค. 2020 6:02 pm บอร์ด MindPHP News & Feedback
0
40
ศ 24 ม.ค. 2020 6:02 pm โดย prmindphp
os.remove ฟังก์ชั่นสำหรับการลบไฟล์
โดย benzas00123 ศ 24 ม.ค. 2020 5:35 pm บอร์ด Python Knowledge
0
10
ศ 24 ม.ค. 2020 5:35 pm โดย benzas00123
ขอสอบถามวิธีการดึงข้อมูลมาลงใน table ที่เราต้องการหน่อยครับ
โดย benzas00123 ศ 24 ม.ค. 2020 2:06 pm บอร์ด Programming - C/C++ & java & Python
1
18
ศ 24 ม.ค. 2020 2:14 pm โดย benzas00123
ลูกไม่รักดี?
โดย noppadonsk ศ 24 ม.ค. 2020 10:40 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
16
ศ 24 ม.ค. 2020 10:40 am โดย noppadonsk
วิธีการแปลง timestamp เพื่อหาจำนวนวันที่ผ่านมาหรือคงเหลือ
โดย Ittichai_chupol พ 22 ม.ค. 2020 6:37 pm บอร์ด PHP Knowledge
0
46
พ 22 ม.ค. 2020 6:37 pm โดย Ittichai_chupol
วิธีการตรวจสอบว่ารูปเป็นแนวตั้งหรือแนวนอน ด้วยภาษา php
โดย jamepiyawat พ 22 ม.ค. 2020 6:16 pm บอร์ด PHP Knowledge
0
30
พ 22 ม.ค. 2020 6:16 pm โดย jamepiyawat
Range Sliders เก็บค่าตัวเลขด้วย range sliders
โดย benzas00123 พ 22 ม.ค. 2020 5:50 pm บอร์ด Booststap Knowledge
1
87
ศ 24 ม.ค. 2020 9:32 am โดย LEG
อยากทราบวิธีการตรวจสอบว่าจะมีเวลาอีกกี่วันถึงจะ ถึงเลข timestamp ที่กำหนด
โดย Ittichai_chupol พ 22 ม.ค. 2020 3:54 pm บอร์ด Programming - PHP
1
103
พ 22 ม.ค. 2020 4:18 pm โดย thatsawan
ขอสอบถามวิธีการเขียน bootstrap 3 ในการสร้าง bar ครับ
โดย benzas00123 พ 22 ม.ค. 2020 3:13 pm บอร์ด HTML CSS
5
153
พ 22 ม.ค. 2020 3:32 pm โดย benzas00123
วันหยุดที่หายไป
โดย noppadonsk พ 22 ม.ค. 2020 11:42 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
58
พ 22 ม.ค. 2020 11:42 am โดย noppadonsk
วิธีการปรับการการแสดงการ รายชื่อของแจ้งเตือน bookmark โดย phpbb
โดย Ittichai_chupol อ 21 ม.ค. 2020 5:45 pm บอร์ด PHP Knowledge
0
49
อ 21 ม.ค. 2020 5:45 pm โดย Ittichai_chupol
pillow vs wand library ความแตกต่างของ library ทั้ง 2 ตัวในการ procress รูปภาพ
โดย benzas00123 อ 21 ม.ค. 2020 5:29 pm บอร์ด Python Knowledge
1
45
อ 21 ม.ค. 2020 5:54 pm โดย mindphp