ฉันกำลังสร้างระบบซอฟต์แวร์สำหรับโครงการปริญญาโทของฉันและกำลังมองหาคำแนะนำเกี่ยวกับวิธีการเฉพาะที่เหมาะสมกับ "ทีมชายคนหนึ่ง" ...
ฉันกำลังสร้างระบบซอฟต์แวร์สำหรับโครงการปริญญาโทของฉันและกำลังมองหาคำแนะนำเกี่ยวกับวิธีการเฉพาะที่เหมาะสมกับ "ทีมชายคนหนึ่ง" ...
คำตอบ:
ฉันทำให้ชีวิตของฉันเป็น "ซอฟต์แวร์เช่าปืน" ชายคนหนึ่งซึ่งทำงานจากที่บ้านเป็นส่วนใหญ่ดังนั้นฉันจึงอยากได้ยินสิ่งที่คนอื่นพูดเกี่ยวกับเรื่องนี้
นี่คือบางสิ่งที่ฉันพบว่าสำคัญ:
เทคนิคอื่น ๆ ของฉันมีการพัฒนาในช่วงหลายปีที่ผ่านมาและฉันปรับแต่งพวกเขาขึ้นอยู่กับโครงการและลูกค้า ผู้คนจ่ายเงินให้ฉันสำหรับรหัสการทำงานไม่ได้หลอกไปกับกระบวนการดังนั้นฉันจึงพยายามทำให้กระบวนการมีน้ำหนักเบาและออกจากใบหน้าลูกค้าของฉัน แต่ฉันพบว่าเทคนิค Agile บางอย่างทำงานได้ดีสำหรับฉัน:
gotcha อีกอันที่ทำงานด้วยตัวคุณเองคือคุณไม่มีใครบอกคุณว่าต้องทำอะไรหรือเมื่อไหร่หรือถ้าคุณทำเสร็จพอหรือเลิกงานเพราะเมื่อคุณทำเสร็จแล้ว - คุณต้องทำ สำหรับตัวคุณเอง ฉันชอบการต่อสู้แบบตัวต่อตัวเพราะฉันสามารถติดตามว่าฉันทำตามเป้าหมายการวิ่งของฉันได้อย่างไร สำหรับโครงการของ Kanban ฉันสามารถติดตามเวลาที่ฉันใส่เข้าไปได้ แต่ฉันไม่ชอบสิ่งนั้นรวมถึงบางสิ่งที่อิงกับเป้าหมายมากขึ้น
เพื่อนของฉันสาบานโดย Pomodoro เพื่อให้พวกเขาจดจ่ออยู่กับงานและติดตามประสิทธิภาพส่วนบุคคลและฉันก็คิดว่าจะลองทำดู
ฉันยังมีกระบวนการอย่างเป็นทางการในการปล่อยรหัสให้กับลูกค้าของฉันเพื่อให้แน่ใจว่าสิ่งที่พวกเขาได้รับคือ "ถูกต้อง" แต่นั่นอาจอยู่นอกขอบเขตของสิ่งที่คุณถาม
ใช้ SVN ด้านบนอื่นทุกอย่างเป็นเวอร์ชั่น สำหรับการติดตามโน้ตบุ๊กจะทำเพื่อโครงการที่ง่ายกว่าถ้าต้องการคุณมีแอปพลิเคชั่นติดตามงาน / ข้อบกพร่องฟรีมากมาย (Redmine เจ๋ง) Agile / XP / Continuous Integration / อื่น ๆ จะคิดค่าใช้จ่ายน้อยเกินไปในความคิดของฉัน
นอกเหนือจากกระบวนการซอฟต์แวร์ส่วนบุคคลแล้วฉันไม่พบว่ามีโมเดลเกี่ยวกับกระบวนการที่เป็นทางการออกแบบมาเพื่อใช้โดยผู้พัฒนารายเดียว PSP ค่อนข้างหนักในการจัดทำเอกสารและเอกสาร (ในรูปแบบดิบอยู่แล้ว) โดยไม่ต้องพูดถึงเทคนิคเฉพาะในการทำงาน (แทนที่จะเป็น PSP ที่เน้นการรวบรวมข้อมูลเพื่อหาพื้นที่สำหรับการปรับปรุง) แต่เป็นการเริ่มต้น จุดสำหรับการพัฒนากระบวนการส่วนบุคคลที่คุณสามารถใช้กับโครงการขนาดเล็กถึงขนาดกลาง
ฉันคิดว่าแนวทางการปฏิบัติที่ดีที่สุดคือเพียงทำตามสิ่งที่เลือกไว้อย่างเหมาะสม (ตามความต้องการของคุณและโครงการ) แนวทางปฏิบัติที่ดีที่สุดที่ได้รับการยอมรับอย่างกว้างขวางจากแบบจำลองกระบวนการจำนวนหนึ่ง ดูวิธีการติดตามงานที่ทำได้ / เหลืองานการจัดการความต้องการการควบคุมเวอร์ชันการทดสอบ (โดยเฉพาะหน่วยและการทดสอบการยอมรับ) การรวมอย่างต่อเนื่องมาตรฐานการเข้ารหัสคุณไม่จำเป็นต้องทำอย่างนั้น หากคุณยังไม่มีฉันแนะนำให้อ่านCode CompleteและThe Pragmatic Programmerและฝึกฝนเคล็ดลับ
สิ่งที่ใหญ่ที่สุดเกี่ยวกับการทำงานเป็นรายบุคคลคือนอกเหนือจากข้อ จำกัด ใด ๆ ที่คุณได้รับจากกองกำลังภายนอก คุณไม่จำเป็นต้องรองรับคนอื่นที่ทำงานเคียงข้างคุณดังนั้นจึงง่ายต่อการเลือกเทคนิคที่ช่วยให้คุณทำงานได้อย่างมีประสิทธิภาพมากที่สุด ในช่วงหลายปีที่ผ่านมาคุณอาจจะค้นพบวิธีการทำงานของคุณให้ดีที่สุดเพื่อเป็นจุดเริ่มต้นที่ดี จากนั้นใช้ "แนวทางปฏิบัติที่ดีที่สุด" ที่รู้จักกันดีเพื่อปรับปรุงความสามารถและเทคนิคของคุณ
ผู้ชายคนนั้นถามเกี่ยวกับวิธีการเฉพาะและผู้คนตอบว่า "ใช้ซอฟต์แวร์ X / Y" ไม่ใช่เรื่องของเครื่องมือจริงๆมีหลายวิธีและดูเหมือนว่ายังไม่มีรายงานการตรวจสอบสำหรับพวกเขา: Agile, Iterative, Spiral, Waterfall, XP, V-Model, TDD