Các bước để bắt đầu một dự án lớn, khi tất cả những gì tôi có là một ý tưởng lớn? [đóng cửa]


49

Tôi là sinh viên kỹ thuật máy tính. Tôi đã suy nghĩ về cách tôi có thể xử lý một dự án lớn. Điều gì nên là bước đầu tiên để đạt được mục tiêu của tôi một cách hiệu quả và hiệu quả hơn?

Khi tôi đưa ra một dự án, tôi không biết làm thế nào tôi nên bắt đầu làm việc với nó. Nhiều lần, tôi chỉ mặc kệ nó. Tuy nhiên, tôi không muốn bỏ qua ý tưởng dự án của mình nữa.

Bây giờ, tôi đang hỏi tất cả các bạn, có ai có thể chia sẻ kinh nghiệm của anh ấy / cô ấy không? Làm thế nào tôi nên bắt đầu một dự án khi tất cả những gì tôi có là một ý tưởng?


11
Trả lời: Bước đầu tiên, bắt đầu sử dụng kiểm soát phiên bản . Kiểm tra cách họ làm điều đó trong các kho lưu trữ nguồn mở như github, bitbucket, codeplex, sourceforge, v.v.
Spoike

Ý nghĩa của "kiểm soát phiên bản" là gì? Bạn có thể mô tả thêm?

Xem câu trả lời của tôi dưới đây.
Spoike

1
Tôi muốn đề xuất một di chuyển đến [Năng suất. Khác] nhưng có lẽ nó sẽ bị đóng như NARQ ở đó. Điều này thực sự không liên quan nhiều đến lập trình hoặc lập trình viên, nó cực kỳ mở và thật mơ hồ (một dự án "lớn" là gì? "Hiệu quả / hiệu quả hơn những gì?).
Aaronaught

6
Không thực sự là một câu trả lời cho câu hỏi của bạn nhưng: Đừng sợ thất bại. Đừng nghe những người nói với bạn rằng bạn không thể. Những người nổi tiếng mà bạn đọc về không nổi tiếng vì họ thông minh hoặc tài năng. Họ nổi tiếng vì họ kiên trì. Người thông minh và tài năng là một tá. Những người kiên trì là xa và ít giữa.
Charles Lambert

Câu trả lời:


64

Hãy quên mã hóa và thiết lập một môi trường phát triển trong giây lát. Nếu bạn muốn bắt tay vào một dự án lớn, điều đầu tiên bạn cần làm là nắm được mục đíchphạm vi của dự án.

Những gì tôi khuyên là mở một trình xử lý văn bản và viết ra một tài liệu 'mục tiêu dự án'. Mô tả ý tưởng là gì và mục đích chung của phần mềm bạn muốn viết. Sau đó liệt kê ra các mục tiêu chức năng của dự án. Tôi không có ý chỉ ra nó, mà là mô tả các phần chức năng khác nhau mà sản phẩm hoàn chỉnh nên hỗ trợ. Vì vậy, nếu bạn đang viết phần mềm để điều hành trường học, bạn có thể liệt kê 'quản lý giáo viên' là một phần chức năng, sau đó mô tả chức năng đó sẽ bao gồm những gì (thông tin liên hệ theo dõi, lịch học, v.v.).

Sau đó, phần khó nhất: Đó không phải là điều bạn cần làm ngay trước mắt, mà là khi bạn đi cùng. Mỗi bit quan trọng như các tính năng liệt kê bạn muốn thêm là xem xét chức năng bạn đã mô tả trong tài liệu mục tiêu của mình và lưu ý các tính năng bạn có thể sống mà không có trong phiên bản đầu tiên của chương trình. Đây là chìa khóa để quản lý phạm vi.
Một trong những lý do chính khiến mọi người thất bại tại các dự án lớn hơn là họ không biết khi nào nên ngừng làm việc với nó. Họ không cảm thấy nó được thực hiện bởi vì các ý tưởng tiếp tục đến và nó không bao giờ được phát hành. Cuối cùng họ mất hứng thú, và bạn đã có một nửa kiệt tác hoàn thành. Vì vậy, bạn muốn chắc chắn rằng bạn có một xử lý tốt về chức năng thực sự quan trọng để đạt được phần cơ bản của mục tiêu của bạn. Đó là mục tiêu đầu tiên của bạn.

Đây là cách tôi bắt đầu tất cả các dự án không tầm thường bây giờ. Nó giúp tôi giữ sự tập trung và giúp giữ cho phạm vi và mục đích không bị 'phát triển' trong quá trình phát triển.


+1 cho mọi thứ bạn nói. Cũng đọc cuốn sách này
treecoder

+1 - không cần cho tôi thêm bất cứ điều gì.
cám dỗ

Đây là một câu trả lời tuyệt vời. Ngoài ra nếu bạn có một số loại phần mềm quản lý dự án, hãy bắt đầu với nó sớm. Có một số miễn phí ngoài kia với những hạn chế của khóa học. Tôi đã sử dụng lửa trại ( campfirenow.com/signup , nhìn cho "Chúng tôi cũng đưa ra một kế hoạch miễn phí:. 4 chatters với 10 MB dung lượng lưu trữ") trước.
m4tt1mus

1
Tôi muốn giới thiệu các sơ đồ tư duy hơn là trình xử lý văn bản (không có kinh nghiệm + trang trống = dự án sẽ không bao giờ tắt).
MaR

1
Xử lý văn bản? Sử dụng bút và giấy. :)
đúng vào

