Đây không phải là một câu trả lời hoàn chỉnh, đã có một số câu hỏi rất hay đề cập đến những điều quan trọng như cách sử dụng VCS và phần mềm quản lý dự án của bạn, nhưng thay vào đó là một phụ lục mà tôi không thấy ở bất kỳ điểm nào khác. thấy rất hữu ích và tôi hy vọng những người khác cũng có thể thấy hữu ích.
1. Không có nhiệm vụ quá sớm hoặc quá nhỏ để viết ra
Mọi người thường lập danh sách TODO cho những việc họ dự định làm trong tương lai , nhưng vì lập trình đòi hỏi sự tập trung và vì chúng tôi có thể bị gián đoạn bất cứ lúc nào , tôi thấy thật hữu ích khi viết ra ngay cả những gì tôi đang làm ngay bây giờ, hoặc những gì tôi sắp bắt đầu trong vài giây . Bạn có thể cảm thấy bạn đang ở trong vùng và bạn không thể nào quên giải pháp mà chỉ đánh bạn ở chỗ aha khoảnh khắc, nhưng khi đồng nghiệp của bạn giảm bởi cube của bạn hiển thị hình ảnh của ngón chân bị nhiễm của mình , và bạn cuối cùng chỉ có thể thoát khỏi anh ta bằng cách bắt đầu gặm nhấm cánh tay của chính bạn, bạn có thể ước mình đã viết ra một ghi chú nhanh, ngay cả khi chỉ trên một ghi chú Post-It ™.
Tất nhiên một số phương tiện bền bỉ khác có thể tốt hơn (tôi đặc biệt thích OmniF Focus ), nhưng vấn đề là ít nhất phải có nó ở đâu đó , ngay cả khi bạn sẽ hoàn thành sau 20 phút và sau đó ném Post-It ™ đi. Mặc dù bạn có thể phát hiện ra rằng thông tin đó trở nên hữu ích, để đặt bảng chấm công hoặc hóa đơn cho khách hàng hoặc khi sếp / khách hàng hỏi bạn những gì bạn đang làm việc và bạn không thể nhớ. Nếu bạn bỏ tất cả các ghi chú này vào hộp hoặc ngăn kéo hoặc thư mục, thì khi một sự gián đoạn lớn xảy ra với một dự án bị gián đoạn, thì bạn có thể lướt qua chúng và ghi nhớ rất nhiều điều bạn đã làm để đưa mã của mình đến điểm mà bạn tìm thấy nó khi bạn trở lại dự án.
2. Sử dụng bảng trắng tại bàn của bạn để ghi lại những ý tưởng hình ảnh lớn
Tôi có một bảng trắng 3 "x 4" bên cạnh bàn làm việc của mình, vì vậy khi tôi bắt đầu một dự án, tôi có thể động não tìm giải pháp cho tất cả các vấn đề tôi nhận thấy trong một dự án. Nó có thể là sơ đồ kiến trúc, trường hợp sử dụng, danh sách rủi ro và trở ngại hoặc bất cứ điều gì có vẻ phù hợp với bạn.
Một số cách tiếp cận chính thức hơn yêu cầu bạn tạo sơ đồ và các trường hợp sử dụng và tiếp tục là "phân phối" ở một số định dạng giấy hoặc điện tử, nhưng tôi thấy rằng điều đó có thể tạo ra nhiều công việc phụ và chỉ trở thành một loạt các dự án phụ kết thúc đã ly hôn với mục đích thực tế của dự án chính, và chỉ là một phần của quy trình chính thức mà bạn phải làm nhưng điều đó không ai chú ý đến. Bảng trắng là thứ đơn giản nhất thực sự hoạt động, ít nhất là theo kinh nghiệm của tôi. Nó bền bỉ như bạn muốn (với một máy ảnh) và quan trọng nhất là cho phép bạn lấy ý tưởng của mình xuống ngay lập tức.
Tôi nghĩ tốt hơn với một cây bút trong tay, vì vậy, việc vứt bỏ suy nghĩ của tôi lên một bề mặt trắng tự nhiên đến với tôi, nhưng nếu bạn không thấy đó là trường hợp của bạn, đây là một số câu hỏi có thể giúp bạn quyết định điều gì có liên quan :
- Nếu tôi là nhà phát triển chính, sắp đi tuần trăng mật trong 3 tháng trong khi các nhà phát triển khác hoàn thành dự án, tôi muốn đưa ra hướng đi chung nào cho họ? Những ý tưởng nào tôi muốn đảm bảo rằng họ biết, hoặc cách tiếp cận tôi muốn đảm bảo họ đã thực hiện? Những thư viện hoặc giải pháp hữu ích nào tôi muốn chắc chắn rằng họ đã biết?
- Nếu dự án này là ý tưởng triệu đô của tôi mà tôi biết sẽ đảm bảo sự độc lập tài chính trong tương lai, nhưng tôi đã lên kế hoạch cho một cuộc phẫu thuật quan trọng sẽ làm mất khả năng của tôi trong 3 tháng, tôi muốn bản thân tương lai của mình sẽ ra sao, để đảm bảo hoàn thành thành công dự án?
(Khi tôi lần đầu tiên viết nguệch ngoạc những ý tưởng, tôi chỉ lo lắng về việc chúng có ý nghĩa với bản thân hiện tại của tôi. Một khi chúng bị suy giảm, tôi có thể nhìn nhận chúng một cách nghiêm túc hơn và thay đổi để đảm bảo chúng có ý nghĩa với bản thân tương lai của tôi hoặc cho người khác. về việc giao tiếp với người khác khi bạn viết chúng xuống ban đầu có thể dẫn đến sự ngăn chặn của các nhà văn, một tâm trí bị tắc nghẽn bởi các mục tiêu cạnh tranh. Hãy giải quyết nó trước, lo lắng về sự rõ ràng sau.)
Tôi khuyên bạn nên chi tiền để mua một bảng trắng đàng hoàng, ít nhất là 3 "x 4" và treo nó lên trong không gian nơi bạn thường làm việc. Có nhiều ưu điểm của bảng trắng vật lý so với bất kỳ hệ thống ảo nào.
- Nó là lớn. Bằng cách chiếm nhiều không gian, nó làm cho sự hiện diện của nó cảm thấy, và các kế hoạch trên đó có cảm giác như chúng là một phần của không gian làm việc của bạn, giúp chỉ cho bạn đi đúng hướng mọi lúc.
- Nó vẫn tồn tại một cách bền bỉ: bạn không khởi chạy một ứng dụng hoặc trang web nào đó để truy cập ứng dụng đó và bạn sẽ không có nguy cơ quên cách truy cập hoặc quên rằng nó ở đó.
- Nó có thể truy cập ngay lập tức khi bạn có một ý tưởng mà bạn muốn nghĩ thông suốt.
Bạn sẽ mất rất nhiều lợi ích nếu bạn chỉ sử dụng bảng trắng trong phòng họp và sau đó chụp ảnh bằng điện thoại. Nếu bạn kiếm tiền bằng cách lập trình, nó cũng xứng đáng với chi phí của một bảng trắng đàng hoàng.
Nếu bạn có một dự án khác làm gián đoạn dự án đã lấp đầy bảng trắng của bạn, bạn có thể cần phải sử dụng ảnh chụp nhanh trên điện thoại của mình, nhưng ít nhất bạn sẽ có điều đó trong 3 tháng khi dự án "khẩn cấp" kết thúc và bạn phải trở về cái khác Nếu bạn muốn tạo lại nó trên bảng trắng của mình thì có lẽ chỉ mất 15 phút và bạn có thể thấy bạn có thể cải thiện nó rất nhiều trong quá trình, điều này khiến cho khoản đầu tư nhỏ về thời gian rất đáng giá.
3. Làm cho các bên liên quan nhận thức được chi phí của việc gián đoạn một dự án
Tôi thấy phép ẩn dụ của một chiếc máy bay hữu ích: bắt đầu và hoàn thành một dự án giống như lái máy bay. Nếu bạn bảo lãnh giữa chuyến bay, máy bay sẽ không chỉ ngồi đó trên không để chờ bạn quay trở lại và bạn cần một số cách để đi từ dự án / chuyến bay hiện tại sang chuyến bay tiếp theo. Trên thực tế nếu bạn đang ở giữa chuyến bay từ Phoenix đến Fargo và bạn được thông báo rằng bạn cần phải gián đoạn chuyến bay đó để đi máy bay khác từ Denver đến Detroit, bạn sẽ cần phải đáp máy bay đầu tiên ở Denver (mà may mắn là không xa đường bay của bạn, không phải lúc nào cũng có trường hợp bị gián đoạn thực sự) và ai đó phải tìm ra phải làm gì với hàng hóa và hành khách. Họ sẽ không chỉ ngồi và đợi mãi.
Điểm quan trọng của việc này đối với các dự án là việc chuyển đổi từ dự án này sang dự án khác phải chịu một khoản chi phí lớn về thời gian và để lại rất nhiều kết thúc thua lỗ phải xử lý.
Trong một dự án rõ ràng và chắc chắn có rất nhiều thứ xuất hiện trong đầu bạn khi bạn làm việc và không phải mọi suy nghĩ đều có thể được nối tiếp thành một phương tiện bằng văn bản, và không phải mọi iota của những suy nghĩ đó được nối tiếp sẽ tồn tại khi bị khử. Mặc dù chúng ta có thể nắm bắt một phần suy nghĩ của mình bằng văn bản, nhưng nó rất là một định dạng mất mát.
Vấn đề (như tôi thấy) là các nhà quản lý dự án và những người kinh doanh khác nghĩ về các dự án như một chuỗi các bước thường có thể được sắp xếp lại theo ý muốn (trừ khi có sự phụ thuộc rõ ràng vào biểu đồ Gantt của họ) và có thể dễ dàng phân phối giữa mọi người hoặc trì hoãn cho đến khi thuận tiện nhất cho việc kinh doanh.
Bất cứ ai đã thực hiện bất kỳ số lượng lập trình nào đều biết rằng các dự án phần mềm không thể được xử lý như các khối Lego được di chuyển xung quanh bất kỳ cách nào bạn muốn. Tôi thấy phép ẩn dụ của du lịch hàng không ít nhất mang lại cho các bên liên quan một cái gì đó cụ thể mà họ có thể nghĩ về điều đó rõ ràng không thể được coi là một loạt các bước khác nhau để được sắp xếp lại theo ý thích. Ít nhất làm cho nó dễ hiểu quan điểm của bạn rằng có một chi phí cho những gián đoạn như vậy. Tất nhiên đó vẫn là quyết định của họ, nhưng bạn muốn làm cho họ biết điều này trước khi họ làm gián đoạn một dự án để cung cấp cho bạn một dự án khác. Đừng hiếu chiến, nhưng hãy cung cấp thông tin hữu ích và quan điểm hữu ích của nhà phát triển, sẵn sàng làm bất cứ điều gì họ cần từ bạn, nhưng chỉ cung cấp thông tin mà họ có thể không biết nếu bạn không nói với họ.
Nói ngắn gọn:
- Viết ra tất cả những gì bạn sắp làm, ngay cả khi bạn không nghĩ rằng mình có thể cần nó viết ra. Ngay cả một cây bút chì ngắn cũng đánh bại một ký ức dài.
- Động não bức tranh lớn trên một bảng trắng vật lý mà bạn có quyền truy cập liên tục.
- Bạn có thể tránh các gián đoạn dự án nếu bạn khiến những người ra quyết định nhận thấy rằng có một chi phí cho những gián đoạn đó và ít nhất bạn sẽ đặt kỳ vọng để họ biết rằng dự án sẽ mất nhiều thời gian hơn khi bạn tiếp tục.