Jakie są kroki do rozpoczęcia dużego projektu, kiedy wszystko, co mam, to wielki pomysł? [Zamknięte]

49

Jestem studentem inżynierii komputerowej. Zastanawiałem się, jak poradzić sobie z dużym projektem. Jaki powinien być mój pierwszy krok do osiągnięcia celu w bardziej wydajny i wydajny sposób?

Kiedy wpadam na pomysł, nie wiem, jak powinienem zacząć nad nim pracować. Wiele razy po prostu to ignoruję. Jednak nie chcę już ignorować pomysłów na mój projekt.

Teraz proszę was wszystkich, czy ktoś może podzielić się swoimi doświadczeniami? Jak powinienem rozpocząć projekt, gdy mam tylko pomysł?

12654
źródło
11
Odpowiedź: Pierwszy krok, zacznij korzystać z kontroli wersji . Sprawdź, jak to zrobić w repozytoriach open source takich jak github, bitbucket, CodePlex, SourceForge itp
Spoike
Co oznacza „kontrola wersji”? Czy możesz opisać więcej?
Zobacz moją odpowiedź poniżej.
Spoike
1
Sugeruję migrację do [produktywności.se], ale prawdopodobnie zostanie ona zamknięta jako NARQ. To naprawdę nie ma wiele wspólnego z programowaniem lub programistami, jest niesamowicie otwarte i niejasne (co to jest „duży” projekt? ”Bardziej„ efektywny / skuteczny niż co?).
Aaronaught,
6
Nie do końca odpowiedź na twoje pytanie, ale: Nie bój się zawieść. Nie słuchaj ludzi, którzy mówią ci, że nie możesz. Znani ludzie, o których czytasz, nie są sławni, ponieważ byli mądrzy lub utalentowani. Są sławni, ponieważ byli wytrwali. Inteligentni i utalentowani ludzie to tuzin. Wytrwali ludzie są daleko i niewiele.
Charles Lambert

Odpowiedzi:

64

Zapomnij na chwilę o kodowaniu i tworzeniu środowiska programistycznego. Jeśli chcesz zaangażować się w duży projekt, pierwszą rzeczą, którą musisz zrobić, to poznać cel i zakres projektu.

To, co polecam, to otwarcie edytora tekstu i napisanie dokumentu „cele projektu”. Opisz, o co chodzi w tym pomyśle, i ogólny cel oprogramowania, które chcesz napisać. Następnie wypisz cele funkcjonalne projektu. Nie mam na myśli tego, ale opisuję różne funkcje, które powinien obsługiwać gotowy produkt. Tak więc, jeśli piszesz oprogramowanie do prowadzenia szkoły, możesz wymienić „zarządzanie nauczycielami” jako element funkcjonalności, a następnie opisać, co obejmowałaby ta funkcja (śledzenie informacji kontaktowych, harmonogram zajęć itp.).

Następnie najtrudniejsza część: nie musisz robić tego od razu, ale z czasem. Tak samo ważne, jak wystawianie funkcje, które chcesz dodać dokonuje przeglądu funkcjonalność opisaną w dokumencie cele i pamiętać te cechy można żyć bez w pierwszej wersji programu. Jest to klucz do zarządzania zakresem.
Jednym z głównych powodów niepowodzenia przy większych projektach jest to, że nie wiedzą, kiedy przestać nad tym pracować. Nie uważają, że jest to „zrobione”, ponieważ pomysły wciąż przychodzą i nigdy się nie ujawniają. W końcu tracą zainteresowanie, a ty masz jeszcze pół ukończone arcydzieło. Więc chcesz mieć pewność, że dobrze rozumiesz funkcjonalność, która jest naprawdę ważna, aby osiągnąć podstawową część celu. To twój pierwszy cel.

W ten sposób zaczynam teraz wszystkie nietrywialne projekty. Pomaga mi utrzymać koncentrację i pomaga utrzymać zakres i cel przed „ewolucją” podczas rozwoju.