41

Tôi nghĩ Linus đã cố gắng hết sức

Không ai nên bắt đầu thực hiện một dự án lớn. Bạn bắt đầu với một dự án nhỏ, và bạn không bao giờ nên hy vọng nó sẽ lớn. Nếu bạn làm như vậy, bạn sẽ chỉ cần thiết kế quá mức và thường nghĩ rằng nó quan trọng hơn khả năng của nó ở giai đoạn đó. Hoặc tệ hơn, bạn có thể sợ hãi bởi quy mô tuyệt vời của công việc bạn hình dung. Vì vậy, bắt đầu nhỏ, và suy nghĩ về các chi tiết. Đừng nghĩ về một số hình ảnh lớn và thiết kế lạ mắt. Nếu nó không giải quyết được một số nhu cầu khá tức thời, thì gần như chắc chắn nó được thiết kế quá mức. Và đừng mong mọi người nhảy vào và giúp bạn. Đó không phải là cách những thứ này hoạt động. Trước tiên, bạn cần có được thứ gì đó hữu ích một nửa và sau đó những người khác sẽ nói "này, nó gần như có tác dụng với tôi" và họ sẽ tham gia vào dự án. -- Linus Torvalds


12

Điều gì nên là bước đầu tiên để đạt được mục tiêu của tôi theo cách hiệu quả và hiệu quả hơn?

Tôi cho rằng bạn đã thực hiện các dự án trước đây và rằng bạn đang học đại học / cao đẳng không dạy kiểm soát phiên bản / nguồn. Nếu bạn muốn xem một số dự án, bạn luôn có thể truy cập các kho lưu trữ nguồn mở như Github (sử dụng Git), Bitbucket (sử dụng Mercurial), Google Code (sử dụng Mercurial, Git và Subversion), CodePlex (Mercurial và Subversion / TFS), SourceForge (Nhiều), v.v. và hãy xem cơ sở mã của họ. Điểm chung của họ là họ đang sử dụng phần mềm kiểm soát nguồn.

Có rất nhiều thông tin liên quan đến cách sử dụng chúng, vì vậy tôi khuyên bạn nên tìm hiểu cách sử dụng nó, bởi vì đây là tiêu chuẩn thực hành công nghiệp. Dưới đây là một số hướng dẫn trực quan để giúp bạn đi:

Bạn biết đấy, khi một dự án xuất hiện trong đầu tôi, tôi không biết mình nên làm gì. Nhiều lần, tôi bỏ qua nó.

Chỉ có rất nhiều bạn có thể làm vào thời gian rảnh của bạn. Bắt đầu nhỏ : Tạo một dự án từ đầu, đặt nó vào một kho lưu trữ mã nguồn. Cam kết thay đổi kho lưu trữ mã nguồn của bạn bất cứ khi nào bạn muốn thêm một cái gì đó vào dự án nhỏ của mình. Theo thời gian nó sẽ trở nên lớn và nếu bạn muốn quay lại, bạn luôn có thể hoàn nguyên hoặc khôi phục các thay đổi bạn đã thực hiện với hệ thống kiểm soát phiên bản.


