2010-06-25 34 views
6

Tôi đang tìm một mô tả loại công việc của chuỗi các bước bạn thực hiện để chuyển từ một nhiệm vụ phát triển phần mềm này sang tác vụ khác. Nếu một bước liên quan đến công cụ, vui lòng chỉ định công cụ nào và công cụ được sử dụng như thế nào. Mục tiêu của quy trình làm việc là có sự chuyển tiếp suôn sẻ nhất có thể từ nhiệm vụ số 1 sang nhiệm vụ số 2 và trở lại nhiệm vụ số 1.Cách hiệu quả nhất để nhà phát triển chuyển đổi giữa các tác vụ là gì?

Hãy xem xét kịch bản này ...

  • Bạn đang thực hiện một câu chuyện người dùng mới và, trong khi bạn đã đạt được tiến bộ cho đến nay ngày hôm nay, nó không hoàn toàn thực hiện và bạn đã không được thực hiện các bài kiểm tra của bạn được nêu ra.
  • Khách hàng tiềm năng đến với bạn với một lỗi ưu tiên cao đang chặn nhóm thử nghiệm của bạn. Bạn cần phải dừng những gì bạn đang làm và sửa lỗi. Lỗi này nằm trong bản dựng từ ba ngày trước, đây là bản xây dựng gần đây nhất của nhóm kiểm tra đã chọn.

Bạn có thể sửa lỗi trong phiên bản nguồn mới, nhưng nó phải là phiên bản ổn định và không thể bao gồm tính năng chưa hoàn chỉnh mà bạn hiện đang làm việc.

+1

Nên * chắc chắn * là cộng đồng wiki. –

+1

Làm thế nào để làm bánh từ bánh mì nướng đến bánh kem? –

Trả lời

3

Tôi sẽ nói các bước bạn cần thực hiện trong kịch bản bạn mô tả phụ thuộc 100% vào môi trường phát triển và các công cụ bạn đã thiết lập.

Sử dụng Perforce để kiểm soát phiên bản mã nguồn, chúng tôi đã thiết lập hệ thống phân nhánh nơi các bản phát hành tách biệt với công việc phát triển và tất cả các nhánh phát triển xuất phát từ một nhánh "chấp nhận". Mỗi nhánh được sử dụng cho một vấn đề duy nhất, hoặc cho một tập hợp các vấn đề liên quan chặt chẽ. Không có vấn đề nào khác có thể được thực hiện trong một chi nhánh cho đến khi các thay đổi đã được tích hợp vào chi nhánh chấp nhận.

Vâng, điều đó có nghĩa là chúng tôi có rất nhiều chi nhánh. Có, chúng tôi làm rất nhiều đồng bộ (chấp nhận xuống một chi nhánh công việc) và tích hợp (chi nhánh công việc lên đến chấp nhận). Nhưng giá trị của nó là không thể tính toán khi nói đến việc dễ dàng chuyển từ nhiệm vụ này sang nhiệm vụ khác, quay trở lại với hai vấn đề được thử nghiệm, phát hiện hai vấn đề cắn nhau, v.v.

Sau khi phát triển đã thực hiện (bao gồm các bài kiểm tra riêng) , một vấn đề được kiểm tra bởi nhóm QA. Đầu tiên cô lập trong chi nhánh riêng của mình. Sau đó được tích hợp vào nhánh chấp nhận và kiểm tra hồi quy được thực hiện để tìm ra bất kỳ vấn đề nào với các vấn đề độc lập cắn nhau. Khi tất cả các vấn đề cho một bản phát hành đã được tích hợp vào sự chấp nhận, một hồi quy hoàn chỉnh và kiểm tra chức năng mới được thực hiện bởi nhóm QA.

Vì vậy, chi nhánh chấp nhận luôn là trạng thái phát triển "mới nhất" cho ứng dụng.