GrandmasterB
źródło
+1 za wszystko, co powiesz. Przeczytaj także książkę
treecoder
+1 - nie muszę niczego dodawać.
temptar
To świetna odpowiedź. Również jeśli masz jakieś oprogramowanie do zarządzania projektami, zacznij z nim wcześnie. Istnieje kilka bezpłatnych z ograniczeniami, oczywiście. Korzystałem już z CampFire ( campfirenow.com/signup , poszukaj „Oferujemy również bezpłatny plan: 4 rozmowy z 10 MB miejsca”) wcześniej.
m4tt1mus
1
Wolałbym raczej zalecać mapy myśli niż edytor tekstu (brak doświadczenia + pusta strona = projekt nigdy nie wystartuje).
MAR
1
Edytor tekstu? Użyj pióra i papieru. :)
prawej
41

Myślę, że Linus ujął to najlepiej

Nikt nie powinien podejmować się dużego projektu. Zaczynasz od małego, trywialnego projektu i nigdy nie powinieneś oczekiwać, że stanie się on duży. Jeśli to zrobisz, po prostu przeprojektujesz i ogólnie pomyślisz, że jest to ważniejsze niż prawdopodobne na tym etapie. Lub, co gorsza, możesz się przestraszyć samą wielkością pracy, którą sobie wyobrażasz. Zacznij więc od drobiazgu i pomyśl o szczegółach. Nie myśl o dużym obrazie i fantazyjnym designie. Jeśli nie zaspokoi jakiejś dość pilnej potrzeby, prawie na pewno jest przeprojektowany. I nie oczekuj, że ludzie wrócą i ci pomogą. Nie tak działają te rzeczy. Musisz najpierw zdobyć coś w połowie użytecznego, a potem inni powiedzą „hej, to prawie dla mnie działa”, i zaangażują się w projekt. -- Linus Torvalds

Wieża
źródło
12

Jaki powinien być mój pierwszy krok do osiągnięcia celu w bardziej wydajny i wydajny sposób?

Zakładam, że robiłeś już projekty i że jesteś na uczelni, która nie uczy kontroli wersji / źródła. Jeśli chcesz zobaczyć niektóre projekty, zawsze możesz przejść do repozytoriów open source, takich jak Github (używa Git), Bitbucket (używa Mercurial), Google Code (używa Mercurial, Git i Subversion), CodePlex (Mercurial and Subversion / TFS), SourceForge (Many) itp. I spójrz na ich bazę kodu. Łączy je to, że używają oprogramowania do kontroli źródła.

Jest wiele informacji na temat ich używania, więc sugeruję, abyś nauczył się z nich korzystać, ponieważ jest to standardowa praktyka branżowa. Oto kilka wizualnych przewodników, które pomogą Ci zacząć:

Wiesz, kiedy przyszedł mi do głowy jeden projekt, nie wiem, co powinienem zrobić. Wiele razy ignoruję to.

Tylko tyle możesz zrobić w wolnym czasie. Zacznij od małego : utwórz projekt od podstaw, umieść go w repozytorium kodu źródłowego. Zatwierdź zmiany w repozytorium kodu źródłowego, ilekroć chcesz dodać coś do swojego małego projektu. Z czasem stanie się duży i jeśli kiedykolwiek będziesz chciał wrócić, zawsze możesz cofnąć lub przywrócić zmiany dokonane za pomocą systemu kontroli wersji.

Spoike
źródło
9
+1 za mały początek, to podstawowe podejście do dużych projektów: podziel je na mniejsze części i rozpraw się z nimi pojedynczo.
Joel C
5

Występowanie syndromu „czystego papieru” jest całkowicie normalne.

Masz na myśli świetny projekt, który wygląda fantastycznie, ale kiedy siadasz przy biurku, próbując coś zrobić, nagle blokujesz i nie jesteś w stanie nic zrobić. Następnie otwierasz pasjansa i tworzysz nowy rekord.

Musisz zacząć robić coś związanego z projektem, żebyś poczuł, że się narodził.

Możesz nie chcieć od razu pisać kodu. Możesz zacząć od napisania tego, co naprawdę musi zrobić Twój projekt, lub chciałbyś, aby to zrobił. Weź długopis i papier i zacznij pisać. Możesz zacząć od szczegółów lub od większego obrazu. Spróbuj obu, aby zobaczyć, co jest najlepsze.