9
+1 để bắt đầu nhỏ, đó là cách tiếp cận cơ bản cho các dự án lớn: chia nó thành các phần nhỏ hơn và xử lý từng dự án một.
Joel C

5

Hoàn toàn bình thường khi bị hội chứng "giấy trắng" tấn công.

Bạn có một dự án tuyệt vời, trông thật tuyệt vời, nhưng khi bạn ngồi xuống bàn làm việc cố gắng làm gì đó, bạn đột nhiên chặn lại và không thể làm gì. Sau đó, bạn mở solitaire và tạo một bản ghi mới.

Bạn thực sự cần phải bắt đầu làm một cái gì đó liên quan đến dự án, để bạn cảm thấy như nó được sinh ra.

Bạn có thể không muốn viết mã ngay lập tức. Bạn có thể bắt đầu bằng cách viết những gì dự án của bạn thực sự phải làm, hoặc bạn muốn nó làm. Lấy bút và giấy và bắt đầu viết. Bạn có thể bắt đầu từ các chi tiết hoặc từ một bức tranh lớn hơn. Hãy thử cả hai, xem những gì là tốt nhất.

Bạn có thể cố gắng xác định các chức năng của dự án, các phần khác nhau, cách các phần đó giao tiếp giữa chúng. Tôi cảm thấy bản thân thoải mái với nó, họ rất vui và bạn có thể thay đổi chúng khi bạn tiến bộ. Hãy để họ làm theo tâm trí và ý tưởng của bạn.

Hoặc có thể bạn có thể bắt đầu nguyên mẫu một số chức năng hoặc các lớp. Bạn có thể sử dụng bất kỳ ngôn ngữ nào bạn thích cho ngôn ngữ này, ngay cả ngôn ngữ không tồn tại và bạn vừa phát minh ra.

Sau một thời gian, bạn sẽ có một cái gì đó để làm việc, và dự án của bạn sẽ không chỉ trong tâm trí của bạn. Bạn thực sự đã làm một cái gì đó.

Khi bạn cảm thấy thoải mái khi thực sự bắt đầu quá trình phát triển, đã đến lúc lập kế hoạch cẩn thận, ghi chép tài liệu, tạo mẫu, thu thập tất cả các công nghệ và phần mềm cần thiết, v.v.

Nhưng đừng bắt đầu cho đến khi bạn thực sự cảm thấy đó là thời điểm thích hợp!


4

Các dự án lớn được hình thành từ nhiều dự án nhỏ hơn hoặc các mảnh. Bạn có thể có một ý tưởng lớn hoặc yêu cầu dự án - giả sử, một ứng dụng quản lý danh bạ.

Phá vỡ nó; Hãy tự hỏi mình, 'những mảnh nhỏ hơn tôi cần để làm điều này là gì?'

Một khi bạn đã xác định các phần nhỏ hơn của bạn, lặp lại; bạn có thể thấy rằng một số phần cần phải được chia nhỏ hơn nữa. Ý tưởng là bạn xác định các mục tiêu dễ quản lý nhất cho từng phần nhỏ hơn. Học cách sử dụng các nguyên tắc có kỷ luật trong thiết kế và phát triển (như Agile-TDD) và các mục tiêu nhỏ hơn, dễ quản lý hơn sẽ được thực hiện.


2

Tạo một phác thảo

Bạn có một ý tưởng lớn, nhưng không biết bạn sẽ hoàn thành nhiệm vụ như thế nào. Tạo một phác thảo về những gì bạn sẽ làm. Viết ra các bước bạn sẽ thực hiện, những gì bạn sẽ cần, những ngôn ngữ bạn sẽ sử dụng, v.v. Hãy chắc chắn rằng bạn có mọi thứ được sắp xếp, hoặc dự án sẽ là một đống đổ nát hoàn toàn.

Lịch trình các bước của bạn

Tôi đã đề cập điều này trước đây, nhưng nó thực sự quan trọng. Nếu bạn có thời gian vạch ra, bạn có thể có ngày kết thúc ước tính khi nào dự án của bạn sẽ kết thúc, và bất kỳ bước nào của dự án sẽ diễn ra. Đây là, một lần nữa, tổ chức và sẽ giữ cho bạn chạy.

