Lập kế hoạch phát triển khi nghiên cứu học thuật có liên quan


11

Các bạn lập trình viên thân mến,

Làm thế nào để bạn "lập kế hoạch phần mềm" khi nghiên cứu học thuật được tham gia? Và, một lưu ý phụ, làm thế nào để bạn thuyết phục sếp rằng viết phần mềm không giống như xây nhà và nó giống như viết tiểu thuyết hơn ?

Các chi tiết gory dưới đây.

Tôi phụ trách một nhóm phát triển nhỏ làm việc trong phòng thí nghiệm nghiên cứu. Chúng tôi bắt đầu phát triển một phần mềm với mục đích ra mắt công chúng một ngày (tức là bán và kiếm tiền từ đó). Phần mềm như vậy phụ thuộc vào, trong số những thứ khác, ít nhất hai dòng nghiên cứu độc lập: đó là, có ít nhất hai bằng tiến sĩ. hy vọng rằng một ngày nào đó sẽ có một triển khai thực hiện những gì chúng ta cần.

Phần mềm chính cũng phụ thuộc vào các tài nguyên cụ thể khác mà chúng tôi là nhà phát triển có thể chăm sóc: kết xuất đồ họa, biến dạng cơ thể mềm, v.v.

Sếp của tôi yêu cầu tôi viết các thông số kỹ thuật, yêu cầu VÀ biểu đồ GANTT đẫm máu của toàn bộ dự án. Đối mặt với thực tế là tôi không có manh mối về phần nghiên cứu và nghiên cứu đó là nền tảng cho phần mềm, ông nói "hãy đưa ra các giả định." Để rõ ràng của cuộc tranh luận, ông là một giáo sư có bằng tiến sĩ. sinh viên nên đưa ra nghiên cứu chúng tôi cần. Và anh ta đến từ một nền tảng kỹ thuật nghiêm ngặt: lên kế hoạch cho mọi thứ trước, viết ra các thông số kỹ thuật và chỉ sau đó viết mã "đó là phần cuối cùng".

Những gì tôi đang làm bây giờ:

  1. Tôi đã phá vỡ các sản phẩm trong các tính năng; mỗi "tính năng" là, thực tế , là một sản phẩm riêng biệt;
  2. Mỗi tính năng được xây dựng trên đầu trang của tính năng trước đó;
  3. Khi một tính năng (A) có nguyên mẫu hoạt động, nhóm có thể bắt đầu làm việc với tính năng tiếp theo (B), trong khi QA được thực hiện cho A (nếu tiền cho phép, nhiều người có thể được đưa vào, v.v.);
  4. Các tính năng phụ thuộc vào nghiên cứu sẽ đến sau cùng: vào lúc đó, hy vọng, phần nghiên cứu sẽ được hoàn thành ( khi vẫn còn là một câu hỏi lớn);

Ngoài ra, tôi đã thiết lập nhóm sử dụng SCRUM để phát triển 'phiên bản 1.0 ', do trong một vài tháng. Thời hạn này có thể được đặt dựa trên các giả định hợp lý: chúng tôi đã liệt kê tất cả các tính năng cần thiết, chúng tôi đã tính đến tính khả dụng của chúng tôi và chúng tôi đã đưa ra ước tính hợp lý.

Vì vậy, câu hỏi của tôi, một lần nữa, là:

  • Làm thế nào để tôi làm cho sếp của tôi hạnh phúc trong khi đồng thời nhận được một cái gì đó ra khỏi cửa?
  • Làm cách nào để tôi viết thông số kỹ thuật cho một cái gì đó mà chúng tôi - các nhà phát triển - không biết liệu có thể làm được hay không? (Chúng tôi vẫn chưa quyết định sử dụng thư viện nào cho một số nhiệm vụ; chúng tôi sẽ làm như vậy khi chúng tôi cần)
  • Làm thế nào để tôi có được các yêu cầu cho điều đó, cho rằng vẫn chưa có khách hàng cũng như nhà đầu tư, chỉ có rất nhiều lợi ích và lời hứa?
  • Làm thế nào để tôi có được hòa bình trên thế giới?

Tôi chắc chắn ít nhất một trong những câu hỏi của tôi sẽ được trả lời :)

ps: Tôi đang viết điều này nặc danh vì một nhà đầu tư tiềm năng có thể phản tác dụng nếu điều này được phát hiện. Hy vọng bạn sẽ hiểu. Tuy nhiên tôi phải nói rằng tôi không thích tâm lý 'che giấu sự thật' này: chương trình này có thể sẽ mang lại lợi ích cho nhiều người, và không thể nói chuyện cởi mở về điều này (với tên tôi và danh tiếng của tôi kèm theo) cảm thấy như bị kiểm duyệt. Nhưng than ôi, tôi quan tâm nhiều hơn về đề xuất của bạn bây giờ.