Możesz spróbować zdefiniować funkcje projektu, różne części, sposób komunikacji między nimi. Czuję się swobodnie z post-it, są zabawne i możesz je zmieniać w miarę postępu. Pozwól im podążać za twoim umysłem i pomysłami.

A może możesz uruchomić prototyp jakiejś funkcji lub klasy. Możesz użyć w tym celu dowolnego języka, nawet takiego, który nie istnieje i który właśnie wymyśliłeś.

Po jakimś czasie będziesz miał nad czym popracować, a twój projekt nie będzie tylko na myśli. Zrobiłeś coś.

Kiedy czujesz się komfortowo, aby rozpocząć proces programowania, nadszedł czas na staranne planowanie, dokumentowanie, prototypowanie, zebranie wszystkich wymaganych technologii i oprogramowania itd.

Ale nie zaczynaj, dopóki nie poczujesz, że to właściwy czas!

Jose Faeti
źródło
4

Duże projekty powstają z wielu mniejszych projektów lub części. Możesz mieć jeden wielki pomysł lub wymóg projektu - powiedzmy, aplikację zarządzającą kontaktami.

Rozbicie go; zadaj sobie pytanie: „Jakich mniejszych elementów potrzebuję, aby to zrobić?”

Po zdefiniowaniu mniejszych części powtórz; może się okazać, że niektóre części wymagają dalszego podziału. Chodzi o to, aby zdefiniować najbardziej wykonalne cele dla każdego z mniejszych elementów. Naucz się stosować zdyscyplinowane zasady w projektowaniu i rozwoju (takie jak Agile-TDD), a mniejsze, łatwiejsze do zarządzania cele zostaną spełnione.

IAbstract
źródło
2

Utwórz kontur

Masz świetny pomysł, ale nie wiesz, jak zamierzasz wykonać swoje zadanie. Utwórz zarys tego, co zamierzasz zrobić. Zapisz kroki, które będziesz musiał podjąć, jakich będziesz potrzebować, jakich języków będziesz używać itp. Upewnij się, że wszystko jest zorganizowane, w przeciwnym razie projekt będzie kompletnym wrakiem.

Zaplanuj swoje kroki

Wspomniałem o tym wcześniej, ale to naprawdę ważne. Jeśli masz zaplanowany czas, możesz mieć szacunkową datę zakończenia projektu i czas jego realizacji. To znowu organizacja i zapewni ci ciągłość działania.

Znajdź narzędzia do pracy

Jeśli zamierzasz rozpocząć duży projekt, potrzebujesz pomocy. Do organizacji kodu i dobrego systemu kontroli wersji Git jest świetny, ponieważ utrzymuje cały kod w jednym repozytorium. Aby uzyskać więcej informacji na temat Git, zobacz link, który ci dałem.

Musisz także upewnić się, że używasz języków, które pomogą ci zrobić to, co próbujesz zrobić. Przed rozpoczęciem upewnij się, że możesz utworzyć projekt. Nie mówię, nie ucz się niczego nowego, ale ucz się, zanim zaczniesz.

Sprowadź pomoc

Duże projekty zwykle nie są wykonywane samodzielnie. Przed rozpoczęciem pracy skontaktuj się z innymi uczniami, osobami z Twojej społeczności, które mogą programować, i innymi osobami, które według Ciebie mogą Ci pomóc. Nie bój się pytać.

Rozpocznij!

Nie obijaj się, czekając, aż ktoś zacznie twój projekt, a potem powiedz „Miałem ten pomysł!”. Na zawsze będzie cię prześladować ...

Dynamiczny
źródło
1

Może jest pełen klisz, ale ... Prześlę się.

Aby móc obsłużyć duży projekt, potrzebujesz przede wszystkim jednej rzeczy: doświadczenia. Doświadczenie daje Ci wszystko, czego potrzebujesz:

  • Wiedza: im więcej czasu poświęcisz na projekty, tym bardziej ogólną i konkretną wiedzę zdobędziesz
  • Zaufanie: zarządzanie dużymi projektami wymaga zaufania, pewność pochodzi z wiedzy i ogólnie z faktu, że każdy kawałek pracy jest czymś, co zrobiłeś wcześniej lub widziałeś, jak ludzie to robią
  • Profesjonalna sieć: jeśli projekt jest naprawdę duży, musisz zdać sobie sprawę, że nie możesz go zrealizować samodzielnie, więc przygotuj się wiedząc, kogo możesz zapytać lub gdzie możesz znaleźć kluczowe informacje, których szukasz