Tìm các công cụ cho công việc

Nếu bạn sẽ bắt đầu một dự án lớn, bạn sẽ cần một số trợ giúp. Đối với tổ chức mã và Hệ thống kiểm soát phiên bản tốt, Git rất tuyệt vì nó giữ tất cả mã của bạn trong một kho lưu trữ duy nhất. Để biết thêm thông tin về Git, xem liên kết tôi đã cung cấp cho bạn.

Bạn cũng sẽ cần đảm bảo rằng bạn đang sử dụng các ngôn ngữ sẽ giúp bạn làm những gì bạn đang cố gắng làm. Hãy chắc chắn rằng bạn có thể tạo dự án của bạn trước khi bạn bắt đầu. Tôi không nói đừng học bất cứ điều gì mới, nhưng hãy học trước khi bạn bắt đầu.

Được giúp đỡ

Các dự án lớn thường không được thực hiện một mình. Liên lạc với các sinh viên, những người trong cộng đồng của bạn, những người có thể lập trình và bất kỳ ai khác mà bạn nghĩ có thể giúp bạn trước khi bắt đầu. Đừng ngại hỏi.

Bắt đầu!

Đừng lollygag xung quanh, chờ đợi người khác bắt đầu dự án của bạn và sau đó nói "Tôi đã có ý tưởng đó!". Nó sẽ mãi ám ảnh bạn ...


1

Có thể nó đầy những lời nói sáo rỗng nhưng ... tôi sẽ gửi.

Để có thể xử lý một dự án lớn, bạn cần chủ yếu một điều: kinh nghiệm. Kinh nghiệm mang đến cho bạn mọi thứ bạn cần:

  • Kiến thức: bạn càng dành nhiều thời gian cho các dự án, bạn càng có được kiến ​​thức tổng quát và cụ thể
  • Tự tin: quản lý các dự án lớn cần sự tự tin, sự tự tin đến từ kiến ​​thức và nói chung thực tế là mọi công việc đều là việc bạn đã làm trước đây hoặc bạn đã thấy mọi người thực hiện nó
  • Mạng chuyên nghiệp: nếu dự án thực sự lớn, bạn sẽ phải nhận ra rằng bạn không thể tự mình hoàn thành nó, vì vậy hãy chuẩn bị với việc biết ai bạn có thể hỏi hoặc nơi bạn có thể tìm thấy thông tin chính bạn đang tìm kiếm

Vì vậy, bạn có thể làm hai điều:

  • Lặn trong và xem làm thế nào nó đi. Có thể bạn sẽ phạm rất nhiều sai lầm, nhưng điều quan trọng là học hỏi từ chúng.
  • Nhận một công việc mà bạn có thể quan sát cụ thể những người họ xử lý các dự án lớn

Tôi hy vọng điều đó sẽ giúp.


1

Định nghĩa của tôi về "dự án lớn" là "một dự án trong đó vấn đề chính là sự phối hợp giữa người tham gia và giao tiếp giữa họ" (một dự án vừa là khi việc quản lý khó khăn như các vấn đề kỹ thuật, một vấn đề nhỏ là khi sự cố kỹ thuật quan trọng hơn quản lý, lưu ý rằng dự án một người dài hạn có thể là một dự án lớn - phối hợp và giao tiếp với bản thân trong tương lai của bạn không khác lắm so với làm cùng một người khác).

Bước đầu tiên để có thể xử lý (với "vai trò lãnh đạo") một dự án lớn là tham gia vào một số dự án lớn mà không có vai trò lãnh đạo. Bước thứ hai là đạt đến cấp độ vai trò hàng đầu trong khi được cố vấn bởi một người có kinh nghiệm với nó.

Một cách tiếp cận khác là tăng dần quy mô của các dự án và học hỏi kinh nghiệm của bạn ...


1

