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

การพัฒนาซอฟต์แวร์แบบ 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 ที่ต้องเลือกมา จะพิจารณาจากหลักการที่ต้อง ส่งเสริมให้ทีมเกิดความคิดสร้างสรรค์ เกิดพลังขับเคลื่อนในการผลิตซอฟต์แวร์อย่างมีคุณภาพ และเป็นที่ยอมมรับภายในทีมทั้งหมด

 

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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ไม่เข้าใจคำสั่ง preg_replace
โดย profess79 ส 20 มิ.ย. 2020 11:56 am บอร์ด Programming - PHP
1
112
ส 20 มิ.ย. 2020 6:19 pm โดย profess79
วิธีการทำทศนิยม 3 ตำแหน่ง ด้วย python
โดย bolue ศ 19 มิ.ย. 2020 4:49 pm บอร์ด Python Knowledge
0
84
ศ 19 มิ.ย. 2020 4:49 pm โดย bolue
วิธีการ เพิ่มข้อมูล ลงฐานข้อมูล พร้อม รีเทิร์น id กลับมา ด้วยคำสั่ง sql
โดย bolue ศ 19 มิ.ย. 2020 3:25 pm บอร์ด SQL Knowledge
0
554
ศ 19 มิ.ย. 2020 3:25 pm โดย bolue
เจอปัญหา ส่งเมลผิดพลาด : Language string failed to load: from_failed บน phpmailer
โดย mindphp ศ 19 มิ.ย. 2020 3:26 am บอร์ด Programming - PHP
2
1610
ศ 19 มิ.ย. 2020 5:47 pm โดย mindphp
กฎหมายที่ใช้ควบคุมโรค โควิด-19 ฝ่าฝืนได้รับโทษอย่างไรบ้าง?
โดย Decha Thaweeumanjvaroj พฤ 18 มิ.ย. 2020 10:17 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
106
พฤ 18 มิ.ย. 2020 10:17 am โดย Decha Thaweeumanjvaroj
ไม่สามารถ start openerp-server ของ openerp 7 ได้
โดย bolue พฤ 18 มิ.ย. 2020 10:09 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
10
176
ศ 19 มิ.ย. 2020 12:49 pm โดย bolue
ติดตั้ง ERP 7 ไม่ได้ค่ะ
โดย bolue พ 17 มิ.ย. 2020 4:01 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
12
165
ส 27 มิ.ย. 2020 12:47 am โดย mindphp
การ count ตาราง จากการรวมข้อมูล 2 ตารางเข้าด้วยกันด้วยคำสั่ง sql
โดย bolue อ 16 มิ.ย. 2020 5:01 pm บอร์ด SQL Knowledge
0
169
อ 16 มิ.ย. 2020 5:01 pm โดย bolue
การใส่ไวยากรณ์สำหรับความคิดเห็นใน php พื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 3:28 pm บอร์ด PHP Knowledge
0
47
อ 16 มิ.ย. 2020 3:28 pm โดย phennapa
ตัวแปร php พื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 1:45 pm บอร์ด PHP Knowledge
0
52
อ 16 มิ.ย. 2020 1:45 pm โดย phennapa
แนะนำ php พื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 12:37 pm บอร์ด PHP Knowledge
0
52
อ 16 มิ.ย. 2020 12:37 pm โดย phennapa
เริ่มต้นการเขียน PHP
โดย phennapa อ 16 มิ.ย. 2020 11:46 am บอร์ด PHP Knowledge
0
51
อ 16 มิ.ย. 2020 11:46 am โดย phennapa
การใช้ Style ตกแต่งเว็บเพจ ด้วยภาษา(CSS)ขั้นพื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 6:20 am บอร์ด CSS Knowledge
0
56
อ 16 มิ.ย. 2020 6:20 am โดย phennapa
การออกแบบหน้าlogin ขั้นพื้นฐาน php
โดย phennapa อ 16 มิ.ย. 2020 5:23 am บอร์ด PHP Knowledge
0
76
อ 16 มิ.ย. 2020 5:23 am โดย phennapa
Android - การออกแบบUI หน้าlogin พื้นฐาน
โดย phennapa จ 15 มิ.ย. 2020 6:39 pm บอร์ด Mobile Application Developing- Android, iOS
1
194
อ 16 มิ.ย. 2020 2:59 am โดย บุคคลทั่วไป
การจับ error ใน ฟังก์ชั่น ด้วยการใช้ current_app ใน python
โดย bolue จ 15 มิ.ย. 2020 6:18 pm บอร์ด Python Knowledge
0
44
จ 15 มิ.ย. 2020 6:18 pm โดย bolue
วิธีการเดินทางจาก อำเภอกันทรลักษ์ จังหวัดศรีสะเกษ มา กรุงเทพ.
โดย phennapa จ 15 มิ.ย. 2020 5:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
37
จ 15 มิ.ย. 2020 5:12 pm โดย phennapa
อยากทราบว่าใส่รูปยังไงคะในกระทู้ค่ะ
โดย phennapa จ 15 มิ.ย. 2020 4:49 pm บอร์ด MindPHP News & Feedback
1
63
จ 15 มิ.ย. 2020 5:01 pm โดย thatsawan
ไม่สามารถใช้ route methods get ได้ ใน flask_classful
โดย bolue จ 15 มิ.ย. 2020 1:08 pm บอร์ด Programming - C/C++ & java & Python
2
69
จ 15 มิ.ย. 2020 3:28 pm โดย bolue
สอบถามค่ะ บาง url ที่ดึงมา ใช้ไม่ได้ค่ะ
โดย bolue พฤ 11 มิ.ย. 2020 2:40 pm บอร์ด Programming - C/C++ & java & Python
7
177
จ 15 มิ.ย. 2020 8:52 am โดย bolue