Mam projekt na uniwersytet, o którym nie zacznę od razu, ale zastanawiam się nad nim dość długo. Rozumiem, że rozwój projektu uniwersyteckiego nie jest jak przemysł (obecnie sam jestem stażystą), więc sytuacja, którą w tej chwili wskażę, będzie prawdopodobnie wydawać się absurdalna dla prawdziwych programistów. ^^ ”
Sam projekt wymaga od nas udokumentowania dużej części naszej pracy. Oprócz dostarczenia kodu, który wlicza się do niektórych znaków, musimy dostarczyć dokumenty, w tym:
- Dokument analizy wymagań
- Plan projektu
- Planowana lista przypadków użycia, modeli obiektowych i dynamicznych oraz testów akceptacyjnych
- Dokumentacja procesu testowania i jego powodzenia
- Niektóre inne dyskusje i analizy wykorzystania czasu itp.
Produkty te należy dostarczyć w następujący sposób:
- Najpierw RAD
- Następnie plan projektu, wykorzystanie przypadków, modeli i testów (około 3 tygodnie później)
- Na koniec dokumentacja aktualnego programu, procesu testowania itp. + Sam program (około 5 tygodni później)
Z tego, co rozumiem, jest to naprawdę ukierunkowane na podejście do projektu w stylu Wodospadu. Jedynym problemem (moim zdaniem) jest to, że jest to projekt uniwersytecki, a studenci już mają wystarczającą presję, ponieważ próbują opracowywać projekty pod koniec semestru w ciągu tygodnia projektu. Naprawdę nie chcę kodować / opracowywać / testować wszystkiego pod koniec semestru, kiedy będę panikować z wieloma innymi ocenami, z którymi mam do czynienia.
Chciałbym przynajmniej spróbować wykonać jakiś iteracyjny cykl programowania, co oznacza, że możemy zacząć wcześnie kodować / prototypować, mieć ciągły cykl rozwoju, który nie koncentruje się na robieniu wszystkiego w ostatniej chwili i nie ma tak dużej presji na koniec semestru, aby zakończyć ten projekt. A teraz pojawia się moje aktualne pytanie:
- Czy mogę jakoś pogodzić konieczność dostarczenia całej dokumentacji z szybkim, iteracyjnym / prototypowym cyklem programowania?
- Czy istnieją strategie generowania dokumentacji w sposób iteracyjny?
- Czy jestem całkowicie nierozsądny, pytając o to i oczekując, że będzie to możliwe na uniwersytecie?
Rozumiem również, że to pytanie jest niezwykle zlokalizowane, dlatego chciałbym zadać te same pytania, które zadałem powyżej w odniesieniu do branży, i czy wiele z tych problemów, które napotykają zwinne procesy, są różne dla każdego zespołu lub firma.
W każdym razie przepraszam za to, jak długo to trwa, a jeśli skończyłeś czytać do końca, dziękuję! Gdybyś mógł poświęcić czas na odpowiedź, byłbym bardzo wdzięczny! Dziękuję Ci!
źródło
Odpowiedzi:
Główny problem (mam podobny problem z moją pracą) polega na tym, że jeśli „Proces” wymaga dostarczenia określonych artefaktów w określonym czasie i nikt nie może zakwestionować wszechmogącego „Procesu”, to jeśli spróbujesz, straci! Nie jest to tylko prosta kwestia, że jest to lepszy sposób (którym jest iteracyjny rozwój dokumentacji).
Musisz więc pracować w ramach tego procesu, ale znajdź sposób pracy tak, jak chcesz. Na przykład, czy Twój proces umożliwia modyfikację dokumentu po jego przesłaniu? Jeśli nie, to nie jest możliwy rozwój iteracyjny. Jeśli tak, musisz pomyśleć o koszcie dostawy (pod względem czasu, wiarygodności itp.) I zarządzać tym kosztem. Jeśli na przykład jest to kopia pliku i nic więcej, wybierz ją. Jeśli (tak jak ja) jest to przegląd, wydanie poprawkowe, wpływa na dziesiątki ludzi i kosztuje tysiące dolarów, to zastanów się dobrze i upewnij się, że nowy dokument naprawdę wnosi wartość dodaną.
Powszechnym sposobem pracy jest absolutnie niezbędny, minimalny dokument, który na początku spełnia potrzeby „Procesu”, a następnie końcowa aktualizacja „w wersji wbudowanej”, która nie tylko odzwierciedla rzeczywistość, ale zawiera szczegółowe informacje w razie potrzeby i jest krótkie, gdzie kod mówi sam za siebie.
źródło