Một số ý tưởng đã chín muồi cho một kỹ sư chỉ cần nhảy ngay vào và bắt đầu viết mã. Những dự án này có thể lớn hoặc chúng có thể nhỏ, nhưng tất cả chúng đều có một điểm chung: một vấn đề được xác định rõ để giải quyết. Tôi đã bắt đầu các dự án như thế này vô số lần, và đó chỉ là vấn đề tôi xây dựng một kỷ luật xung quanh việc viết tài liệu tốt lên phía trước, và tuân theo các thực tiễn tốt nhất liên quan đến kiểm soát, giao tiếp và cộng tác mã nguồn.

Các dự án lớn mà tất cả những gì tôi có là mầm mống của một ý tưởng cần chuẩn bị thêm một chút trong kinh nghiệm của tôi. Điều đầu tiên tôi làm là bắt đầu nói về ý tưởng của mình với những người khác để xem có ai chia sẻ hiểu biết của tôi về vấn đề tôi đang giải quyết không, và để xác nhận cách tiếp cận theo kế hoạch của tôi trong việc giải quyết vấn đề. Vì vậy, hãy đưa một hoặc hai người bạn đi uống bia, hoặc mời họ đến phòng ký túc xá của bạn cho Cheetos. Nhưng hãy vui vẻ với quy trình này bởi vì thông qua quá trình này, bạn có thể hiểu rõ hơn vấn đề bạn đang giải quyết, tìm những ý tưởng tuyệt vời khác mà bạn có thể mang lại để giải quyết vấn đề, thực hành bán ý tưởng của mình cho người khác và thậm chí có thể bắt đầu xây dựng nhóm người để giúp bạn giải quyết nó.


1

Chia những điều lớn thành những điều nhỏ hơn.

Bạn không thể làm việc "đạt được hòa bình thế giới". Thay vào đó, bạn làm việc trong việc cấm Vũ khí hủy diệt hàng loạt, bạn khuyến khích dân chủ, bạn cung cấp viện trợ phát triển, bạn khuyến khích trao đổi văn hóa và khoa học, v.v.


1

Tôi nghĩ rằng một cái gì đó rất nhiều trong số những câu trả lời này không chạm vào là làm cho một cái gì đó hữu hình được thực hiện và buộc bản thân phải hoàn thành nó.

Đôi khi bạn bị mắc kẹt trong 'vùng đất suy nghĩ' nơi bạn cảm thấy như tất cả những gì còn lại là sự nhàm chán của việc gõ mọi thứ, nhưng thực sự bắt đầu với một miếng nhỏ có kích thước của dự án của bạn và việc thực hiện vừa thú vị vừa thách thức.

Tôi biết rất nhiều người giống như vậy, bao gồm cả tôi, cho đến khi tôi thực sự đi, tôi không làm gì cả, tôi không thể nghĩ và lập kế hoạch để bắt đầu một dự án. Tôi phải chọn một phần mà tôi có thể dễ dàng thực hiện, và lấy nó và sau đó dòng chảy bắt đầu.


1

không có lý do để làm bất cứ điều gì mà không có mục đích. Bạn cần những câu chuyện của người dùng cho thấy sự cần thiết của mã bạn muốn viết. Bạn nên đóng khung những câu chuyện người dùng này theo định dạng sau:

Là một [X]
tôi muốn [Y]
sao cho [Z]

Điều này có vẻ quá đơn giản, nhưng nó cung cấp cho bạn khuôn khổ để không chỉ xác định người dùng, mà còn chỉ định nhu cầu và kết quả cuối cùng là gì trong một câu. Bạn sẽ có nhiều trong số này. Bạn sẽ đến với nhiều hơn khi thời gian tiến triển. Sau khi bạn có một số bạn có thể bắt đầu phát triển mã của mình. Khi bạn có nhiều ý tưởng hoặc tìm ra những thứ khác. Bạn quay lại và viết nhiều câu chuyện người dùng hơn để bạn không quên chúng. Đó là nơi tốt nhất để bắt đầu.

Phát triển hướng hành vi sử dụng phương pháp này và trang web tại liên kết có một số ví dụ về việc sử dụng định dạng này để thể hiện câu chuyện của người dùng.

Tôi nghĩ rằng nó sẽ là cách nhanh nhất và có tổ chức nhất để có được từ ý tưởng đến mã.


1

Tôi sẽ chộp lấy một đống que màu vàng và một điểm đánh dấu ma thuật và ngồi trong một căn phòng nơi có một tấm bảng trắng lớn để tôi có thể động não.

