내가 가진 모든 것이 큰 아이디어 일 때 큰 프로젝트를 시작하는 단계는 무엇입니까? [닫은]


49

저는 컴퓨터 공학 학생입니다. 큰 프로젝트를 어떻게 처리 할 수 ​​있을지 고민하고있었습니다. 보다 효율적이고 효과적인 방법으로 목표를 달성하기위한 첫 단계는 무엇입니까?

프로젝트를 만들 때 어떻게 작업을 시작해야하는지 모르겠습니다. 여러 번, 나는 그것을 무시합니다. 그러나 더 이상 프로젝트 아이디어를 무시하고 싶지 않습니다.

이제 여러분 모두에게 물어보고 있습니다. 누구든지 자신의 경험을 공유 할 수 있습니까? 내가 가진 모든 것이 아이디어 일 때 어떻게 프로젝트를 시작해야합니까?


11
답변 : 첫 번째 단계는 version control 사용을 시작하십시오 . github, bitbucket, codeplex, sourceforge 등과 같은 오픈 소스 리포지토리에서 어떻게하는지 확인하십시오.
Spoike

"버전 제어"의 의미는 무엇입니까? 더 자세히 설명해 주시겠습니까?

아래 답변을 참조하십시오.
Spoike

1
[productivity.se] 로의 마이그레이션을 제안하지만 NARQ로 종료 될 수 있습니다. 이것은 실제로 프로그래밍이나 프로그래머와는 관련이 없으며 엄청나게 개방적이며 모호합니다 ( "큰"프로젝트는 무엇입니까?
Aaronaught

6
실제로 귀하의 질문에 대한 답변은 아니지만 실패를 두려워하지 마십시오. 당신에게 말할 수없는 사람들의 말을 듣지 마십시오. 당신이 읽은 유명한 사람들은 똑똑하거나 재능이있어 유명하지 않습니다. 그들은 끈질 기 때문에 유명합니다. 똑똑하고 재능있는 사람들은 십여 명입니다. 끈질긴 사람들은 아주 적다.
찰스 램버트

답변:


64

코딩 및 개발 환경 설정은 잊어 버리십시오. 큰 프로젝트에 착수하려면 가장 먼저해야 할 일은 프로젝트의 목적범위 를 다루는 것입니다 .

내가 추천하는 것은 워드 프로세서를 열고 '프로젝트 목표'문서를 작성하는 것입니다. 아이디어가 무엇인지, 작성하려는 소프트웨어의 일반적인 목적을 설명하십시오. 그런 다음 프로젝트의 기능 목표를 나열하십시오. 나는 그것을 규정하는 것이 아니라 완제품이 지원 해야하는 다른 기능을 설명합니다. 따라서 학교를 운영하기 위해 소프트웨어를 작성하는 경우 '교사 관리'를 기능의 일부로 나열한 다음 해당 기능에 포함되는 내용 (트랙 연락처 정보, 수업 일정 등)을 설명 할 수 있습니다.

그런 다음 가장 어려운 부분은 바로 수행해야 할 작업이 아니라 진행하는 과정입니다. 추가하려는 기능을 나열하는 것만 큼 중요한 것은 목표 문서에 설명 된 기능을 검토하는 것이며 프로그램의 첫 번째 버전 없이도 사용할 수있는 기능에 유의하십시오 . 이것이 범위 관리의 핵심입니다.
사람들이 더 큰 프로젝트에서 실패하는 주된 이유 중 하나는 작업을 중단 할시기를 모르기 때문입니다. 아이디어가 계속 나오기 때문에 '완료'되었다고 느끼지 않으며 결코 발표되지 않습니다. 결국 그들은 관심을 잃고, 당신은 또 다른 절반 완성 된 걸작을 가지고 있습니다. 따라서 목표의 기본 부분을 달성하는 데 정말로 중요한 기능을 제대로 처리하고 싶습니다. 그것이 첫 번째 목표입니다.

이것이 내가 사소한 모든 프로젝트를 지금 시작하는 방법입니다. 초점을 유지하는 데 도움이되고 개발 과정에서 범위와 목적이 '진화'되지 않도록하는 데 도움이됩니다.


내가 말한 모든 것에 +1 책을 읽어
보세요

+1-추가 할 필요가 없습니다.
temptar

이것은 좋은 대답입니다. 또한 일부 유형의 프로젝트 관리 소프트웨어가있는 경우 일찍 시작하십시오. 물론 한계가있는 무료가 있습니다. 이전에 CampFire ( campfirenow.com/signup , "무료 플랜 제공 : 10MB의 저장 공간을 가진 4 개의 채터 "도 제공)를 찾아 보았습니다.
m4tt1mus

1
차라리 워드 프로세서보다는 마인드 맵을 권장합니다 (경험이없는 + 빈 페이지 = 프로젝트는 절대 이륙하지 않습니다).
MaR

1
워드 프로세서? 펜과 종이를 사용하십시오. :)
오른쪽