Nói với tư cách là một cựu nghiên cứu sinh đã làm việc nhiều năm trong cảm giác như một hố đen trì trệ và tối nghĩa, tôi sẽ rất phấn khích (và cũng kinh hoàng) khi biết rằng các chuyên gia đang đứng chờ đợi để làm điều gì đó hữu ích với công việc của tôi. Nó sẽ có động lực rất lớn. Tôi thấy câu hỏi này đã được hỏi gần một năm trước, nhưng nếu tình hình vẫn như cũ, thì tôi rất muốn biết bạn có bao nhiêu liên lạc với các sinh viên. Nó có thể hữu ích để cho họ biết bạn đang root cho họ!
octern

Câu trả lời:


6

Tôi đã ở vị trí đó một vài lần và với kinh nghiệm, bạn không thể tin tưởng vào nghiên cứu sinh để thực hiện nghiên cứu có liên quan và bạn chắc chắn không thể dựa vào điều đó xảy ra trong một khoảng thời gian hữu ích. Các nghiên cứu sinh đặc biệt được phép đi đến nơi mà sở thích nghiên cứu của họ đưa họ đến, và điều đó cực kỳ khó khăn khi bị hạ lưu khi đột nhiên họ đi trên một đường ray phụ có liên quan đến họ nhưng không phải với bạn. Đây là một nguồn rủi ro chính cho dự án của bạn, vì vậy bạn phải sử dụng các chiến lược giảm thiểu rủi ro thích hợp trong kế hoạch dự án của bạn.

Do đó, hãy giải quyết khi bạn phải phân phối (xem tài trợ nghiên cứu; nó được xác định bởi nguồn tài trợ của bạn chứ không phải bất cứ điều gì khác) và sẽ mất bao lâu để cung cấp giả định rằng nghiên cứu được phân phối . Điều này sẽ đưa ra một số dự đoán toàn năng, nhưng điều đó không thể được giúp đỡ; làm cho những dự đoán rõ ràng trong ước tính thời gian . Sau đó, hãy quản lý rủi ro bằng cách giữ liên lạc chặt chẽ với các nghiên cứu sinh (ví dụ: ngồi trong các buổi hướng dẫn của họ mỗi tháng một lần) để nếu có vẻ như họ sẽ không cung cấp những gì bạn cần đúng giờ, bạn có thể suy nghĩ về các chiến lược giảm thiểu một cách chi tiết. Nếu bạn may mắn, canh bạc sẽ được đền đáp và bạn sẽ nhận được một cái gì đó hữu ích từ nghiên cứu. Những điều kỳ lạ đã xảy ra.

Mọi thứ khác sẽ tiếp nối từ việc biết khách hàng của bạn sẽ là ai và suy nghĩ về cách bạn muốn họ sử dụng sản phẩm cuối cùng (và cách họ thực sự sẽ sử dụng nó). Nếu bạn không biết điều đó, bạn sẽ không bán cho bất cứ ai. Nhưng bạn nên biết điều đó, hoặc ít nhất là tìm ra nó sớm. (Nếu được xác định bởi phần nghiên cứu, bạn sẽ gặp rắc rối lớn! Các dự án nghiên cứu chắc chắn có thể tạo ra kết quả âm tính - hoặc âm tính một phần - nó xảy ra mọi lúc, ngay cả khi nó không luôn được báo cáo rộng rãi.)

Như một điểm cuối cùng, tôi nghĩ thật xấu hổ khi bạn làm điều này một cách ẩn danh, vì tất cả những gì bạn đang làm là tìm kiếm lời khuyên về một loại quản lý dự án cụ thể. Bạn không đề cập đến chủ đề của nghiên cứu là gì hoặc ai đang thực hiện nó hoặc bất kỳ cộng tác viên nào của bạn, cũng không quan trọng đối với câu hỏi này. Cách duy nhất có thể là một vấn đề là nếu bạn đang tìm kiếm nguồn tài trợ phi R & D trước khi nghiên cứu được thực hiện, nhưng điều đó sẽ yêu cầu bạn tiết lộ mức độ rủi ro liên quan (có thể làm mất đầu tư!) Hoặc không trung thực; vì bạn đang dự định thành thật, nên không nên đưa ra vì dự án chỉ nên tìm kiếm loại tài trợ đó một khi rủi ro chắc chắn hơn. (Nếu bạn - với tư cách là một nhóm - không trung thực với các nhà đầu tư tiềm năng, đó là một vấn đề ngay tại đó và nó sẽ kết thúc trong nước mắt. Hoặc là các vụ kiện.)


Donal, cảm ơn câu trả lời của bạn. Bạn nêu lên một vài điểm tốt; đặc biệt là về quản lý rủi ro. Về nghiên cứu, vâng, họ được cho là tìm thấy kết quả tiêu cực: đó là cách nghiên cứu được thực hiện! Nếu bạn đã biết những gì bạn sẽ nhận được, thì đó không phải là nghiên cứu, đó là quảng cáo. Về nhu cầu ẩn danh: đó là vì từ tài khoản stackexchange của tôi, bạn có thể thấy trong hồ sơ nghề nghiệp của tôi, tôi là ai và tôi đang làm việc ở đâu. Điều đó có thể gây nguy hiểm cho mức lương trong tương lai của nhóm của tôi (vâng, chúng tôi đang tìm kiếm nguồn tài trợ không phải là r & d). Nếu chỉ có tôi, tôi sẽ thành thật. Nhưng đó không phải là tiền của tôi mà bây giờ họ đang trả tiền cho họ, vì vậy tôi phải cẩn thận.
Một người dùng ẩn danh khác