Tôi sẽ chỉ bắt đầu viết ra những cụm từ đơn giản xuất hiện trong đầu như Menu chính, Báo cáo, Cơ sở dữ liệu, Xác thực, v.v. :

Mở tệp, lưu tệp, lưu tệp dưới dạng, in vv và dán chúng trên bảng trắng dưới menu chính.

Khi những ý tưởng nảy ra trong đầu bạn, hãy viết chúng ra ... tốt, xấu, ngu ngốc bất cứ điều gì chỉ cần có được. Dán chúng lên bảng. Khi bạn nhìn vào bảng, nhiều ý tưởng sẽ xuất hiện và các mẫu sẽ xuất hiện. Tại một số điểm bạn sẽ bắt đầu cảm nhận được những gì bạn dự định phát triển.

Stickies màu vàng là tuyệt vời họ có thể được di chuyển xung quanh khá nhanh chóng.

Một khi mọi thứ bắt đầu đến với nhau, bạn chia những suy nghĩ này thành các nhóm. Sau đó, bạn có thể động não ở cấp độ nhóm duy nhất. Tôi sẽ chụp ảnh bảng trắng ở nhiều giai đoạn khác nhau trong trường hợp bạn muốn xem nó trông như thế nào trong hai mươi phút trước khi mọi thứ thay đổi.

Cuối cùng, bạn sẽ có một ý tưởng khá hay về các khối chính của công cụ phải hoàn thành. Bạn có thể nhận được một thư mục duy nhất cho mỗi khối này và cứ tiếp tục ném ý tưởng vào chúng khi chúng đến với bạn.


0

Vì bạn là sinh viên nên tôi cho rằng bạn có nghĩa là sinh viên lớn và không chuyên nghiệp - lớn. Sau này đòi hỏi phải xem xét kinh doanh và hợp tác bổ sung. Tôi vừa mới bắt đầu một dự án mới vào tuần trước, vì vậy quá trình này rất mới mẻ trong tâm trí tôi.

Điều đầu tiên tôi làm là nghiên cứu các giải pháp và thư viện hiện có . Tôi không muốn phát minh lại bánh xe bất cứ khi nào có thể. Nghiên cứu này cũng là một yếu tố lớn trong việc lựa chọn ngôn ngữ cho dự án. Một số ngôn ngữ có mã hiện có tốt hơn cho các nhiệm vụ nhất định.

Điều tiếp theo tôi làm là tạo một thư mục và đặt nó dưới sự kiểm soát nguồn . Điều này là đơn giản như git init .ngày nay.

Tiếp theo tôi sẽ làm việc "xin chào thế giới" . Điều này cho tôi biết môi trường phát triển của tôi được thiết lập đúng.

Tiếp theo tôi nhận được "hello world" cho các thư viện bên thứ ba hoạt động . Đây là mức tối thiểu cần thiết để hiển thị tôi đang liên kết và sử dụng thư viện một cách chính xác. Ví dụ, đối với thư viện cơ sở dữ liệu, nó kết nối và chạy một truy vấn đơn giản. Đối với bộ công cụ GUI, nó sẽ hiển thị một cửa sổ.

Tiếp theo tôi thiết lập các kịch bản xây dựng và khung thử nghiệm . Đây là ant hoặc makefiles hoặc bất cứ điều gì, và dễ dàng hơn để thiết lập khi dự án của bạn vẫn còn nhỏ.

Tiếp theo tôi tạo cấu trúc dữ liệu . Cũng được gọi là lớp "mô hình". Đây là phần lưu trữ mọi thứ mà chương trình của bạn cần nhớ để thực hiện công việc của mình. Tôi làm rất nhiều thiết kế trên giấy, sau đó chỉ cần thêm sơ khai vào. Phần này của thiết kế thường là dễ nhất. Ví dụ, một chương trình cờ vua sẽ cần các đối tượng để lưu trữ lưới trò chơi, người chơi, các quân cờ, trình tự di chuyển, v.v.

Tại thời điểm này, tôi có một cơ sở khá tốt cho một chương trình và thường khá rõ ràng bước tiếp theo sẽ là gì cho dự án cụ thể đó. Sau đó, tôi chỉ thực hiện một bước nhỏ tại một thời điểm, với mã hoạt động ở một mức độ nào đó trên đường đi.


