Chuẩn bị phát triển web và toàn bộ quy trình dự án


9

Tôi làm việc như một lập trình viên đơn độc trong các dự án phát triển web (trước và sau) - Tôi đã hoàn thành một vài dự án, vì vậy tôi khá mới về điều này, tôi đã đọc và thử một vài cách tiếp cận và đạt được cách tiếp cận về họ. Câu hỏi và mô tả của tôi khá dài vì vậy hãy kiên nhẫn.

Những gì tôi đang tìm kiếm là:
1. Chuẩn bị / Lập kế hoạch thường được thực hiện trước khi bạn bắt đầu phát triển, một khi bạn biết chính xác những gì cần được xây dựng.
2. Từ kinh nghiệm của bạn, xin vui lòng cho tôi thông tin phản hồi / đề xuất về quy trình tôi đang làm theo.

Các khách hàng tôi làm việc cùng thường là những người khởi nghiệp và có ngân sách hạn chế nên tôi không thể tính phí cho họ trên cơ sở mỗi giờ (tôi nghĩ đó là cách các công ty lớn thường lập hóa đơn cho khách hàng của họ [theo man / giờ] cho các dự án phát triển) và phải làm việc với ngân sách cố định.

Đây là quá trình tôi hiện đang làm theo:
1. Đánh giá phạm vi của dự án và cố gắng hiểu những gì họ đang cố gắng thực hiện trong một vài cuộc họp.
2. Cung cấp cho họ một hình vẽ công viên bóng thô với một trích dẫn mô tả chung về những gì họ mong đợi nhận được từ dự án, tôi cố gắng cụ thể về các tính năng, nhưng, tôi không dành quá nhiều thời gian cho việc này vì tôi biết khách hàng có thể chỉ yêu cầu báo giá, và không thực sự chuyển đổi.
3. Tôi làm theo đề xuất của Jeff Atwood về thanh toán và công việc:

15% thanh toán - Upfront trước khi bắt đầu bất kỳ công việc
Trong giai đoạn này HTML mockup của trang web cuối được thực hiện, một sơ đồ (với Yed ) mô tả các trang web trong khi nhiều chi tiết càng tốt và một tài liệu đề cập đến các tính năng khác mà không phải là có trong sơ đồ . Điều này được thực hiện bằng cách đi vào tất cả các chi tiết của dự án và hoàn thiện các bit sẽ phù hợp và những thứ quá nhiều công việc phải thực hiện với giá thỏa thuận. Bởi vì các chi tiết cụ thể không được thảo luận trước đó, các phần trong số này cũng ít nhiều là một cuộc đàm phán về những gì họ sẽ thực sự nhận được. Bởi vì đây là một dự án ngân sách cố định, cần phải có các yêu cầu cố định, nếu không, giá của tôi sẽ tiếp tục giảm khi nhiều tính năng được thêm vào.
Một sơ đồ màu, khung dây thiết kế và thiết kế PSD cũng được hoàn thiện.

Thanh toán 35% - Bắt đầu phát triển
Dự án đã được sửa, bắt đầu phát triển. Tôi lưu trữ trang web trên máy chủ của mình, nơi khách hàng có thể truy cập vào giao diện người dùng, nhưng, không có quyền truy cập vào bất kỳ mã nào.

Thanh toán 30% - Chuyển mã đến máy chủ của khách hàng / cung cấp cho khách hàng chi tiết truy cập máy chủ
Làm cho trang web hoạt động.

Thanh toán 20% - Vài tuần sau khi trang web hoạt động, một khi tất cả các lỗi đã được sửa.


Câu hỏi:
1. Một khi bạn biết chính xác những gì bạn sẽ xây dựng, bạn sẽ làm kế hoạch gì trước khi bắt đầu viết mã?

2. Từ kinh nghiệm của bạn, những phần nào của toàn bộ quá trình bạn sẽ làm khác đi?


Thật không may, rất nhiều khách hàng không bao giờ đạt đến điểm biết chính xác những gì họ muốn bạn xây dựng. Cách tiếp cận tốt nhất mà tôi đã tìm thấy là thực hiện các bản nháp của một số trang quan trọng và sau đó ngồi xuống và bắt đầu kể chuyện Người dùng. Tôi đã cố tình làm cho một số câu chuyện rõ ràng là sai để buộc khách hàng nói, "Không, tôi muốn nó hoạt động theo cách này ..." Điều này cuối cùng đưa chúng ta đến một cái gì đó tiếp cận một thông số kỹ thuật của dự án, nhưng nó luôn bị thay đổi sau đó. Thở dài.
Peter Rowell

@Peter, Việc cố tình giới thiệu những câu chuyện không có thật của người dùng đôi khi có thể gây tác dụng ngược với bạn và khiến khách hàng mất niềm tin vào bạn. Kỹ thuật đó nên được sử dụng cẩn thận.
maple_shaft

@maple_shaft: Tôi nhận ra điều đó. Khi tôi nói 'rõ ràng là sai', ý tôi là rất rõ ràng là Bogus® mà tôi thường nhận được nhiều hơn một vài tiếng cười. Để một khách hàng trở nên đầu tư đầy đủ vào trang web của họ (tầm nhìn / thời gian / tiền bạc) là rất quan trọng đối với một dự án thành công. Thật sốc (ít nhất là với tôi) có bao nhiêu người nghĩ rằng một trang web mới là thứ họ có thể rửa tay và nó sẽ xuất hiện một cách kỳ diệu.
Peter Rowell