41

리누스 가 가장 잘 생각 합니다

아무도 큰 프로젝트를 시작해서는 안됩니다. 작은 사소한 프로젝트로 시작하면 커질 것으로 예상해서는 안됩니다. 그렇게하면 과도하게 디자인되어 일반적으로 그 단계보다 더 중요하다고 생각하게됩니다. 또는 더 나쁜 것은, 당신이 구상 한 규모의 일로 인해 두려워 할 수도 있습니다. 작게 시작하여 세부 사항에 대해 생각하십시오. 큰 그림과 멋진 디자인을 생각하지 마십시오. 상당히 즉각적인 요구를 해결하지 못하면 거의 과도하게 설계 된 것입니다. 사람들이 뛰어 들어 당신을 도울 것을 기대하지 마십시오. 이것이 이런 방식으로 작동하지 않습니다. 당신은 반쯤 유용한 것을 먼저 얻어야합니다. 그리고 나서 다른 사람들은 "저는 저에게 거의 효과가 있습니다"라고 말할 것이고, 그들은 프로젝트에 참여할 것입니다. -리누스 토발즈


12

보다 효율적이고 효과적인 방법으로 목표를 달성하기위한 첫 단계는 무엇입니까?

이전에 프로젝트를 수행했으며 버전 / 소스 제어를 가르치지 않는 대학 / 대학에 있다고 가정합니다. 일부 프로젝트를보고 싶다면 항상 Github (Git 사용), Bitbucket (Mercurial 사용), Google Code (Mercurial, Git 및 Subversion 사용), CodePlex (Mercurial and Subversion / TFS)와 같은 오픈 소스 저장소로 이동할 수 있습니다 . SourceForge (많은) 등의 코드베이스를 살펴보십시오. 공통점은 소스 제어 소프트웨어를 사용하고 있다는 것입니다.

사용법에 관한 많은 정보가 있으므로 표준 산업 관행이기 때문에 사용법을 배우는 것이 좋습니다. 다음은 시각적 안내입니다.

하나의 프로젝트가 떠 올랐을 때, 어떻게해야할지 모르겠습니다. 여러 번, 나는 그것을 무시합니다.

여가 시간에는 할 수있는 일이 너무 많습니다. 작은 시작 : 프로젝트를 처음부터 작성하여 소스 코드 저장소에 넣습니다. 소규모 프로젝트에 무언가를 추가 할 때마다 소스 코드 저장소에 변경 사항을 적용하십시오. 시간이 지날수록 커지고 되돌아 가고 싶다면 언제든지 버전 관리 시스템으로 변경 한 내용을 되돌 리거나 되돌릴 수 있습니다.


9
작게 시작하려면 +1, 큰 프로젝트에 대한 기본 접근 방식입니다. 더 작은 조각으로 나누고 한 번에 하나씩 처리하십시오.
Joel C

5

"빈 종이"증후군에 걸리는 것은 완전히 정상입니다.

훌륭한 프로젝트를 염두에두고 환상적인 모습을 보여 주지만, 책상에 앉아 무언가를하려고 할 때 갑자기 차단하고 아무 것도 할 수 없습니다. 그런 다음 솔리테어를 열고 새 레코드를 만듭니다.

실제로 프로젝트와 관련된 작업을 시작해야 프로젝트가 시작된 것처럼 느낄 수 있습니다.

즉시 코드를 작성하지 않을 수 있습니다. 프로젝트가 실제로해야 할 일을 쓰거나 시작할 수 있습니다. 펜과 종이를 가지고 쓰기 시작하십시오. 세부 사항 또는 더 큰 그림에서 시작할 수 있습니다. 둘 다 시도해보고 가장 좋은 것을보십시오.