Możesz więc zrobić dwie rzeczy:

  • Zanurz się i zobacz, jak to idzie. Prawdopodobnie popełnisz wiele błędów, ale kluczem jest nauczyć się od nich.
  • Znajdź pracę, w której możesz obserwować osoby, które obsługują duże projekty

Mam nadzieję że to pomogło.

Aston
źródło
1

Moja definicja „dużego projektu” to „projekt, w którym głównym problemem jest koordynacja uczestników i komunikacja między nimi” (średni projekt jest wtedy, gdy zarządzanie jest równie trudne jak problemy techniczne, mały - gdy problemy techniczne są ważniejsze niż zarządzanie; zwróć uwagę, że długoterminowy projekt jednoosobowy może być dużym projektem - koordynowanie i komunikowanie się z przyszłym sobą nie różni się niczym od robienia tego samego z kimś innym).

Pierwszym krokiem w radzeniu sobie (z „odgrywaniem wiodącej roli”) dużego projektu jest uczestnictwo w jakimś dużym projekcie bez odgrywania wiodącej roli. Drugim krokiem jest osiągnięcie wiodącego poziomu roli podczas mentorowania przez kogoś, kto ma z nim doświadczenie.

Alternatywnym podejściem jest stopniowe zwiększanie wielkości projektów i wyciąganie wniosków z własnego doświadczenia ...

AProgrammer
źródło
1

Niektóre pomysły są gotowe dla inżyniera, aby po prostu wskoczył i zaczął pisać kod. Projekty te mogą być duże lub małe, ale łączy je jedno: dobrze zdefiniowany problem do rozwiązania. Zainicjowałem takie projekty niezliczoną ilość razy i to tylko kwestia zbudowania przeze mnie dyscypliny wokół pisania dobrej dokumentacji z góry i przestrzegania najlepszych praktyk w zakresie kontroli kodu źródłowego, komunikacji i współpracy.

Duże projekty, dla których wszystko, co mam, to zalążek pomysłu, wymagają nieco więcej przygotowania w moim doświadczeniu. Pierwszą rzeczą, którą robię, jest rozmawianie o moim pomyśle z innymi, aby sprawdzić, czy ktoś podziela moje rozumienie problemu, który rozwiązuję, i zweryfikowanie mojego planowanego podejścia do rozwiązania problemu. Zabierz przyjaciela lub dwóch na piwo lub zaproś ich do swojego pokoju w akademiku dla Cheetos. Ale baw się dobrze z tym procesem, ponieważ dzięki temu procesowi możesz lepiej zrozumieć problem, który rozwiązujesz, znaleźć inne świetne pomysły, które możesz wnieść do rozwiązania problemu, poćwiczyć sprzedawanie swojego pomysłu innym, a może nawet zacząć budować zespół ludzi, którzy pomogą Ci go rozwiązać.

Byrne Reese
źródło
1

Podziel duże rzeczy na mniejsze.

Nie możesz pracować nad „osiągnięciem pokoju na świecie”. Zamiast tego pracujesz nad zakazem broni masowego rażenia, wspierasz demokrację, zapewniasz pomoc rozwojową, wspierasz kulturową i naukową wymianę itd.

LennyProgrammers
źródło
1

Myślę, że coś, czego wiele z tych odpowiedzi nie dotyka, to zrobienie czegoś namacalnego i zmuszenie się do zrobienia tego.

Czasami utkniesz w „ziemi myślącej”, w której czujesz, że wszystko, co pozostało, to nudne pisanie na klawiaturze, ale tak naprawdę zacznij od kawałka swojego projektu, a jego wdrożenie jest zarówno zabawne, jak i trudne.

Znam wielu takich ludzi, w tym mnie, dopóki nie zacznę nic nie robić, nie mogę - tylko - myśleć i planować rozpocząć projekt. Muszę wybrać kawałek, który mogę z łatwością wdrożyć i przejść do niego, a następnie zaczyna się przepływ.

Matthew Blanchard
źródło
1

