2009-04-20 23 views
6

Tôi có hai dự án, với các ưu tiên giống hệt nhau và nhu cầu về giờ làm việc và một nhà phát triển duy nhất. Hai phương pháp có thể có:Những lợi thế của việc chia thời gian của nhà phát triển giữa hai dự án là gì?

  1. Cung cấp một dự án trước.
  2. Chia thời gian của nhà phát triển và phân phối cả sau.

Tôi không thể thấy bất kỳ lý do nào khiến mọi người chọn phương pháp thứ hai. Nhưng họ làm. Bạn có thể giải thích cho tôi tại sao?

Trả lời

12

Dường như với tôi rằng quyết định này thường đi xuống đến chính trị văn phòng. Một nhóm kinh doanh không muốn cảm thấy ít quan trọng hơn một nhóm khác, đặc biệt là với những ưu tiên giống nhau được đặt ở trên cùng. Bất kể có bao nhiêu cách khác nhau bạn giải thích tại sao làm cả hai cùng một lúc là một ý tưởng tồi, nó có vẻ như là mặc dù chính trị có được trong cách.

Để có được sản phẩm tốt nhất cho người dùng, bạn cần phải ngăn chặn sự phát triển của nhà phát triển. Khi các nhà phát triển đang đập, nguy cơ lỗi và thời gian giao hàng bắt đầu tăng theo cấp số nhân.

Ngoài ra, nếu bạn có thể đội mũ kinh doanh, bạn có thể cố gắng giải thích cho họ rằng ngay bây giờ, không ai nhận được bất kỳ giá trị nào từ những sản phẩm hoàn chỉnh sẽ phân phối. Điều này có ý nghĩa hơn đối với doanh nghiệp để có được sản phẩm ROI tốt nhất trước cửa để bắt đầu thu hồi khoản đầu tư càng sớm càng tốt, trong khi dự án khác sẽ bắt đầu ngay sau khi dự án đầu tiên kết thúc.

+0

+1: Rối loạn thiếu chú ý quản lý. –

2

Tùy thuộc vào các phụ thuộc có liên quan. Nếu bạn có một sự phụ thuộc khác vào dự án có thể được hoàn thành khi dự án không hoàn thành 100%, thì có thể có ý nghĩa để chia thời gian của nhà phát triển. Ví dụ: nếu tác vụ của bạn lớn, có thể có ý nghĩa để nhà phát triển chính thực hiện thiết kế, sau đó chuyển sang nhiệm vụ thứ hai trong khi một thành viên nhóm đánh giá thiết kế mà nhà phát triển chính đã đưa ra.

Ngoài ra, các nhà phát triển deserializing từ một công việc duy nhất có thể giúp giảm bớt sự nhàm chán. Có, có khả năng mất mát đáng kể trong việc chuyển đổi ngữ cảnh, nhưng nếu nó giúp giữ cho các dev sắc nét, nó có giá trị nó.

+0

này được giải quyết các khía cạnh hiệu quả - nếu có thời gian chết giữa hai dự án. Hiệu quả là một cái gì đó khác – meade

1

Cá nhân tôi thích cái cũ hơn nhưng quản lý có thể muốn thấy sự tiến bộ trong cả hai dự án. Bạn cũng có thể nhận ra các ước tính không chính xác trước đó nếu bạn đang thực hiện một số công việc trên cả hai, cho phép bạn thông báo cho khách hàng trước đó.

Vì vậy, từ góc độ phát triển 1 là lựa chọn tốt nhất nhưng từ điểm dịch vụ khách hàng của chế độ xem 2 có lẽ tốt hơn.

1

Quản lý kỳ vọng của khách hàng của bạn; nếu bạn có thể nói với cả hai khách hàng rằng bạn đang làm việc trên dự án của họ nhưng sẽ mất nhiều thời gian hơn do các dự án khác để nói rằng chúng tôi đang đưa dự án của bạn ra cho đến khi chúng tôi hoàn thành dự án khác này, khách hàng sẽ nhảy tàu và tìm ai đó có thể bắt đầu làm việc trên dự án của họ ngay bây giờ.

