Làm thế nào để bạn tạo ra một quy trình phần mềm cho một dự án?


13

Như tôi đã viết trong các câu hỏi khác ở đây, dự án mà tôi đang làm việc hiện không có quy trình phần mềm. Điều đó có nghĩa là không có tài liệu (bao gồm các yêu cầu hoặc đặc tả bản sao cứng) , không kiểm soát nguồn , không có cơ sở dữ liệu lỗi , lỗi được "sửa" (hy vọng) và mã mới được thêm vào cùng một lúc và không có người kiểm tra chính thức - chúng tôi sẽ thất bại trong Thử nghiệm Joel thật tệ, nó thậm chí không buồn cười.

Hôm qua, quản lý của tôi đã yêu cầu tôi viết một tài liệu về cách bắt đầu khắc phục những thiếu sót này. Lưu ý rằng tôi chỉ là thực tập sinh, ở đây trong 6 tháng. Tôi sẽ rời đi vào Lễ Tạ ơn vào tháng 11 để trở lại trường. Tuy nhiên, tôi nghĩ rằng có lẽ tôi có thể khiến dự án này đi đúng hướng, nhưng tôi không chắc bắt đầu từ đâu. Tôi hiện đang sử dụng CiteSeerWikipedia để cố gắng tìm một số bài báo và mô tả các quy trình phần mềm và triển khai chúng, nhưng mọi lời khuyên, kinh nghiệm cá nhân hoặc liên kết đến blog, bài báo, bài viết wiki hoặc bất cứ điều gì khác sẽ được đánh giá cao.


Tốt-Nhanh-Rẻ-Quá trình - khi một dự án bị chậm lại, làm giảm quá trình.
ChuckCottrill

2
Làm thế nào điều này bật ra?
Robert Harvey

Câu trả lời:


10

Tôi muốn đề nghị bạn xem xét lập trình Agile.

Có rất nhiều biến thể, nhưng chúng có xu hướng có một vài điểm chung:

  • Thường xuyên xem xét và ưu tiên lại các tính năng.
  • Tích hợp liên tục và kiểm tra đơn vị tự động.
  • Tập trung vào truyền thông qua tài liệu (trong thực tế, điều này có nghĩa là tài liệu theo kiểu wiki khi bạn xem qua các thông số kỹ thuật không linh hoạt được viết trước).
  • Ước tính linh hoạt dẫn đến biểu đồ đốt cháy và số liệu vận tốc.
  • Các nguyên mẫu thông thường được xem xét trên 200 thông số kỹ thuật trang có đăng nhập.
  • Chất lượng tại nguồn, hoặc càng gần càng tốt.
  • Đánh giá các bên liên quan thường xuyên - một phần mở rộng của sự hiểu biết về khách hàng của bạn.
  • Đưa phần mềm ra thị trường (và kiếm tiền) càng sớm càng tốt.
  • Giao tiếp trực tiếp càng nhiều càng tốt.

Một nơi tốt để bắt đầu sẽ là MSF Agile hoặc Scrum .


7

Với tình huống này, bạn sẽ ra đi sau 6 tháng và nhóm bắt đầu không có quá trình gì, tôi sẽ giới hạn phạm vi của những gì bạn giới thiệu cho một hoặc hai điều có thể được thực hiện một cách hợp lý và nắm giữ trong thời gian bạn ở đó. Nếu là tôi, tôi sẽ xem xét một công cụ kiểm soát nguồn và trình theo dõi lỗi.

Lý do tôi sẽ bắt đầu là vì có được các công cụ này sẽ giúp bạn thiết lập đường cơ sở cho hiệu suất hiện tại của các đội và có thể xác định các vấn đề định kỳ. Thay đổi quy trình là tốt đẹp nhưng đây là những hạng mục nền tảng cơ bản nên được đặt ra trước tiên.


Có, tôi dự định giới hạn phạm vi của những gì tôi làm, nhưng tôi cũng muốn để lại cho họ một lộ trình để họ không còn băn khoăn phải làm gì tiếp theo, đặc biệt là nếu mọi thứ bắt đầu tốt hơn.
Thomas Owens

@Thomas Owens Tôi nghĩ thật đáng khen ngợi khi bạn muốn rời khỏi đội một lộ trình sau khi bạn ra đi. Tuy nhiên, không chắc ai sẽ quay lại lộ trình được xây dựng bởi một thực tập viên. Đây không phải là một phản ánh về kỹ năng và khả năng của bạn. Đó là trường hợp tôi sẽ nỗ lực hết sức có thể để có được những bước đầu tiên tại chỗ. Đừng đánh giá thấp những nỗ lực cần có để thay đổi thói quen và quy trình của một nhóm hiện có. Trong thực tế, cố gắng để có được cả kiểm soát nguồn và trình theo dõi lỗi được triển khai trong sáu tháng có thể được thực hiện nhiều hơn có thể được thực hiện một cách hợp lý.

Tôi nghĩ rằng nó có thể được thực hiện. Đây là một đội gồm 5 người, không bao gồm tôi. Hai là nhà phát triển toàn thời gian, một là nhà phát triển bán thời gian cho dự án này và bán thời gian cho các dự án khác, một là quản lý và một là loại tiếp thị. Cả hai nhà phát triển toàn thời gian đều tham gia vào một quy trình và người quản lý muốn thấy những cải tiến cho hiệu suất của nhóm. Nó không giống như nó bị ép buộc trái với ý muốn của họ.
Thomas Owens

1

Chúng tôi sử dụng PRINCE2 cho các quá trình quản lý dự án, và nó hoạt động rất tốt. Tuy nhiên, tôi sẽ đề nghị nó có vẻ quanh co đối với một công ty không có quản lý dự án!


1

Chúng tôi đã điều chỉnh đường ống phát triển được nêu trong video này theo nhu cầu của riêng mình, sử dụng TeamCity làm máy chủ CI của chúng tôi.

http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Tuning-The-Development-Process-at-Spot-Runner/

TC là hệ thống CI duy nhất mà tôi biết rằng đó là một kho lưu trữ đẩy chứ không phải kéo, có nghĩa là (về mặt lý thuyết) không có bản dựng bị hỏng nào nữa!


1

Chỉ cần lặp lại tình cảm của một số người ở trên, những đội không có cấu trúc sẽ phù hợp hơn với cấu trúc nhanh nhẹn. Nhận kiểm soát nguồn ngay hôm nay, chỉ cần bắt đầu đưa các thay đổi của bạn vào SVN và hiển thị một số nhà phát triển của bạn khác biệt khi bạn đang tìm kiếm lỗi. Bắt đầu thêm nhật ký sửa đổi. Nếu họ không thể thấy được lợi ích và sự dễ sử dụng của SVN thì họ sẽ phải chịu số phận.


0

Kiểm tra các bài viết này về Tích hợp liên tục để lập trình .NET bằng MSBuild, CruiseControl.NET, FxCop, NUnit, NCover và Subversion ...

Từ các rãnh phát triển phần mềm


1
@Zack: Chúng tôi không sử dụng lập trình .NET. Tôi đang tìm kiếm lời khuyên chung có thể được sử dụng cho bất kỳ dự án nào sử dụng bất kỳ ngăn xếp công nghệ nào. Những việc như chọn một mô hình, thực hiện mô hình đó, v.v.
Thomas Owens
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.