프로젝트의 기능, 다른 파트, 해당 파트 간의 통신 방법을 정의 할 수 있습니다. 나는 그것이 포스트잇에 익숙하다고 느낀다. 그들은 재미 있고 당신이 발전함에 따라 그것들을 바꿀 수있다. 그들이 당신의 마음과 생각을 따르도록하십시오.

또는 함수 나 클래스의 프로토 타입을 시작할 수 있습니다. 존재하지 않고 방금 발명 한 언어를 포함하여 원하는 언어를 사용할 수 있습니다.

얼마 후, 당신은 일할 무언가를 갖게 될 것이며, 당신의 프로젝트는 당신의 마음에만있는 것이 아닙니다. 당신은 실제로 무언가를했습니다.

실제로 개발 프로세스를 시작하는 것이 편하다고 생각되면 신중한 계획, 문서화, 프로토 타이핑, 모든 필요한 기술 및 소프트웨어 수집 등이 필요합니다.

당신이 실제로 전까지 시작하지 않는 느낌 그것은 바로 시간이다!


4

큰 프로젝트는 많은 작은 프로젝트 또는 조각으로 구성됩니다. 연락처를 관리하는 응용 프로그램과 같은 하나의 큰 아이디어 나 프로젝트 요구 사항이있을 수 있습니다.

그것을 파괴; 자신에게 '나는이 작업을 수행하기 위해 필요한 작은 조각이 무엇인지?'

더 작은 부품을 정의했으면 반복하십시오. 일부 부품을 더 세분화해야 할 수도 있습니다. 아이디어는 작은 조각 각각에 대해 가장 관리하기 쉬운 목표를 정의하는 것입니다. 설계 및 개발 (예 : Agile-TDD)에서 훈련 된 원칙을 사용하는 법을 배우면 작고 관리하기 쉬운 목표가 달성됩니다.


2

아웃 라인 만들기

당신은 큰 아이디어를 가지고 있지만, 당신이 당신의 작업을 수행하는 방법을 모른다. 수행 할 작업에 대한 개요를 작성하십시오. 취해야 할 단계, 필요한 것, 사용할 언어 등을 적어 두십시오. 모든 것이 정리되어 있는지 확인하십시오. 그렇지 않으면 프로젝트가 완전히 난파 될 것입니다.

당신의 단계를 예약

전에 이것을 언급했지만 정말 중요합니다. 시간을 매핑 한 경우 프로젝트가 완료 될시기와 프로젝트 단계가 예상되는 예상 완료 날짜를 가질 수 있습니다. 이것은 다시 조직이며 계속 운영됩니다.

직업을위한 도구 찾기

큰 프로젝트를 시작하려면 도움이 필요합니다. 코드 구성 및 올바른 버전 제어 시스템의 경우 Git 은 모든 코드를 단일 저장소에 보관하기 때문에 훌륭합니다. 힘내에 대한 자세한 내용은 내가 준 링크를 참조하십시오.

또한 수행하려는 작업을 수행하는 데 도움이되는 언어를 사용하고 있는지 확인해야합니다. 시작하기 전에 프로젝트를 작성할 수 있는지 확인하십시오. 새로운 것을 배우지 말고 시작하기 전에 배우십시오.

도움 받기

큰 프로젝트는 일반적으로 단독으로 수행되지 않습니다. 동료 학생들, 지역 사회에서 프로그램을 할 수있는 사람들 및 시작하기 전에 도움을 줄 수있는 다른 사람들에게 연락하십시오. 물어 두려워하지 마십시오.

시작하다!

다른 사람이 당신의 프로젝트를 시작하고 "그 아이디어가 있었다!" 그것은 영원히 당신을 괴롭힐 것입니다 ...


1

어쩌면 진부로 가득 차 있지만 ... 제출하겠습니다.