1
Câu trả lời tuyệt vời. Ngay cả trong các loại phát triển phần mềm thương mại tôi đã thực hiện, vẫn có những ẩn số mà bạn chỉ cần đưa ra một phỏng đoán có giáo dục về thông số kỹ thuật và lịch trình. Miễn là mọi người đều biết đó là những phỏng đoán và có thể thay đổi, không sao cả. Một điều bạn có thể làm với các hạng mục nghiên cứu là với mỗi số bạn phải cung cấp (ngày, tiền, v.v.), hãy đoán và cung cấp trường hợp tốt (10% cơ hội sẽ diễn ra tốt như vậy), dự kiến ​​(50%) và giá trị trường hợp xấu (90%). Ngoài ra, để giảm thiểu những điều chưa biết, hãy thử có "Kế hoạch B" (và kế hoạch lý tưởng là C và D) trong túi sau ảo của bạn.
Bob Murphy

Vấn đề phụ thuộc vào nghiên cứu là có một cơ hội mạnh mẽ mà bạn sẽ kết thúc với một câu trả lời phủ định rõ ràng của YouTube: rằng những gì bạn muốn cho sản phẩm không chỉ yêu cầu một cái gì đó chưa biết, nhưng một cái gì đó không thể được tạo ra. Hoặc rằng nghiên cứu không bao giờ cung cấp bất cứ điều gì có liên quan (rủi ro thực sự với tiến sĩ). Điểm quan trọng để có được khoản đầu tư lớn là sau khi bạn có một bằng chứng nhỏ về khái niệm, để bạn biết ít nhất nó có thể được thực hiện và tất cả những gì bạn phải làm là giải quyết làm thế nào để có thể sử dụng và tiếp thị được.
Donal Fellows

2

Làm thế nào để tôi làm cho sếp của tôi hạnh phúc trong khi đồng thời nhận được một cái gì đó ra khỏi cửa?

Hãy thông minh và hoàn thành công việc.

Làm cách nào để tôi viết thông số kỹ thuật cho một cái gì đó mà chúng tôi - các nhà phát triển - không biết liệu có thể làm được hay không? (Chúng tôi vẫn chưa quyết định sử dụng thư viện nào cho một số nhiệm vụ; chúng tôi sẽ làm như vậy khi chúng tôi cần)

Nếu bạn không biết bạn sẽ giao tiếp với cái gì, thì đó là một vấn đề. Những đầu vào nào bạn đưa ra hộp ma thuật? Kết quả nào bạn nhận được từ hộp ma thuật? Điều đó cũng sẽ giúp các nhà nghiên cứu xác định ma thuật là gì.

Nếu học tập của bạn đã được tài trợ bởi một khoản trợ cấp, thì có lẽ anh ấy đã viết lên một đề xuất nghiên cứu. Giữ lấy điều đó. Nếu nó giống như bất kỳ đề xuất tài trợ nghiên cứu nào tôi đã xem (và viết), nó sẽ có một dòng thời gian và một "đặc điểm kỹ thuật" về những gì họ đang cố gắng thực hiện.

Làm thế nào để tôi có được các yêu cầu cho điều đó, cho rằng vẫn chưa có khách hàng cũng như nhà đầu tư, chỉ có rất nhiều lợi ích và lời hứa?

Yêu cầu là những gì người dùng cuối của thuật toán / điều-a-ma-jig. Xem nếu bạn có thể phỏng vấn họ (hoặc khách hàng / khách hàng tiềm năng).

Nếu không, ăn thức ăn cho chó của riêng bạn.

Làm thế nào để tôi có được hòa bình trên thế giới?

Đề ra :-)


2

Tôi nghĩ rằng trong nghiên cứu lập kế hoạch phát triển công cụ trong một lần và phát triển tgen không thực sự hoạt động tốt. Tôi làm việc tại một viện nghiên cứu và chúng tôi làm việc nhiều hơn bằng cách sử dụng tạo mẫu nhanh. Thường phát triển một nguyên mẫu mang lại cái nhìn sâu sắc về những gì cần thiết chính xác. Bằng cách nhanh chóng tạo ra một nguyên mẫu, bạn có thể nhận được phản hồi từ ông chủ của mình và các nhà nghiên cứu và xác định xem đây có phải là điều họ mong đợi hay không, và xem liệu phương pháp của bạn có hiệu quả không. Sau đó, bạn có thể cấu trúc lại và cải thiện mã của bạn. Đây là những gì tôi thấy trong thực tế tại các viện nghiên cứu nơi tôi làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.