Làm cách nào tôi có thể theo dõi rằng tôi đang phát triển phần mềm ít nhiều năng suất hơn những ngày trước?
Làm cách nào tôi có thể theo dõi rằng tôi đang phát triển phần mềm ít nhiều năng suất hơn những ngày trước?
Câu trả lời:
Có một câu trả lời đơn giản: bạn không thể. Và hơn nữa, bạn không nên.
Bạn muốn đo năng suất của chính mình, nhưng bạn có thể khái quát: làm thế nào bạn có thể đo năng suất của lập trình viên? Trước hết bạn phải xác định ý của bạn về "năng suất": số lượng mã được tạo ra? Số lượng thiết kế (hoặc đặc điểm kỹ thuật) thực hiện? Số lượng vấn đề cố định? Chất lượng mã sản xuất? (Vâng, chất lượng là một bộ đếm năng suất, bạn có thể tạo ra rất nhiều mã xấu hoặc một vài mã tốt, cái gì có năng suất cao hơn?). Tất cả các giá trị này khó có thể được ánh xạ tới cơ sở hàng ngày và bất kỳ nỗ lực nào để theo dõi năng suất hàng ngày đều nguy hiểm cho dự án, cho công ty và cho lập trình viên.
Lời khuyên của tôi là xác định rõ ràng ý của bạn là "năng suất", sau đó xác định đơn vị đo lường và áp dụng nó trên cơ sở hàng tuần và hàng tháng.
Cả hai đề xuất dưới đây có thể được chấp nhận một cách đại khái cho nhu cầu của bạn, nhưng trong cả hai trường hợp, bạn cần phải ước tính trước và sau đó phân tích chúng một cách cụ thể (và thành thật mà nói, tôi không chắc có cách nào khác để đo lường điều này không, tôi đồng ý với TheLQ rằng các dòng mã trên mỗi khoảng thời gian không thể sử dụng được).
Các phương pháp phát triển Agile
Mặc dù tôi không chắc nó có thể được áp dụng hiệu quả như thế nào cho một kịch bản nhà phát triển duy nhất, một số nguyên tắc được sử dụng trong Agile có thể chứng minh hữu ích trong những gì bạn hướng tới. Agile hoạt động theo các chu kỳ trong đó các nhà phát triển nhằm thực hiện các câu chuyện (nhiệm vụ) được tính điểm (tính theo điểm) dựa trên mức độ phức tạp thực hiện khi bắt đầu một chu kỳ phát triển, sau đó phân tích vào cuối mỗi chu kỳ. Điều này cho phép xác định vận tốc, tức là số điểm mà nhà phát triển hoặc nhóm có thể hoàn thành trong một chu kỳ phát triển.
Nếu cách bạn làm việc cho phép bạn áp dụng một số nguyên tắc và sắp xếp công việc theo chu kỳ, bạn có thể sử dụng vận tốc trên mỗi chu kỳ phát triển để theo dõi hiệu quả của mình. Lưu ý rằng chu kỳ thường kéo dài 2-3 tuần, tuy nhiên bạn chỉ có thể rút ngắn chúng khi sử dụng cho riêng mình. Tất cả là do nếu bạn có thể áp dụng một phương pháp như vậy trong môi trường của bạn.
Lập kế hoạch dựa trên bằng chứng
Mặc dù chủ yếu là để cải thiện các ước tính, bạn sẽ có thể sử dụng nó một cách hiệu quả để theo dõi các xu hướng giảm năng suất.
Đồng ý với Lorenzo, xác định năng suất.
Tôi cũng đã làm điều này: 1. Phá vỡ tất cả các nhiệm vụ (phá vỡ cấp độ cao hoặc cấp độ thấp). 2. Ước tính số giờ làm việc cho từng nhiệm vụ (đừng quên đặt bộ đệm trì hoãn cho từng tác vụ). 3. Hoàn thành nhiệm vụ. 4. Xem lại từng nhiệm vụ và xem bạn có đủ năng suất hay không.
Đây là một thước đo năng suất có ý nghĩa và chính xác liên quan đến việc chụp nhiều ảnh chụp nhanh theo lịch trình dựa trên Bằng chứng :
Khi bạn đã thu thập số liệu thống kê trong vài ngày, hãy chạy mô phỏng Monte Carlo của bạn và quan sát biểu đồ, trông giống như sau:
Sau đó làm thêm một ngày làm việc và chạy lại mô phỏng. Nếu bạn làm việc hiệu quả vào ngày hôm đó, biểu đồ sẽ thay đổi một cái gì đó như thế này:
Quan trọng nhất, nếu bạn là sản phẩm vào ngày hôm đó, xác suất ngày giao hàng vào bất kỳ ngày nào sẽ tăng kể từ lần cuối bạn chạy mô phỏng trước ngày làm việc đó. Nếu nó giảm, thì bạn đã làm việc kém hơn vào ngày đó.
Tất nhiên, độ chính xác của EBS tăng theo thời gian và kinh nghiệm, vì vậy đó có thể là một lý do khác cho sự thay đổi giá trị xác suất ngày tàu. Đó là lý do tại sao bạn muốn bắt đầu thực hiện việc này ít nhất sau một vài ngày làm việc được lấy mẫu. Mặc dù không có điều đó, mặc dù, nếu bạn có năng suất cao hơn đáng kể vào ngày này hay ngày khác, xác suất sẽ tăng lên đáng kể.
Đếm các dòng mã là một phép đo không hoàn hảo vì nó không cung cấp cái nhìn sâu sắc về chất lượng của mã nhưng có thể được sử dụng để xác định năng suất chung. Tùy thuộc vào ngôn ngữ bạn sử dụng, có các công cụ khác nhau sẽ đếm các dòng mã cho bạn nhưng tôi đã yêu cầu BitBucket, Kho lưu trữ Git, thêm số liệu thống kê liên quan đến năng suất.
https://bitbucket.org/site/master/su/4307/feature-request-continator-statistic
Giả sử trong một khoảnh khắc rằng làm việc hiệu quả là quản lý thời gian của bạn sao cho bạn tận dụng tất cả thời gian làm việc của mình để hoàn thành nhiệm vụ và bất cứ điều gì góp phần lãng phí thời gian - Tức là: thời gian không hoàn thành nhiệm vụ của bạn - không phải là năng suất
Về điều duy nhất bạn thực sự có thể làm là ghi lại thời gian của bạn khi tham gia vào các hoạt động khác nhau trong suốt cả ngày. Time Boxing là một kỹ thuật được sử dụng cho nhiều mục đích khác nhau, nhưng sẽ phù hợp với nỗ lực này để ghi lại hoạt động của bạn trong một ngày. Dành 15 phút cho một bộ đếm thời gian chỉ đơn giản là làm một số nhiệm vụ. Nếu nhiệm vụ là thứ mà bạn cần phải làm, thì thời gian của bạn là hiệu quả. Nếu bạn thấy mình đang chỉnh sửa blog của mình, đọc một tờ báo hoặc mơ mộng về cô gái tốt bụng đó trong kế toán, thì thời gian của bạn có lẽ không hiệu quả. Thêm phút của bạn vào cuối ngày và bạn sẽ cảm nhận được mức độ hiệu quả của bạn ...
Nhưng có một nhược điểm! Bạn sẽ làm gì với những phút khác ... bạn biết đấy, nghỉ 5 phút, đi ăn trưa, ông chủ của bạn ngắt lời bạn để kể cho bạn về con cá lớn mà anh ta không bắt được trong chuyến câu cá cuối cùng của mình? Đăng nhập tất cả điều đó quá. Thời gian nghỉ ngơi không bị lãng phí nếu nó đóng góp cho sức khỏe và tinh thần của bạn ... chỉ chừng nào bạn không nghỉ 5 phút sau mỗi 10-15 phút !! Đối với phần còn lại, gián đoạn, xử lý các vấn đề liên quan đến công việc khác .. tất cả điều này có thể được theo dõi.
Tất nhiên bạn có thể thấy mình bị ám ảnh bởi những thứ này, và chúa sẽ giúp bạn nếu ông chủ là một trong những người nhìn thấy bạn đấm bốc thời gian và sử dụng điều đó để biện minh cho lý do để chồng chất thêm công việc, hoặc chỉ trích những nỗ lực của bạn. Bạn thấy đấy, vấn đề với nỗi ám ảnh về giờ làm việc là bạn có thể làm việc cả ngày, và cuối cùng vẫn không nhận được gì liên quan thực tế. Đôi khi bạn có thể viết mã giống như bơ tan chảy ra khỏi não và vào chiếc bánh sandwich mà bạn gọi là màn hình của bạn ... trong khi những ngày khác bạn có thể có một khối tâm thần nghiêm trọng khi bạn thử 357 cách khác nhau để làm điều tương tự điều, chỉ để xem nó thất bại. Nhiều người sẽ nói rằng "những thất bại" liên tục có thể không có tác dụng, và bản thân nó sẽ không được giúp đỡ cho dù bạn có bao nhiêu thời gian và ghi lại số giờ của bạn trong ngày.
Một cách khác để xem xét nó là chỉ cần đặt cho mình một số mục tiêu, hoàn thành trong một ngày và một tuần, và sau đó làm việc để hoàn thành chúng. Nếu bạn thực sự đạt được mục tiêu của mình, bạn có thể lập luận rằng bạn đã làm việc hiệu quả và nếu bạn không đạt được mục tiêu của mình, bạn có thể cần phải hiểu lý do tại sao bạn không đáp ứng chúng và quyết định xem bạn có hay không làm việc hiệu quả dựa trên những lý do thực tế để bỏ lỡ mục tiêu của bạn Cuối cùng, nếu bạn cung cấp mã làm việc khi cần thiết và nếu bạn có thể vượt qua các bài kiểm tra của mình và hoàn thành nhiệm vụ, thì bạn đã làm việc hiệu quả. Các phép đo sẽ chỉ có giá trị nếu có lý do chính đáng để phân tích chúng theo thống kê sau này.