7

Đôi khi bạn chỉ cần bước ra khỏi mã bạn đã viết trong 11 giờ để duy trì hiệu quả tối đa. Sau khi bạn đã nhìn chằm chằm vào sự tàn phá của một hệ thống mà bạn đã thực hiện trong một thời gian dài nó có thể trở nên khó khăn để xem khu rừng cho cây cối, và đó là khi bạn bắt đầu phạm sai lầm khó có thể thực hiện được.

Tôi nghĩ tốt nhất là nên có 2-3 dự án hiện tại; một trong những chính và 1-2 dự án khác mà không phải là trên một thời gian nghiêm ngặt như vậy.

+1

Thỉnh thoảng tôi chỉ gặp khó khăn, hoặc là vấn đề của riêng tôi hoặc chờ đợi điều gì đó từ người khác. Nếu tôi có một dự án khác tôi có thể ít nhất làm nhiều hơn twiddle ngón tay cái của tôi hoặc đọc StackOverflow (hữu ích như vậy là). – kajaco

5

Nếu cả hai dự án đều có cùng mức độ ưu tiên cho công ty, một lý do rõ ràng là các nhà quản lý dự án sẽ quản lý cao hơn ảo giác rằng cả hai dự án đều được chăm sóc.

Hãy xem xét rằng hai dự án có thể thuộc về các khách hàng khác nhau (hoặc được yêu cầu bởi những người khác nhau từ quản lý cao hơn).

Không có khách hàng nào muốn được yêu cầu chờ trong khi dự án của khách hàng khác được ưu tiên.

"Chúng tôi sẽ để người khác cho sau này", rất nhiều lần, không phải là câu trả lời chấp nhận được, mặc dù điều này dẫn đến sự chậm trễ cho cả hai dự án.

Tôi tin rằng điều này liên quan đến khái niệm "Responsive Perceived Responsitive" trong một chương trình phần mềm. Ngay cả khi một cái gì đó mất nhiều thời gian hơn để làm, nó trông nhanh hơn khi nó xuất hiện để được làm một cái gì đó, thay vì chờ đợi một cách nhàn rỗi cho một số công cụ khác để hoàn thành.

2

nếu bạn đi theo những gì trong cuốn sách vĩ đại và thánh thiện 'phần mềm', bạn nên giữ cho lập trình viên của mình trên một dự án tại một thời điểm.

lý do chính cho điều này là chia sự chú ý sẽ làm giảm năng suất.

không may, bởi vì rất nhiều Managements hoạt động là doanh tốt thay vì sau đó nhà quản lý tốt, họ có thể nghĩ rằng đa nhiệm hoặc làm việc trên cả hai dự án bằng cách nào đó có nghĩa là nhiều điều đang nhận được thực hiện (đó là không thể, một người duy nhất có thể thể chất tồn tại trong một luồng liên tục không gian tại một thời điểm).

hy vọng rằng sẽ giúp :)

  • LM
1

Nó ảnh hưởng plaecbo ​​- tách một nhà phát triển giữa hai dự án theo cách bạn đã mô tả cho người/"kinh doanh" ấn tượng rằng công việc đang được hoàn thành trên cả hai dự án (với cùng tốc độ/chi phí/thời gian), trong khi thực tế nó có thể không hiệu quả hơn nhiều, vì bối cảnh chuyển đổi và các cân nhắc khác mang lại chi phí (theo thời gian và công sức).

Một mặt, nó có thể làm cho quả bóng lăn trên những thứ như làm rõ yêu cầu và các nhiệm vụ tương tự (để nhà phát triển có thể chuyển sang dự án thay thế khi họ bị chặn) và nó cũng có thể dẫn đến đầu vào sớm từ các đơn vị kinh doanh khác/các bên liên quan, vv

Cuối cùng, nếu bạn có một tài nguyên thì bạn có một nút cổ chai tự nhiên.