0

Nếu tất cả những gì bạn có là một "Ý tưởng lớn", bạn sẽ cần rất nhiều thứ (được mô tả rất rõ trong các câu trả lời khác), và đặc biệt là 2: thời gianđộng lực .

Khó khăn lớn nhất khi bạn làm việc một mình trong một dự án cá nhân là, thông thường, bạn không có nhiều thời gian để dành cho nó mỗi tuần và do đó bạn không thấy nhiều tiến bộ và nhanh chóng mất động lực.

Vì vậy, như đã nói, hãy thực hiện các bước nhỏ , đó là chìa khóa.

Nhưng đây không phải là tất cả, bạn phải thực hiện các bước nhỏ và bổ ích ! Đó là, các bước sẽ mang lại cho bạn giá trị lớn nhất và thể hiện các khái niệm chính của ý tưởng lớn của bạn.

Ví dụ: nếu bạn làm việc trên một phần mềm danh sách siêu cần làm mới với các tương tác người dùng tuyệt vời . Đừng bắt đầu với công cụ lưu trữ và cơ sở dữ liệu cho đến khi bạn thực sự cần nó. Bắt đầu với giao diện người dùng sáng tạo: đó là niềm vui và có giá trị. Điều đó sẽ khiến bạn tự hào, giữ cho bạn có động lực và cho phép bạn kiểm tra sớm xem ý tưởng của bạn có thực sự tốt không.


0

Điều đầu tiên bạn cần làm là ngồi xuống và mô tả ý tưởng đó bằng văn bản. Nó sẽ không trở thành một dự án cho đến lúc đó, và thậm chí sau đó, bạn có một số công việc để biến nó thành một thứ gì đó phù du như một ý tưởng thành một thứ hữu hình như một dự án.

Khi bạn đã đi xa đến mức đó, bạn có thể bắt đầu xem xét việc biến nó thành một dự án, xác định cách bạn có thể chia nó thành các bước riêng biệt có thể được thực hiện theo cách hợp lý.

Sau đó phác thảo một mốc thời gian để thực hiện các bước đó. Xem lại tiến trình tại các khoảng thời gian nhất định để bạn giữ quyền kiểm soát quá trình đó - thay vì có những ý tưởng leo trèo mà bạn chưa từng nghĩ đến ngay từ đầu và thêm chúng vào hỗn hợp.

Xác định một dòng kết thúc ban đầu và nhằm mục đích đó. Bạn càng ít tuân thủ điều đó, dự án càng có khả năng chìm sâu dưới sức nặng của những ý tưởng bổ sung, và bạn càng nản lòng hơn khi hoàn thành nó vì nó dường như tồn tại mãi mãi.


0

Nỗ lực mã thường là khoảng 20% ​​(+ -10%) ngân sách dự án. Tập trung vào việc lấy mã chính xác là vô nghĩa, có 80% nỗ lực mà bạn chưa giải quyết, do đó, việc quản lý mã hoàn hảo vẫn khiến bạn chỉ còn 20 công việc.

Nếu dự án của bạn không có người dùng thì sao? Điều gì sẽ xảy ra nếu nó hoàn hảo nhưng được xuất bản một tuần sau khi tập tin "Acme Patent Trolls" lấy bằng sáng chế về ý tưởng này, và hóa ra đó là Facebook tiếp theo?

Xem xét các vấn đề vòng đời dự án tiêu chuẩn sau đây Yêu cầu, Thiết kế, Mã, Kiểm tra, Tích hợp, Triển khai, Theo dõi và sửa lỗi, quản lý thay đổi yêu cầu (yêu cầu nâng cao). Kế hoạch phát hành, phân bổ tài nguyên (bạn dự định sẽ có bao nhiêu giờ trong ngày và bạn sẽ thực sự làm dự án), Legal (Freedon để vận hành), v.v.

Nếu tất cả các bên trên được đặt ra, thậm chí mã rất xấu sẽ thành công. Nếu không có điều nào ở trên, mã tốt nhất sẽ thất bại.