Tôi cũng đồng ý về các mô hình giả, không có số lượng văn bản bằng văn bản nào sẽ khiến khách hàng hiểu những gì họ sẽ nhận được (hầu hết không thể hiểu hoặc quan tâm để hiểu về nó) - một mockup sẽ làm cho mọi thứ rõ ràng cho khách hàng, cũng như một số tài liệu (spec) + một hợp đồng hoặc một cái gì đó có nội dung: "Bạn sẽ nhận được tất cả điều này, và chính xác điều này, không có gì hơn" giúp. Trong khi phát triển, tôi nghĩ rằng có thể có một số linh hoạt để thay đổi mọi thứ xung quanh, nhưng nếu có thứ gì đó xuất hiện nhiều công việc hơn bạn tính, tôi nghĩ rằng các giả thuyết và tài liệu cụ thể cần phải được rút ra và công việc bổ sung cũng có nghĩa là chi phí tăng thêm.
DMin

Câu trả lời:


10

Điểm tuyệt vời để thảo luận!

Để đủ điều kiện - Tôi làm việc trong các dự án phát triển web LỚN trong ngành công nghiệp quốc phòng. Chúng tôi thường có một nhóm 10-40 người hỗ trợ một khách hàng, các dự án vào năm ngoái và khách hàng có cả tiền và nhu cầu cao. Vì vậy, số dặm có thể thay đổi - bạn không muốn lên kế hoạch quá nhiều!

1 Một khi bạn biết chính xác những gì bạn sẽ xây dựng, bạn sẽ làm kế hoạch gì trước khi bắt đầu viết mã?

Đây là sau phần 15%, khi bắt đầu 35%, phải không?

  • Quyết định về ngôn ngữ và máy chủ web đích
  • Quyết định lưu trữ dữ liệu - XML, Cơ sở dữ liệu, cơ sở dữ liệu nào?
  • Quyết định các API chính - kiên trì dữ liệu, GUI, ghi nhật ký, tiêm phụ thuộc, v.v.
  • Quyết định các cơ chế đăng nhập - để mắt đến rủi ro và thông tin bạn đang cố gắng bảo vệ. Có thể bao gồm các cơ chế thanh toán.
  • Lập kế hoạch kiến ​​trúc cấp cao và quy ước đặt tên
  • Chọn một thứ tự tính năng ra, để bạn biết một nơi tốt để bắt đầu
  • Quyết định chiến lược thử nghiệm và khung thử nghiệm tự động giai đoạn nếu có
  • Thiết lập hệ thống CM

2 Từ kinh nghiệm của bạn, những phần nào của toàn bộ quá trình bạn sẽ làm khác đi?

Tôi sẽ không vượt quá kế hoạch. Tôi tập trung vào công việc lập kế hoạch của mình để hoàn thành công việc - như xây dựng môi trường, máy chủ, thử nghiệm, CM - và chỉ dành một ít thời gian để lên kế hoạch cho một kiến ​​trúc, chọn công cụ và quyết định bắt đầu từ đâu. Tôi cảm thấy như không có vấn đề gì, giai đoạn lập kế hoạch vô định hình luôn kéo theo thời gian lang thang trong một sa mạc không biết gì nhiều hơn thực tế.

Nếu bạn đang xử lý các khoản phí cố định và khách hàng không yêu cầu kỹ thuật (chẳng hạn như ngôn ngữ hoặc API bạn sử dụng), tôi sẽ lập kế hoạch trong 1 mục luôn luôn thúc đẩy bạn, về mặt kỹ thuật. Chỉ cần 1 và giữ phần còn lại như cũ. Tôi nghĩ trên mỗi dự án, bạn muốn mở rộng các kỹ năng của mình, nhưng bạn không muốn trở nên hoang dã đến mức bạn không làm việc trong bất cứ điều gì bạn biết hoặc hiểu rõ.


2

Lời khuyên lớn nhất của tôi cho bạn là hãy cực kỳ cẩn thận với một công việc phát triển giá cố định. Nếu bạn không xử lý tốt các yêu cầu trước khi bắt đầu công việc thì một trong hai điều có thể xảy ra.

  1. Ước tính về phạm vi hóa ra là nhấp nháy và bạn mất áo.
  2. Khách hàng không hoặc không thể biết tất cả phạm vi trước khi bạn bắt đầu dẫn đến việc họ không hài lòng với kết quả cuối cùng.

Đối với bạn, số 2 là một tình huống tốt hơn bởi vì nếu họ đăng xuất trên phạm vi và sau đó thay đổi suy nghĩ của họ sau đó, bạn có thể đàm phán lại để có thêm tiền. Chỉ cần đảm bảo rằng BẠN hiểu phạm vi trước khi bạn ước tính, và HỌ hiểu phạm vi và những gì bạn sẽ cung cấp.

Hãy chắc chắn rằng họ đăng xuất trên phạm vi! Các công ty khăng khăng đòi một mức giá cố định và từ chối đăng nhập vào phạm vi là KHÁCH HÀNG BAD và bạn không muốn lãng phí thời gian của mình với điều đó. Bạn sẽ luôn thua cuộ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.