Trong này thiết lập các kịch bản mà bạn mô tả sẽ diễn ra như sau:

  • Rời khỏi công việc hiện tại của tôi như nó có, có thể kiểm tra tại bất kỳ thay đổi nổi bật như vậy là không để mất chúng khi tôi bị treo máy tính. Nếu điều đó có nghĩa là phá vỡ xây dựng hàng ngày của chi nhánh đó, tôi sẽ không đăng ký, trừ khi nó rất dễ dàng để sửa chữa các lỗi biên dịch. (Xin lưu ý rằng chúng tôi có nhiều ứng dụng trong bộ ứng dụng của chúng tôi và trong khi các thay đổi của tôi có thể biên dịch trong ứng dụng tôi đang thực hiện, chúng vẫn có thể phá vỡ các ứng dụng khác trong bộ của chúng tôi) không được phá vỡ quá trình xây dựng.

  • Tìm nhánh "trống" - chi nhánh hiện không được sử dụng cho bất kỳ công việc phát triển nào hoặc nếu tất cả các chi nhánh được thực hiện, hãy tạo một nhánh mới.

  • Buộc đồng bộ hóa nhánh chấp nhận và nhánh công việc đã chọn để máy của tôi được đảm bảo có trạng thái mới nhất cho cả hai nhánh.

  • Đồng bộ hóa (bắt buộc nếu cần) trạng thái mới nhất của chi nhánh chấp nhận cho nhánh công việc, do đó chi nhánh công việc đã chọn giống với chi nhánh chấp nhận.

  • Mở bộ ứng dụng của nhánh đó trong IDE, gỡ lỗi và giải quyết. Gửi đến chi nhánh công việc.

  • Yêu cầu QA xem xét nó trong nhánh làm việc. Nếu họ hài lòng với nó, hãy tích hợp các thay đổi lên để chấp nhận để họ có thể tiếp tục thử nghiệm.

  • Chuyển IDE trở lại làm việc trên bộ ứng dụng trong nhánh mà tôi đã làm trước đây.

  • Rửa sạch và lặp lại.

+0

Đó là những gì tôi đang tìm kiếm, Marjan. Cảm ơn đã dành thời gian trả lời. –

8

Chuyển đổi tác vụ là một điều của bộ não. Tôi không nghĩ rằng có một công cụ để làm điều đó cho bạn. Nếu có, tôi cũng quan tâm.

Mỗi người có cách chuẩn bị riêng của mình, một số không chuẩn bị gì cả và đang ở một thứ khác như snap, một số mất nhiều thời gian hơn. Nó phụ thuộc vào người đàn ông/phụ nữ. Chắc chắn, bạn có thể cố gắng tạo ra một số cột mốc quan trọng (ghi chú, đặt lời nhắc, v.v.) để quay lại khi quay trở lại công việc, nhưng điều này lại phụ thuộc vào các yếu tố khác (thời gian chuyển đổi nhiệm vụ là bao lâu). làm thế nào yên tĩnh văn phòng, quen thuộc với nhiệm vụ, moon phases vv).

Cách hiệu quả nhất để nhà phát triển chuyển đổi giữa các tác vụ mà tôi cho là chủ quan. Trong khi đó, bạn đã đọc số Human Task Switches Considered Harmful từ Joel Spolsky chưa?

+0

Vâng, tôi luôn có vấn đề trong công việc của mình. Về cơ bản tôi có bản sửa lỗi mới và phát triển mới xuất hiện. Tôi cố gắng ghi lại những gì tôi đang làm cuối cùng để khi tôi quay lại tôi nhớ. – Bmw

12

Alt + Tab là cách chúng tôi thực hiện.

+0

Tôi không nói về việc chuyển đổi giữa các quá trình. –

+0

Tôi nghĩ anh ấy đang đùa ..: p – Bmw

+10

Dominic ... Jim đang tìm kiếm quy trình làm việc: Bước 1: Nhấn phím Alt; Bước 2: Nhấn phím Tab; Bước 3: Nếu không sửa tác vụ, lặp lại bước 2; Bước 4: Nhả phím Alt; Bước 5: Làm việc với nhiệm vụ mới. –

2

Xem xét kịch bản của bạn,
bạn có thể kiểm tra phiên bản ổn định của các nguồn trong bản sao đang hoạt động khác, sửa lỗi, cam kết.
Khi bạn quay trở lại công việc chưa hoàn thành, hãy cập nhật và tiếp tục làm việc.

+0

Đây là điều gần nhất với câu trả lời tôi đã thấy cho đến nay. –

1

Khi bạn đang làm việc về một cái gì đó bạn thường có một vài ý tưởng, vài điều bạn định làm, một số nội dung không rõ ràng và phải được giải quyết sau. Nó có xu hướng bị mất khi bạn chuyển sang nhiệm vụ khác.

Tôi thấy hữu ích khi viết chúng ở đâu đó - chụp nhanh não. Sau đó nó dễ dàng hơn để khôi phục lại nó và trở lại nhanh hơn với nhiệm vụ ban đầu của bạn.

1

Tôi ghi chú mọi tệp tôi đang làm việc bên trong mục Tác vụ/Todo với lời nhắc trong khoảng. lượng thời gian tôi sẽ tránh xa nó. Sau đó, tôi lưu và đóng từng tệp đó để ngăn chúng làm tôi mất tập trung/loại bỏ sự lộn xộn/tạo phòng cho tác vụ mới trên màn hình của tôi. Tôi có bộ nhớ của một con bọ chét, vì vậy tôi cần tất cả sự giúp đỡ tôi có thể nhận được.

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