Điều tốt nhất bạn có thể làm cho rằng nhà phát triển duy nhất là để đánh chặn mọi người (từ mất tập trung người đó), và cố gắng để thực hiện một số các Burdon xung quanh yêu cầu, đuổi làm rõ và xử lý thông tin phản hồi người dùng, vv

+0

"đánh chặn mọi người (từ đánh lạc hướng người đó)" =) điểm tốt! –

1

duy nhất thời gian tôi đã cố ý kéo một nhà phát triển ra khỏi dự án chính của họ là nếu họ sẽ là một tài sản cho dự án thứ hai, và dự án thứ hai bị đình trệ vì một lý do nào đó. Nếu cho phép một nhà phát triển chia nhỏ một phần thời gian của họ có thể giúp bắt đầu một dự án bị đình trệ, tôi sẽ làm điều đó. Điều này đã xảy ra với tôi với các nhà phát triển "chuyên gia" - những người có nhiều kinh nghiệm hơn/kỹ năng chuyên môn/v.v.

Điều đó đang được nói, tôi sẽ cố gắng giữ cho nhà phát triển trên hai dự án trong ít nhất có thể và đưa họ trở lại dự án "chính" của họ. Tôi thích cho phép mọi người tập trung vào một nhiệm vụ tại một thời điểm. Tôi cảm thấy rằng công việc của tôi là một người quản lý là cân bằng và thay đổi các ưu tiên và tập trung của mọi người - và các nhà phát triển chỉ nên phát triển càng nhiều càng tốt.

2

Tôi nghĩ lý do số 1 từ quan điểm quản lý là cho tiến trình nhận thức. Nếu bạn làm việc trên nhiều dự án cùng một lúc thì các bên liên quan có thể thấy tiến độ ngay lập tức. Nếu bạn giữ một dự án thì các bên liên quan của dự án đó có thể không thích rằng không có gì đang được thực hiện.

Làm việc trên hơn 1 dự án cũng giảm thiểu rủi ro một chút. Ví dụ: nếu bạn làm việc trên một dự án trước và dự án đó mất nhiều thời gian hơn dự kiến, bạn có thể gặp sự cố với dự án thứ hai. Bên liên quan cũng rất có thể muốn dự án của họ thực hiện ngay bây giờ. Tổ chức một dự án do một dự án khác có thể khiến họ xem xét lại việc thực hiện dự án.

Tùy thuộc vào dự án nào bạn có thể tận dụng công việc được thực hiện trong một cho người khác. Nếu chúng tương tự nhau thì làm cả hai cùng một lúc có thể có lợi. Nếu bạn làm theo thứ tự thì chỉ những dự án tiếp theo mới có thể hưởng lợi từ những dự án trước đó.

Hầu hết các dự án thường không phải là luồng công việc liên tục. Đôi khi các nhà phát triển bận rộn và đôi khi không. Nếu bạn chỉ làm việc trên 1 dự án tại một thời điểm một nhà phát triển và các thành viên khác trong nhóm có thể sẽ không làm gì trong khi các nhiệm vụ 'hành chính' hơn đang diễn ra. Quản lý thời gian trên nhiều dự án cho phép các nhóm hoàn thành nhiều hơn trong một khung thời gian ngắn hơn.

Là nhà phát triển, tôi thích làm việc trên nhiều dự án miễn là các mốc thời gian là hợp lý. Miễn là tôi không được yêu cầu làm cả hai cùng một lúc mà không có thay đổi trong lịch trình thì tôi ổn. Thường thì nếu tôi bị kẹt trong một dự án, tôi có thể làm việc với một dự án khác. Nó phụ thuộc vào các dự án mặc dù.

0

Có ba lợi thế thực tế cuộc sống thời gian phát triển tách giữa các dự án mà không thể bỏ qua:

  1. Chuyên ngành: làm hoặc tư vấn về công việc mà đòi hỏi kiến ​​thức chuyên ngành tương tự trong cả hai dự án.

  2. Tính nhất quán và chia sẻ kiến ​​thức: đưa tính nhất quán vào cách hai sản phẩm riêng biệt được xây dựng và hoạt động, truyền bá kiến ​​thức trên toàn công ty.

  3. Sử dụng nhóm tốt hơn: trong một dịp hiếm hoi khi một trong số các dự án tạm thời chờ đợi thêm một số đầu vào.