Tôi không phải là người cá cược, nhưng tôi sẽ đặt tiền vào dự án "lớn" đầu tiên của bạn sẽ thất bại, theo nhiều cách và đa dạng mà bạn không thể tưởng tượng được. Đừng lo lắng, hãy tiếp tục và thất bại, học hỏi từ nó và làm tiếp theo. Không bắt đầu sẽ là tội ác thực sự. Nếu bạn thành công lần đầu tiên, bạn có một sự nghiệp vững chắc trong quản lý kinh doanh, không phải lập trình.

Vì vậy, để trả lời câu hỏi của bạn, hãy bỏ các công cụ phần mềm và rút ra các công cụ "lập kế hoạch kinh doanh" của bạn. Hãy tìm ra TẠI SAO bạn đang làm điều đó, cho WHO rồi TẠI SAO và KHI họ muốn nó. (Bạn có thể là khách hàng của riêng bạn, nhưng hãy tập thể dục bằng mọi cách). Viết nó xuống trong một "kế hoạch kinh doanh" và xây dựng từ chúng.


0
  1. Thành công trông như thế nào?
  2. những ẩn số trong dự án là gì?
  3. những gì được biết đến trong dự án là gì?
  4. Bạn có thể làm gì để loại bỏ / khám phá những điều chưa biết, để chuyển đổi chúng thành những điều đã biết?
  5. Bạn có thể làm gì để tập hợp những điều đã biết để đạt được thành công?
  6. bước cụ thể tiếp theo để đưa dự án tiến lên là gì?

lặp lại bước cuối cùng cho đến khi dự án hoàn thành; chấp nhận rằng có thể mất nhiều năm và tiếp tục tiến về phía trước


0

Tất cả các câu trả lời ở đây đều hay và tất cả, nhưng thành thật mà nói, không quan trọng bạn kiểm soát phiên bản bao nhiêu, gits, biểu đồ dòng chảy và đánh dấu, tất cả vấn đề là bạn có một ứng dụng chức năng, một ứng dụng chức năng được định nghĩa là một trong đó giải quyết vấn đề mà nó được giải quyết, tất cả những thứ khác đều không liên quan nhiều.

Bắt đầu mã hóa, mã hóa nó thành một giai đoạn chức năng, chạy một số thử nghiệm, gỡ lỗi, khởi chạy và lặp lại với các tính năng và chức năng mới (nếu bạn thấy cần thiết), theo cách của một khởi động tinh gọn - đó là một phương pháp quản lý nhanh nhẹn và phát triển để tạo ra chất thải ít hơn (hoặc như ai đó đã xác định: một nửa kiệt tác đã hoàn thành).


-1

Danh sách những việc cần làm khi bắt đầu một dự án mới:

  1. tạo thư mục mới
  2. tạo makefile bằng cách sao chép một số mẫu makefile hiện có
  3. tạo một số tệp tiêu đề và thực hiện
  4. đảm bảo nó biên dịch
  5. bắt đầu sử dụng kiểm soát phiên bản
  6. quyết định quy ước đặt tên cho các lớp, hàm, thành viên dữ liệu, biến
  7. viết lớp đầu tiên của bạn
  8. đảm bảo rằng lớp của bạn độc lập và mọi chức năng thành viên độc lập với các chức năng thành viên khác
  9. tạo một số đối tượng bằng cách tạo các hàm như main ()
  10. lặp lại các bước 7-10 cho đến khi chương trình của bạn sẵn sàng
  11. biên dịch nó
  12. gửi nó cho người dùng cuối

Đó là về mã hóa, nhưng nó không phải là kỹ thuật và không hoạt động vượt quá quy mô nhất định. Thay vào đó, bạn cần phải làm một cái gì đó bắt đầu từ câu chuyện hoặc yêu cầu của người dùng hoặc một số loại đặc tả; những người sẽ giúp bạn chọn công nghệ thực hiện của bạn để bắt đầu. 'Viết một số câu chuyện', 'đặt câu chuyện của bạn' là hai bước đầu tiên, kiểm soát phiên bản xuất hiện trước bất kỳ mã nào và câu chuyện đầu tiên luôn là 'nghiên cứu công nghệ thực hiện' (nhiều hơn nhiều so với 'chọn ngôn ngữ').
Andrew McGregor
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.