nie ma powodu, aby robić cokolwiek bez celu. Potrzebujesz historii użytkowników, które pokazują potrzebę kodu, który chcesz napisać. Powinieneś ułożyć te historie użytkowników w następujący sposób:

Jako [X]
chcę [Y]
, aby [Z]

Może się to wydawać zbyt uproszczone, ale daje ramy do nie tylko zdefiniowania użytkownika, ale także do określenia potrzeby i rezultatu końcowego w jednym zdaniu. Będziesz miał wiele z nich. Z czasem pojawi się więcej. Po ich zdobyciu możesz rozpocząć tworzenie kodu. Gdy masz więcej pomysłów lub wymyślisz inne rzeczy. Wracasz i piszesz więcej historii użytkowników, aby ich nie zapomnieć. To najlepsze miejsce na rozpoczęcie.

Podejście oparte na zachowaniu wykorzystuje to podejście, a strona pod linkiem zawiera kilka przykładów użycia tego formatu do wyrażania historii użytkowników.

Myślę, że będzie to najszybszy i najbardziej zorganizowany sposób przejścia od pomysłu do kodu.

Charles Lambert
źródło
1

Chwyciłam stos żółtych lepików i magiczny znacznik i usiadłam w pokoju, w którym znajduje się duża biała tablica, aby móc burzy mózgów.

Chciałbym po prostu zacząć pisać proste frazy, które przyszły mi do głowy, takie jak Menu główne, Raporty, Baza danych, Uwierzytelnianie itp. Położyłem je na białej tablicy i po prostu gapiłem się i dostałem więcej pomysłów, na przykład jak powinno wyglądać menu główne :

Otwórz plik, Zapisz plik, Zapisz plik jako, Drukuj itp. I przyklej je na białej tablicy w menu głównym.

Gdy pomysły pojawiają się w twojej głowie, zapisz je ... dobre, złe, głupie, cokolwiek tylko wpadnie w ucho. Przyklej je na planszy. Gdy spojrzysz na tablicę, pojawi się więcej pomysłów i pojawią się wzory. W pewnym momencie zaczniesz wyczuwać, co planujesz rozwijać.

Żółte lepkie są świetne, można je dość szybko przemieszczać.

Gdy wszystko zacznie się układać, podzielisz te myśli na grupy. Następnie możesz przeprowadzić burzę mózgów na poziomie pojedynczej grupy. Zrobiłbym zdjęcia białej tablicy na różnych etapach, na wypadek, gdybyś chciał zobaczyć, jak wyglądała dwadzieścia minut temu, zanim wszystko się zmieniło.

W końcu będziesz miał całkiem niezły pomysł na główne części rzeczy, które należy wykonać. Możesz dostać jeden folder dla każdego z tych fragmentów i po prostu wrzucać do nich pomysły, gdy do ciebie przychodzą.

Michael Riley - AKA Gunny
źródło
0

Ponieważ jesteś studentem, zakładam, że masz na myśli studenta, a nie profesjonalistę. Ten ostatni wymaga dodatkowych rozważań biznesowych i współpracy. Właśnie rozpocząłem nowy projekt w zeszłym tygodniu, więc proces ten jest nowy w mojej głowie.

Pierwszą rzeczą, którą robię, jest badanie istniejących rozwiązań i bibliotek . Nie lubię wymyślać koła, gdy tylko jest to możliwe. Te badania są również ważnym czynnikiem przy wyborze języka dla projektu. Niektóre języki mają lepiej istniejący kod do niektórych zadań.

Następną rzeczą, którą robię, jest utworzenie folderu i poddanie go kontroli źródła . To jest tak proste jak git init .obecnie.

Następnie działam „witaj świecie” . Dzięki temu wiem, że moje środowisko programistyczne jest skonfigurowane poprawnie.

Następnie dostaję „hello world” dla bibliotek zewnętrznych . Jest to absolutne minimum niezbędne do pokazania, że ​​prawidłowo łączę się z biblioteką i korzystam z niej. W przypadku biblioteki bazy danych łączy się na przykład i uruchamia proste zapytanie. W przypadku zestawu narzędzi GUI wyświetla okno.