큰 프로젝트를 처리하려면 주로 경험이 필요합니다. 경험은 필요한 모든 것을 제공합니다.

  • 지식 : 프로젝트에 더 많은 시간을할수록 더 일반적이고 구체적인 지식을 얻습니다.
  • 자신감 : 큰 프로젝트를 관리하려면 자신감이 필요하고, 자신감은 지식에서 비롯되며 일반적으로 모든 업무는 이전에 해왔거나 사람들이 일을하는 것을 본 사실입니다.
  • 전문 네트워크 : 프로젝트가 실제로 큰 경우에는 스스로 프로젝트를 수행 할 수 없다는 사실을 알아야합니다. 따라서 누구에게 물어볼 수 있는지 또는 원하는 주요 정보를 찾을 수있는 곳을 알아야합니다.

따라서 두 가지 작업을 수행 할 수 있습니다.

  • 들어가서 어떻게 진행되는지보십시오. 아마도 당신은 많은 실수를 할 것이지만, 열쇠는 그것들로부터 배우는 것입니다.
  • 대규모 프로젝트를 담당하는 사람들을 구체적으로 관찰 할 수있는 직업을 얻으십시오

도움이 되길 바랍니다.


1

"큰 프로젝트"에 대한 나의 정의는 "주요 문제가 참가자의 조정과 그들 사이의 의사 소통 인 프로젝트"입니다 (중간 프로젝트는 관리가 기술적 인 문제만큼 어려운 경우, 작은 문제는 기술적 인 문제 일 때 장기적인 1 인 프로젝트는 큰 프로젝트가 될 수 있습니다. 미래의 자아를 조정하고 의사 소통하는 것은 다른 사람과 같은 일을하는 것과 크게 다르지 않습니다).

큰 프로젝트를 처리 할 수있는 첫 번째 단계 ( "주요 역할을 가짐")는 주요 역할을 수행하지 않고 일부 큰 프로젝트에 참여하는 것입니다. 두 번째 단계는 경험이있는 사람이 멘토링을받는 동안 최고의 역할 수준에 도달하는 것입니다.

다른 방법은 프로젝트의 규모를 점진적으로 늘리고 경험을 통해 배우는 것입니다 ...


1

엔지니어가 바로 아이디어를 익히고 코드 작성을 시작하기도합니다. 이 프로젝트는 크거나 작을 수 있지만 모두 공통점이있는 것 : 잘 정의 된 문제 해결. 저는 이처럼 수많은 프로젝트를 시작했으며, 좋은 문서를 미리 작성하고 소스 코드 제어, 커뮤니케이션 및 협업과 관련된 모범 사례를 따르는 분야를 구축하는 것입니다.

내가 가진 모든 것이 아이디어의 세균이라는 큰 프로젝트는 내 경험에서 조금 더 준비가 필요합니다. 가장 먼저해야 할 일은 다른 사람과 나의 아이디어에 대해 이야기하면서 다른 사람이 내가 해결하고있는 문제에 대한 나의 이해를 공유하는지 확인하고 문제 해결에 계획된 접근 방식을 검증하는 것입니다. 친구 나 두 명을 데리고 맥주를 마시거나 치토스의 기숙사 방으로 초대하십시오. 그러나이 과정을 통해 즐거움을 누리십시오.이 과정을 통해 해결하려는 문제를 더 잘 이해하고, 문제를 해결하는 데 도움을 줄 수있는 다른 훌륭한 아이디어를 찾고, 아이디어를 다른 사람에게 판매하고, 심지어 당신이 그것을 해결하는 데 도움이되는 사람들의 팀.


1

큰 것을 작은 것으로 나눕니다.

"세계 평화 달성"을 위해 노력할 수는 없습니다. 대신 당신은 대량 살상 무기 금지를 위해 노력하고, 민주주의를 장려하고, 개발 원조를 제공하며, 문화적, 과학적 교류를 장려합니다.


1

나는 이러한 많은 답변들이 다루지 않는 것은 유형의 무언가를 얻는 것이며, 스스로 그것을 끝내도록 강요한다고 생각합니다.

때때로 당신은 남은 모든 것이 타이핑하는 것의 소소한 것처럼 느껴지는 '생각하는 땅'에 갇히게되지만 실제로는 물린 크기의 프로젝트에서 시작되며 구현은 재미 있고 도전적입니다.

저는 저를 포함하여 이와 같은 많은 사람들을 알고 있습니다. 실제로 아무 일도하지 않을 때까지, 저는 단지 생각 만하고 프로젝트를 시작할 계획이 없습니다. 쉽게 구현할 수있는 부분을 골라야하고, 그 다음에 흐름이 시작됩니다.


