Chúng tôi đã và đang xây dựng một CRM cho một khách hàng. Bây giờ giai đoạn chính đầu tiên đã kết thúc và giai đoạn thứ hai đã đồng ý, khách hàng muốn nhận một số công việc, thực hiện các sửa đổi nhỏ cho lược đồ cơ sở dữ liệu và xử lý giai đoạn đầu tiên trong khi chúng tôi xây dựng giai đoạn thứ hai .
Tôi không quyết định liệu điều này có thực tế hay không, nhưng giả sử là vậy, tôi muốn một số gợi ý về các biện pháp có thể được thực hiện để làm cho điều này hoàn toàn khả thi. Đây là những gì tôi đã có cho đến nay:
Cho đến nay, khách hàng hầu hết đã nhìn thấy dự án từ quan điểm của người dùng; rõ ràng, một cuộc hội thảo gồm hai phần nên diễn ra nơi chúng tôi giới thiệu anh ấy với các hoạt động bên trong:
- đầu tiên, hiển thị lược đồ cơ sở dữ liệu hiện có và, bằng cách ví dụ, mở rộng nó,
- sau đó, hiển thị một số mã mẫu và viết một quy trình kinh doanh mới để cải tiến lược đồ.
- Mã hiện đang nằm trong kho Subversion nội bộ. Mặc dù chúng tôi có thể thiết lập một hoặc một mạng công khai trên mạng của anh ấy (mà chúng tôi có thể VPN), tôi cảm thấy một hệ thống phân tán sẽ hoạt động tốt hơn. Tuy nhiên, tôi dường như là người duy nhất cảm thấy như vậy, vì vậy tôi có thể sử dụng một số lập luận thuyết phục tốt.
Tôi không chắc chắn làm thế nào để ủy quyền / đảm bảo rằng mã chạy trong sản xuất được cam kết. Có vẻ như "x đã thực hiện một thay đổi quan trọng, không có giấy tờ ngay trước khi đi nghỉ; bây giờ bạn đang cố gắng tìm ra lỗi này đã xảy ra kể từ đó" thảm họa là không thể tránh khỏi. Lý tưởng nhất là tất cả các thay đổi, trước khi triển khai, sẽ:
- được ghi lại trong một hệ thống theo dõi vấn đề,
- xảy ra trên một môi trường thử nghiệm riêng biệt trước tiên và
- phải vượt qua các bài kiểm tra tự động.
Than ôi, tôi nghi ngờ kỷ luật cho bất kỳ trong số đó sẽ thắng thế.
Giả sử rằng kiến trúc trình cắm hoặc dự án riêng biệt không có các tùy chọn khả thi, bởi vì 1) cái trước không tồn tại và 2) cái sau sẽ cấm khách hàng nhìn vào và có thể sửa đổi mã hiện có, một khả năng mà tôi tin rằng anh ta sẽ nhấn mạnh vào.