Następnie skonfigurowałem skrypty budowania i ramy testowe . Jest to mrówka, makefile lub cokolwiek, i jest o wiele łatwiejsze do skonfigurowania, gdy twój projekt jest jeszcze mały.

Następnie tworzę struktury danych . Nazywana również warstwą „modelową”. Jest to część przechowująca wszystko, co Twój program musi pamiętać, aby wykonać swoją pracę. Dużo projektuję na papierze, a potem dodam tylko odcinki. Ta część projektu jest zwykle najłatwiejsza. Na przykład program szachowy będzie potrzebował obiektów do przechowywania siatki gry, graczy, elementów, sekwencji ruchów itp.

W tym momencie mam całkiem dobrą bazę do programu i zazwyczaj dość oczywiste jest, jaki będzie następny krok dla tego konkretnego projektu. Potem robię to po prostu krok po kroku, z kodem, który działa do pewnego stopnia przez cały czas.

Karl Bielefeldt
źródło
0

Jeśli wszystko, co masz, to „wielki pomysł”, będziesz potrzebować wielu rzeczy (które są bardzo dobrze opisane w innych odpowiedziach), a zwłaszcza tych 2: czas i motywacja .

Największą trudnością, gdy pracujesz sam nad osobistym projektem, jest to, że zwykle nie masz dużo czasu na to, aby co tydzień, a więc nie widzisz dużego postępu i szybko tracisz motywację.

Jak już powiedziano, podejmij małe kroki , to jest klucz.

Ale to nie wszystko, musisz zrobić małe i satysfakcjonujące kroki ! Oznacza to kroki, które przyniosą Ci największą wartość i zademonstrują kluczowe koncepcje Twojego wielkiego pomysłu.

Na przykład, jeśli pracujesz na nowym oprogramowaniu z listą super czynności do wykonania ze świetnymi interakcjami użytkownika . Nie zaczynaj od przechowywania i bazy danych, dopóki naprawdę tego nie potrzebujesz. Zacznij od innowacyjnego interfejsu użytkownika: jest zabawny i ma wartość. To sprawi, że będziesz dumny, zmotywowany i pozwoli ci szybko sprawdzić, czy Twój pomysł jest naprawdę dobry.

David
źródło
0

Pierwszą rzeczą, którą musisz zrobić, to usiąść i opisać ten pomysł na piśmie. Do tego czasu nie stanie się projektem, a nawet wtedy trzeba trochę pracy, aby zmienić go z czegoś tak efemerycznego jak pomysł w coś tak namacalnego jak projekt.

Gdy już zaszedłeś tak daleko, możesz zacząć patrzeć na przekształcanie go w projekt, identyfikując, w jaki sposób możesz podzielić go na dyskretne kroki, które można wdrożyć w logiczny sposób.

Następnie nakreśl harmonogram realizacji tych kroków. Sprawdzaj postępy w określonych odstępach czasu, aby zachować kontrolę nad tym procesem - zamiast mieć przerażające pomysły, o których nigdy wcześniej nie pomyślałeś, i dodawać je do miksu.

Zidentyfikuj początkową linię mety i zmierz się do tego. Im mniej się do tego zastosujesz, tym bardziej prawdopodobne jest, że projekt zanurzy się pod ciężarem dodatkowych pomysłów i tym bardziej zniechęcisz się do jego ukończenia, ponieważ wydaje się, że żyje wiecznie.

kuszenie
źródło
0

Wysiłek związany z kodowaniem wynosi zazwyczaj około 20% (+ -10%) budżetu projektu. Koncentrowanie się na poprawnym kodowaniu jest bezcelowe, istnieje 80% wysiłku, który nie został rozwiązany, więc uzyskanie doskonałego zarządzania kodem wciąż pozostawia tylko 20 wykonanych prac.

Co jeśli twój projekt nie ma użytkowników? Co jeśli jest idealny, ale opublikowany tydzień po pliku „Acme Patent Trolls” w celu opatentowania tego pomysłu i okazuje się być kolejnym Facebookiem?

Spójrz na następujące standardowe problemy związane z cyklem życia projektu Wymagania, Projekt, Kod, Test, Integracja, Wdrożenie, Śledzenie i korekcja defektów, Zarządzanie zmianami wymagań (żądania ulepszeń). Plany wydania, przydział zasobów (ile godzin planujesz i faktycznie wykonasz w projekcie), legalne (Freedon w obsłudze) itp.