1

목적 없이는 아무것도 할 이유가 없습니다. 작성하려는 코드의 필요성을 보여주는 사용자 스토리가 필요합니다. 이 사용자 스토리를 다음 형식으로 구성해야합니다.

[X]로서
[Y]를 원
하므로 [Z]

이것은 단순 해 보이지만 사용자를 정의 할뿐만 아니라 최종 문장의 필요성과 최종 결과를 지정하는 프레임 워크를 제공합니다. 당신은 이것들 중 많은 것을 가질 것입니다. 시간이 지남에 따라 더 많은 것을 보게 될 것입니다. 일부를 가지고 나면 코드 개발을 시작할 수 있습니다. 더 많은 아이디어가 있거나 다른 것을 알아낼 때. 돌아가서 더 많은 사용자 스토리를 작성하여 잊어 버리지 않도록하십시오. 시작하기 가장 좋은 곳입니다.

행동 중심 개발 은이 접근법을 사용하며 링크의 사이트에는이 형식을 사용하여 사용자 스토리를 표현하는 몇 가지 예가 있습니다.

아이디어에서 코드로 전환하는 가장 빠르고 체계적인 방법이라고 생각합니다.


1

나는 노란색 스티커와 마법의 마커를 쌓아서 큰 화이트 보드가있는 방에 앉아 브레인 스토밍 할 수 있습니다.

메인 메뉴, 보고서, 데이터베이스, 인증 등과 같은 간단한 문구를 작성하기 시작했습니다. 화이트 보드에 붙여 넣고 메인 메뉴가 어떻게 보이는지 더 많은 아이디어를 얻었습니다. :

파일 열기, 파일 저장, 파일 다른 이름으로 저장, 인쇄 등을 메인 메뉴의 화이트 보드에 붙입니다.

아이디어가 당신의 머리에 튀어 나오면서, 좋은 것, 나쁜 것, 어리석은 일이 무엇이든 그냥 쓸어 버리십시오. 그것들을 칠판에 붙입니다. 보드를 보면 더 많은 아이디어가 나오고 패턴이 나타납니다. 어느 시점에서 개발 계획에 대해 느끼기 시작합니다.

노란색 스티커는 아주 빠르게 움직일 수 있습니다.

일단 일이 시작되면, 당신은이 생각들을 그룹으로 나눕니다. 그런 다음 단일 그룹 수준에서 브레인 스토밍 할 수 있습니다. 20 분 전에 상황이 바뀌기 전에 그것이 어떻게 보이는지 확인하기 위해 여러 단계에서 화이트 보드의 사진을 찍었습니다.

결국, 당신은해야 할 주요 일들에 대해 아주 좋은 생각을 갖게 될 것입니다. 이 청크 각각에 대해 하나의 폴더를 얻을 수 있으며 아이디어가 나올 때마다 아이디어를 계속 던질 수 있습니다.


0

당신이 학생이기 때문에 나는 당신이 큰 학생을 의미한다고 생각합니다. 후자는 추가 비즈니스 및 협업 고려 사항이 필요합니다. 나는 지난 주에 새로운 프로젝트를 시작 했으므로 프로세스가 마음에 새롭습니다.

내가하는 첫 번째 일은 기존 솔루션과 라이브러리를 연구하는 것 입니다. 가능할 때마다 바퀴를 재발 명하고 싶지 않습니다. 이 연구는 또한 프로젝트의 언어를 선택하는 데 큰 요소입니다. 일부 언어에는 특정 작업에 대한 기존 코드가 더 좋습니다.

다음으로해야 할 일은 폴더를 만들어 소스 컨트롤 아래에 두는 것 입니다. 이것은 git init .오늘날 처럼 간단합니다 .

다음으로 "hello world"가 작동 합니다. 이를 통해 개발 환경이 올바르게 설정되었음을 알 수 있습니다.

다음 으로 써드 파티 라이브러리가 작동하는 "hello world"를 얻습니다 . 이것은 내가 라이브러리에 올바르게 연결하고 사용하고 있음을 보여주는 데 필요한 최소한의 것입니다. 데이터베이스 라이브러리의 경우 예를 들어 간단한 쿼리를 연결하고 실행 중입니다. GUI 툴킷의 경우 창을 표시합니다.

