Tôi đang xây dựng một hệ thống phần mềm cho dự án thạc sĩ của mình và đang tìm kiếm lời khuyên về các phương pháp cụ thể phù hợp với "một nhóm một người" ...
Tôi đang xây dựng một hệ thống phần mềm cho dự án thạc sĩ của mình và đang tìm kiếm lời khuyên về các phương pháp cụ thể phù hợp với "một nhóm một người" ...
Câu trả lời:
Tôi kiếm sống bằng nghề "thuê súng phần mềm" một người, người làm việc chủ yếu ở nhà, vì vậy tôi rất muốn nghe người khác nói gì về điều này.
Dưới đây là một vài điều tôi thấy quan trọng:
Các kỹ thuật khác của tôi đã phát triển qua nhiều năm và tôi điều chỉnh chúng tùy thuộc vào dự án và khách hàng. Mọi người trả tiền cho tôi để làm việc với mã, không bị lừa bởi quy trình, vì vậy tôi cố gắng giữ quy trình gọn nhẹ và tránh xa khuôn mặt của khách hàng. Nhưng tôi thấy một số kỹ thuật Agile hoạt động thực sự tốt với tôi:
Một vấn đề khác khi bạn tự làm việc là bạn không có ai nói cho bạn biết phải làm gì hoặc khi nào, hoặc nếu bạn đã hoàn thành công việc hoặc khi nào nên nghỉ việc vì bạn đã làm đủ - vì vậy bạn phải làm điều đó cho chính mình Cá nhân tôi thích Scrum vì tôi có thể theo dõi cách tôi thực hiện các mục tiêu chạy nước rút của mình. Đối với các dự án Kanban, tôi chỉ có thể theo dõi thời gian tôi đặt vào, nhưng tôi không thích điều đó cũng như một cái gì đó dựa trên mục tiêu hơn.
Một số người bạn của tôi thề với Pomodoro như một cách để giữ họ tập trung vào các nhiệm vụ và theo dõi hiệu quả cá nhân, và tôi đang nghĩ đến việc thử nó.
Tôi cũng có một quy trình chính thức để phát hành mã cho khách hàng của mình để đảm bảo những gì họ nhận được là "đúng", nhưng điều đó có thể nằm ngoài phạm vi của những gì bạn đang hỏi về.
Sử dụng SVN ở trên, phiên bản mọi thứ. Để theo dõi, máy tính xách tay sẽ làm cho các dự án đơn giản hơn, nếu cần bạn có nhiều ứng dụng theo dõi lỗi / nhiệm vụ miễn phí (Redmine rất tuyệt). Theo tôi, Agile / XP / Tích hợp liên tục / những người khác sẽ hơi quá mức cần thiết.
Ngoài Quy trình phần mềm cá nhân , tôi không thấy nhiều về các mô hình quy trình chính thức được thiết kế để sử dụng bởi một nhà phát triển. PSP khá nặng về tài liệu và giấy tờ (dù ở dạng thô), không cần nói nhiều về các kỹ thuật cụ thể trong thực hiện công việc (thay vào đó, PSP tập trung vào thu thập dữ liệu để tìm các khu vực cần cải thiện), nhưng đó là một sự khởi đầu điểm để phát triển một quy trình cá nhân mà bạn có thể sử dụng cho các dự án vừa và nhỏ.
Tôi nghĩ rằng cách hành động tốt nhất sẽ chỉ đơn giản là tuân theo một số lựa chọn phù hợp (dựa trên nhu cầu của bạn và dự án) được chấp nhận rộng rãi từ các mô hình quy trình. Hãy xem các phương pháp để theo dõi công việc đã hoàn thành / công việc còn lại, yêu cầu quản lý, kiểm soát phiên bản, kiểm tra (đặc biệt là kiểm tra đơn vị và kiểm tra chấp nhận), tích hợp liên tục, tiêu chuẩn mã hóa, You Ain't Gonna Need It, v.v. Nếu bạn chưa, tôi khuyên bạn nên đọc Code Complete và Lập trình viên thực dụng và thực hành các mẹo của họ.
Điều lớn nhất khi làm việc cá nhân là, ngoài bất kỳ hạn chế nào đặt ra cho bạn bởi các lực lượng bên ngoài, tất cả tùy thuộc vào bạn. Bạn không cần phải hỗ trợ bất kỳ ai khác làm việc bên cạnh bạn, vì vậy việc chọn các kỹ thuật cho phép bạn làm việc theo cách hiệu quả nhất có thể sẽ dễ dàng hơn. Trong những năm qua, có lẽ bạn đã tìm ra cách bạn làm việc tốt nhất, vì vậy đó sẽ là một điểm khởi đầu tốt. Sau đó áp dụng "thực hành tốt nhất" được biết đến trên đó để tăng cường khả năng và kỹ thuật của bạn.
Anh chàng đang hỏi về phương pháp cụ thể và mọi người đang trả lời "sử dụng phần mềm X / Y". KHÔNG phải là vấn đề của các công cụ, thực sự có nhiều phương pháp và dường như chưa có báo cáo xác nhận nào cho chúng: Agile, Iterative, xoắn ốc, Waterfall, XP, V-Model, TDD.