Jeśli wszystkie powyższe są na miejscu, nawet bardzo zły kod odniesie sukces. Jeśli żadne z powyższych nie jest dostępne, najlepszy kod zawiedzie.

Nie jestem bukmacherem, ale postawiłbym na to pieniądze. Twój pierwszy „duży” projekt zawiedzie, na wiele różnych sposobów, których nie możesz sobie wyobrazić. Nie martw się, idź dalej i ponieść porażkę, wyciągnij z tego wnioski i zrób następne. Nie rozpoczęcie byłoby prawdziwą zbrodnią. Jeśli odniesiesz sukces po raz pierwszy, masz solidną karierę w zarządzaniu biznesem, a nie w programowaniu.

Aby odpowiedzieć na twoje pytanie, odłóż narzędzia programowe i wyciągnij narzędzia „planowania biznesowego”. Wypracuj, DLACZEGO to robisz, KTO wtedy DLACZEGO i KIEDY tego chcą. (Możesz być swoim własnym klientem, ale i tak wykonaj ćwiczenie). Zapisz to w „biznesplanie” i buduj na ich podstawie.

mattnz
źródło
0
  1. jak wygląda sukces?
  2. jakie są niewiadome w projekcie?
  3. jakie są znane w projekcie?
  4. co możesz zrobić, aby wyeliminować / odkryć nieznane, przekształcić je w znane?
  5. co możesz zrobić, aby zebrać znane i osiągnąć sukces?
  6. jaki jest następny konkretny krok, który posuwa projekt do przodu?

powtarzaj ostatni krok, aż projekt zostanie zakończony; zaakceptuj, że może to potrwać lata i idź naprzód

Steven A. Lowe
źródło
0

Wszystkie odpowiedzi tutaj są miłe i wszystkie, ale szczerze mówiąc, nie ma znaczenia, ile kontroli wersji, pobierania, schematu i narzutów dokonujesz, liczy się tylko to, że masz funkcjonalną aplikację, funkcjonalną aplikację jest zdefiniowany jako taki, który rozwiązuje problem, dla którego został przyjęty, wszystkie inne rzeczy są praktycznie nieistotne.

Rozpocznij kodowanie, zakoduj go do fazy funkcjonalnej, uruchom kilka testów, debuguj, uruchom i powtórz iterację z nowymi funkcjami i funkcjonalnościami (jeśli uznasz to za konieczne), w sposób bardzo podobny do lean startup - który jest zwinną metodą zarządzania i rozwój, aby stworzyć mniej odpadów (lub jak ktoś zdefiniował: na wpół ukończone arcydzieła).

Itai Sagi
źródło
-1

Lista rzeczy do zrobienia przy rozpoczynaniu nowego projektu:

  1. utwórz nowy katalog
  2. utwórz plik makefile, kopiując istniejący szablon makefile
  3. utwórz pliki nagłówka i implementacji
  4. upewnij się, że się skompiluje
  5. zacznij korzystać z kontroli wersji
  6. decyduje o konwencji nazewnictwa dla klas, funkcji, członków danych, zmiennych
  7. napisz swoją pierwszą klasę
  8. upewnij się, że twoja klasa jest niezależna, a każda funkcja członka jest niezależna od innych funkcji członka
  9. utwórz kilka obiektów, tworząc funkcje takie jak main ()
  10. powtarzaj kroki 7-10, aż program będzie gotowy
  11. skompiluj to
  12. wysyłamy do użytkowników końcowych
tp1
źródło
Chodzi o kodowanie, ale nie jest to inżynieria i nie działa poza określoną skalą. Zamiast tego musisz zrobić coś, zaczynając od historii użytkowników lub wymagań lub jakiejś specyfikacji; te pomogą ci na początek wybrać technologię wdrażania. „napisz kilka historii”, „zamów swoje historie” to pierwsze dwa kroki, kontrola wersji jest ważniejsza niż jakikolwiek kod, a pierwszą historią są zawsze „technologie wdrażania badań” (co jest czymś więcej niż „wyborem języka”).
Andrew McGregor,