다음으로 빌드 스크립트와 테스트 프레임 워크를 설정했습니다 . 이것은 개미 또는 makefile 또는 무엇이든이며 프로젝트가 여전히 작을 때 설정하기가 훨씬 쉽습니다.

다음으로 데이터 구조를 만듭니다 . "모델"레이어라고도합니다. 이것은 프로그램이 작업을 수행하기 위해 기억해야 할 모든 것을 저장하는 부분입니다. 종이에 많은 디자인을 한 다음 스텁을 추가하기 만하면됩니다. 디자인의이 부분은 일반적으로 가장 쉽습니다. 예를 들어, 체스 프로그램에는 게임 그리드, 플레이어, 조각, 이동 순서 등을 저장하기위한 개체가 필요합니다.

이 시점에서 저는 프로그램을위한 좋은 기반을 가지고 있으며 일반적으로 다음 단계가 특정 프로젝트를 위해 무엇을할지 분명합니다. 그런 다음 한 번에 한 단계 씩 진행하면 코드가 어느 정도 작동합니다.


0

당신이 가진 모든 것이 "큰 아이디어"라면, 많은 것들 (다른 답변들에서 잘 설명되어 있음), 특히이 두 가지 : 시간동기가 필요 합니다.

개인 프로젝트에서 혼자 일할 때 가장 큰 어려움은 일반적으로 매주 많은 시간을 할애 할 수 없기 때문에 많은 진전을 보지 못하고 빠르게 동기를 잃기 시작한다는 것입니다.

이미 언급 했듯이 작은 단계를 수행하십시오 . 이것이 핵심입니다.

그러나 이것이 전부는 아닙니다. 작고 보람있는 조치취해야합니다 ! 즉, 가장 큰 가치를 제공하고 큰 아이디어의 핵심 개념을 보여주는 단계입니다.

예를 들어, 사용자 상호 작용이 뛰어난 새로운 슈퍼 할 일 목록 소프트웨어를 사용하는 경우 . 실제로 필요할 때까지 스토리지 및 데이터베이스를 시작하지 마십시오. 재미 있고 가치있는 혁신적인 사용자 인터페이스로 시작하십시오. 그것은 당신을 자랑스럽게 만들고, 동기를 부여하며, 당신의 아이디어가 정말로 좋은지 곧 확인하도록 허용 할 것입니다.


0

가장 먼저해야 할 일은 앉아서 아이디어를 서면으로 설명하는 것입니다. 그때까지는 프로젝트가되지 않을 것이며, 심지어는 프로젝트처럼 유형적인 것에 대한 아이디어로서 임시적인 것에서 벗어나기위한 몇 가지 작업이 있습니다.

일단 이해가 되었으면 프로젝트를 프로젝트로 전환하여 논리적 방식으로 구현할 수있는 개별 단계로 분해하는 방법을 식별 할 수 있습니다.

그런 다음 해당 단계를 구현하기위한 타임 라인을 설명하십시오. 처음에는 생각조차 못했던 아이디어를 가지고 믹스에 추가하는 대신 프로세스를 제어 할 수 있도록 주어진 간격으로 진행 상황을 다시 검토하십시오.

초기 결승선을 확인하고 목표로 삼으십시오. 당신이 그것을 고수하지 않을수록, 프로젝트는 추가 아이디어의 무게 아래로 가라 앉을 가능성이 높으며, 영원히 사는 것처럼 보일 때 더 낙담 할 수 있습니다.


0

코드 노력은 일반적으로 프로젝트 예산의 약 20 % (+-10 %)입니다. 코드를 올바르게 작성하는 데 중점을 두는 것은 의미가 없습니다. 80 %의 노력으로 해결되지 않았으므로 완벽한 코드 관리를 수행하면 여전히 20 개의 작업 만 수행 할 수 있습니다.

프로젝트에 사용자가 없으면 어떻게합니까? 아이디어에 대한 특허를 얻기 위해 "Acme Patent Trolls"파일을 제출 한 지 일주일 후에 완벽하지만 다음 Facebook으로 판명되면 어떻게 될까요?

