Zacznijmy od zatrudnienia dobrego zespołu odpowiednich specjalistów dla twojego projektu. W typowej aplikacji biznesowej trzeba zatrudnić programistę bazy danych i dba, osobę odpowiedzialną za kontrolę jakości, administratora systemu, analityków biznesowych, programistów aplikacji, specjalistę ds. Interfejsu użytkownika i kierowników zespołów. DBA, administrator systemu, analitycy biznesowi i kontrola jakości powinni znajdować się w osobnym łańcuchu raportowania niż zespół programistów. Specjalista ds. Programowania baz danych powinien podlegać temu samemu przewodnikowi technicznemu, co twórcy aplikacji i specjalista ds. Interfejsu użytkownika.
Ustaw powierzchnię biurową. Prywatne biura są świetne, jeśli możesz je zdobyć (życzę ci dużo szczęścia), ale co najmniej potrzebujesz biurków, telefonów, komputerów, tablic i kilku dedykowanych sal konferencyjnych. Upewnij się, że jest miejsce na przerwy obiadowe, lodówkę, napoje bezalkoholowe, przekąski i kawę. Darmowe napoje bezalkoholowe i kawa jeszcze lepiej.
Skonfiguruj serwery dev / qa / staging i prod dla aplikacji i baz danych. Bazy danych nigdy nie powinny znajdować się na tym samym serwerze, co aplikacje. W zależności od wielkości i zakresu projektu może być potrzebnych wiele serwerów lub sieci SAN itp. Dla każdego środowiska.
Gdy tylko serwery zostaną skonfigurowane, zaplanuj kopie zapasowe systemu plików, bazy danych i dzienników transakcji bazy danych. Zrób to już pierwszego dnia. Zatrudnij firmę taką jak Iron Mountain, aby co tydzień wykonywać kopie zapasowe poza witryną.
Skonfiguruj system kontroli źródła i utwórz dokument opisujący, w jaki sposób będzie on używany. Nie zapomnij nalegać, aby WSZYSTKIE zmiany strukturalne bazy danych i wstawienia danych dla tabel typów wyszukiwania były w skryptach w kontroli źródła. Ułatwi to wdrożenie.
Kup oprogramowanie komercyjne lub pobierz oprogramowanie open source dla zestawu narzędzi, z którego zdecydowałeś się korzystać z licencjami dla wszystkich odpowiednich użytkowników.
Kupuj szybko rozwijające się maszyny deweloperskie, które mają dwa monitory. Kup przynajmniej jedną testową maszynę użytkownika, która jęczy powoli i typowa dla tego, co użytkownicy będą mieli na swoich komputerach.
Naucz swoich nowych programistów, w jaki sposób chcesz robić rzeczy. Jeśli masz wystarczająco duży zespół, aby mieć kilku młodszych programistów, zaplanuj dla nich dodatkowe szkolenie i uwzględnij czas w planowaniu projektu. Monitoruj juniorów bardzo dokładnie przez co najmniej trzy miesiące. Monitoruj uważnie wszystkich nowych pracowników przez pierwszy miesiąc. Pozbądź się Deadwood i nieuczciwych programistów jak najszybciej.
Określ, co należy zrobić w jakiej kolejności (ścieżka krytyczna). Nie przypisuj zadań na końcu ścieżki krytycznej, dopóki zadania, na których polegają, nie zostaną ukończone.
Twórz plany i wymagania testowe.
Ustaw regularnie zaplanowane spotkania z klientami. Zasługują na to, aby wiedzieć, co robisz i jakie są blokady. Nie zapomnij powiedzieć im, kiedy będzie późno. Jeśli minęły trzy tygodnie od terminu i już wiesz, że go przeoczysz, deficyt nie zniknie magicznie, zanim będziesz musiał powiadomić klienta. Upewnij się, że klient wie, że dodatkowe wymagania oznaczają dodatkowe koszty i czas oraz że każde dodatkowe wymaganie będzie musiało zostać usunięte z innych zadań lub termin zmieni się o liczbę godzin w nowych zadaniach. Wyjaśnienie tego od samego początku pozwoli zaoszczędzić wiele bólu i nadgodzin oraz nadmiernych kosztów wchłoniętych przez twoją grupę, a nie klienta.
Skonfiguruj środowisko do testowania wydajności, nie tylko szybkość jednego użytkownika, ale takie, w którym możesz przetestować oczekiwaną liczbę jednoczesnych użytkowników. Nie czekaj, aby wykonać te testy, aż do dnia przed uruchomieniem.
Przy planowaniu projektu załóż, że kontrola jakości znajdzie błędy i że ich naprawa zajmie trochę czasu. Nie planuj kontroli jakości tylko na jeden dzień pod koniec.
Utwórz dane testowe, których rozmiar będzie mniej więcej odpowiadał wielkości bazy danych. Niech wszyscy programiści przetestują swój kod na bazie danych o tym rozmiarze. Nie zezwalaj programistom na tworzenie tylko w oparciu o małą bazę danych na ich komputerach osobistych. Jest to częsta przyczyna kodu, który działa dobrze, dopóki nie trafi do produkcji.
Zaplanuj nagrody w budżecie. Demotywuje ludzi, gdy pracują od miesięcy przez tyłki, a tylko menedżerowie otrzymują premie. Dziękuj również często i na piśmie.
Możesz potrzebować systemu zarządzania projektem lub przynajmniej skonfigurować arkusze kalkulacyjne, aby śledzić to, co musisz śledzić. Podczas planowania projektu, weź w planie nie więcej niż sześć godzin dziennie. Pomaga to uwzględnić czas, który nie zostanie poświęcony na projekt, taki jak urlop, czas choroby, wakacje, spotkania HR, oceny wydajności itp. Jeśli wiesz, że projekt jest w okresie wysokiej niedostępności (powiedzmy, że projekt jest realizowany od 1 listopada do 1 stycznia w Stanach Zjednoczonych), może być konieczne dokonanie dodatkowych dodatków na dłuższy urlop i urlop. Niesprawiedliwe jest oczekiwanie, że programiści zrezygnują z urlopu i wakacji i nikt nie jest w stanie przewidzieć, kiedy wydarzy się coś takiego jak czas choroby, obowiązek przysięgłych, czas żałoby itp. Załóż, że przydarzą się Twojemu zespołowi przy tym projekcie.