คุณจะสร้างกระบวนการซอฟต์แวร์สำหรับโครงการได้อย่างไร


13

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

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


Good-Fast-Cheap-Process - เมื่อโปรเจ็กต์หยุดทำงานให้ลดขั้นตอนลง
ChuckCottrill

2
สิ่งนี้เกิดขึ้นได้อย่างไร?
Robert Harvey

คำตอบ:


10

ฉันขอแนะนำให้คุณดูการเขียนโปรแกรมแบบเปรียว

มีหลายสายพันธุ์ แต่พวกเขามักจะมีบางสิ่งที่เหมือนกัน:

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

สถานที่ที่ดีที่จะเริ่มต้นจะเป็นชายเปรียวหรือการแย่งชิงกัน


7

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

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


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

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

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

1

เราใช้Prince2สำหรับกระบวนการจัดการโครงการและทำงานได้ดีมาก ฉันอยากจะแนะนำว่ามันดูคดเคี้ยวสำหรับ บริษัท ที่ไม่มีการจัดการโครงการในสถานที่ แต่!


1

เราปรับเปลี่ยนขั้นตอนการพัฒนาที่สรุปไว้ในวิดีโอนี้ตามความต้องการของเราโดยใช้ TeamCity เป็นเซิร์ฟเวอร์ CI ของเรา

http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Tuning-The-Development-Process-at-Spot-Runner/

TC เป็นระบบ CI เดียวที่ฉันรู้ว่ามันเป็น repository-push แทนที่จะเป็น pull ซึ่งหมายความว่า (ในทางทฤษฎี) ไม่มี build ที่เสียหายอีกต่อไป!


1

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


0

ตรวจสอบบทความเหล่านี้เกี่ยวกับการรวมอย่างต่อเนื่องสำหรับ. NET การเขียนโปรแกรมโดยใช้ MSBuild, CruiseControl.NET, FxCop, NUnit, NCover และการโค่นล้ม ...

จากร่องลึกการพัฒนาซอฟต์แวร์


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