다음 표준 프로젝트 수명주기 문제 요구 사항, 디자인, 코드, 테스트, 통합, 배포, 결함 추적 및 수정, 요구 사항 변경 관리 (향상 요청)를 살펴보십시오. 릴리스 계획, 리소스 할당 (하루에 몇 시간을 계획하고 있으며 실제로 프로젝트에서 수행 할 것인지), 법률 (Freedon to operating) 등

위의 모든 사항이 적용되면 매우 나쁜 코드라도 성공할 것입니다. 위의 어느 것도 적절하지 않으면 최상의 코드가 실패합니다.

나는 내기하는 사람이 아니지만, 당신이 상상할 수없는 많은 다양한 방법으로 당신의 첫 "큰"프로젝트가 실패 할 것입니다. 걱정하지 말고 계속 실패하고 배우고 다음을하십시오. 시작하지 않는 것은 실제 범죄 일 것입니다. 처음으로 성공하면 프로그래밍이 아닌 비즈니스 관리 분야에서 탄탄한 경력을 쌓게됩니다.

질문에 답하려면 소프트웨어 도구를 치우고 "사업 계획"도구를 꺼내십시오. 왜 당신이하고 있는지, 왜 누구와 언제 그들이 원하는지 해결하십시오. (당신은 당신의 자신의 고객이 될 수 있지만 어쨌든 운동을하십시오). 이것을 "사업 계획"에 기록하고 그로부터 작성하십시오.


0
  1. 성공은 어떻게 생겼습니까?
  2. 프로젝트에서 알려지지 않은 것은 무엇입니까?
  3. 이 프로젝트에서 알려진 것은 무엇입니까?
  4. 알려지지 않은 것을 제거 / 발견하여 알려진 것으로 변환하기 위해 무엇을 할 수 있습니까?
  5. 성공을 달성하기 위해 알려진 지식을 모으기 위해 무엇을 할 수 있습니까?
  6. 프로젝트를 발전시키는 다음 단계는 무엇입니까?

프로젝트가 완료 될 때까지 마지막 단계를 반복하십시오. 몇 년 이 걸릴 수 있음을 인정하고 앞으로 나아가십시오.


0

여기에있는 모든 대답은 훌륭하지만 모두 정직하게 말하면 얼마나 많은 버전 제어, Gitting, 순서도 및 마크 업이 중요하든 상관없이 기능적인 응용 프로그램, 기능적인 응용 프로그램이 있다는 것이 중요합니다. 그것은 그것이 이해되었던 문제를 해결하는 것으로 정의되며, 다른 모든 것은 거의 관련이 없습니다.

코딩을 시작하고, 기능적인 단계로 코딩하고, 테스트를 실행하고, 필요에 따라 새로운 기능을 사용하여 디버그, 실행 및 반복합니다. 낭비를 줄이기위한 개발 (또는 누군가가 정의한대로 : 반제품 대작).


-1

새 프로젝트를 시작할 때해야 할 일 목록 :

  1. 새 디렉토리를 만듭니다
  2. 기존 makefile 템플릿을 복사하여 makefile 만들기
  3. 헤더 및 구현 파일을 만듭니다.
  4. 컴파일되는지 확인하십시오
  5. 버전 관리를 시작하십시오
  6. 클래스, 함수, 데이터 멤버, 변수의 명명 규칙 결정
  7. 첫 수업을 쓰세요
  8. 클래스가 독립적이고 모든 멤버 함수가 다른 멤버 함수와 독립적인지 확인하십시오.
  9. main ()과 같은 함수를 생성하여 여러 객체를 생성
  10. 프로그램이 준비 될 때까지 7-10 단계를 반복하십시오.
  11. 그것을 컴파일
  12. 최종 사용자에게 배송

그것은 코딩에 관한 것이지만 엔지니어링이 아니며 특정 규모를 넘어서는 작동하지 않습니다. 대신, 사용자 스토리 나 요구 사항 또는 어떤 종류의 사양에서 시작하여 무언가를 수행해야합니다. 이를 통해 구현 기술을 처음 선택할 때 도움이됩니다. '일부 스토리 작성', '이야기 순서 지정'은 처음 두 단계이며, 버전 제어는 코드보다 우선하며 첫 번째 스토리는 항상 '연구 구현 기술'( '언어 선택'이상의 것)입니다.
앤드류 맥그리거
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.