Thời gian tách giữa nhiều dự án có lợi khi không liên quan đến thay đổi đáng kể trong ngữ cảnh.

Có nhà phát triển làm việc một mình trên nhiều dự án phát triển phần mềm phủ nhận lợi ích của chuyên môn hóa (không có bất kỳ trường hợp nào), nhất quán và chia sẻ kiến ​​thức.

Nó chỉ là lợi thế của việc sử dụng thời gian, tuy nhiên nếu bối cảnh khác nhau đáng kể và không có sự chồng chéo đáng kể giữa các dự án, chi phí chuyển đổi rất có thể sẽ vượt quá bất kỳ thời gian nào được lưu.

Chuyển đổi ngữ cảnh là một con thú rất thú vị: trái với tên của nó ngụ ý một sự thay đổi kín đáo quá trình luôn dần dần.Có nhiều mức độ khác nhau của việc có thông tin ngữ cảnh trong đầu của một người: bối cảnh 10% (nông), 90% (sâu). Mất ít thời gian hơn để chuyển mạch nông như trái ngược với công tắc hoàn toàn; tuy nhiên có một mối tương quan trực tiếp giữa lượng ngữ cảnh được tải (tập trung vào nhiệm vụ) và chất lượng đầu ra.

Có thể lấp đầy thời gian của bạn hoàn toàn làm việc trên nhiều dự án riêng biệt dựa vào chuyển mạch nông (để giảm thời gian chờ), nhưng chất lượng đầu ra chắc chắn sẽ bị ảnh hưởng. Tại một số thời điểm, không chỉ các khía cạnh “không hoạt động” về chất lượng (tính bảo mật hệ thống, khả năng sử dụng, hiệu năng) sẽ làm suy giảm, mà còn hoạt động (hệ thống không hoàn thành công việc, lỗi chức năng).

0

Bằng cách chia thời gian giữa hai dự án, bạn có thể giảm nguy cơ trì hoãn một dự án vì một dự án khác.

Giả sử ước tính cho cả hai dự án là 3 tháng mỗi dự án. Bằng cách thực hiện serially, một sau khi khác, bạn sẽ có thể cung cấp các dự án đầu tiên sau 3 tháng, dự án thứ hai 3 tháng sau đó (tức là sau 6 tháng). Nhưng, khi mọi thứ diễn ra trong phát triển phần mềm, rất có thể là dự án đầu tiên gặp phải một số vấn đề nên thay vào đó phải mất 12 tháng. Hoặc, thậm chí tệ hơn, đi vào "sử dụng, nhưng không bao giờ khá hoàn thành" luyện ngục. Dự án thứ hai bắt đầu muộn hoặc thậm chí không bao giờ!

Bằng cách tách tài nguyên, bạn tránh được sự cố này. Nếu mọi thứ diễn ra tốt đẹp với dự án thứ hai, bạn có thể phân phối nó sau 6 tháng, bất kể dự án đầu tiên có hiệu quả đến mức nào.

+0

Nếu dự án đầu tiên đáng giá một năm, nó phải là quan trọng, nếu không nó sẽ bị tiêu hủy. Và nếu là quan trọng, nó là giá trị nhận được thực hiện ngay cả khi phải mất một năm. –

0

Các tình huống thực tế khi làm việc trên nhiều dự án có thể là một lợi thế trong trường hợp thông số không rõ ràng (mọi thời điểm) và khách hàng thường không có sẵn để làm rõ. Trong những trường hợp đó, bạn chỉ có thể chuyển sang dự án khác. Điều này sẽ gây ra một số công việc chuyển đổi và nên tránh trong một thế giới hoàn hảo, nhưng sau đó một lần nữa ...

này về cơ bản là sự nghiệp của mình trong một nutshell :-)

Các vấn đề liên quan