View page as slide show

MS Team Fundation Server + CodePlex

Dlaczego ALM ?

  • praca zespołowa, łatwe zarządzanie zespołem, dodawanie nowych członków
  • organizacja projektu, przepływ informacji w zespole
  • kontrola kodu, ograniczenie błędów
  • dbałość o jakość produktu
  • zwiększenie produktywności
  • większa szansa sukcesu, ograniczenie kosztów

Systeem do zarządzania projektami programistycznymi.

  • serwer kontroli wersji
  • wspiera zarządzanie pracą w zespole
  • wspiera koordynowanie budowania aplikacji na różne platformy
  • rozbudowany system raportów
  • wspiera budowę na serwerze
  • wykonywanie testów
  • współprawca z innymi produktami MS Project, Web Acces, …

Rdzeń systemu zarządzania cyklem życia aplikacji (application lifecycle management – ALM).

vs-2010-overview.jpg

  • jedna z najbardziej znanych metodyk zwinnych (Agile) : Manifesto for Agile Software Development
  • metoda przyrostowa : produkt powstaje w kolejnych iteracjach
  • sprawny (ale niekompletny) produkt już po pierwszej iteracji
  • sprawna kontrola nad przebiegiem prac (narzędzia TFS)
  • wczesne wykrywanie problemów
  • zespoły 7+-2
  • kontrola czasu - czynność musi być zakończona w określonym czasie
  • Zespół ma charakter samoorganizujący

Typowy cykl życia zgłoszenia:

  • osoba posiadająca uprawnienia do raportowania wprowadza informację o błędzie
  • osoba lub system określa osobę, której dotyczy błąd i generowane jest powiadomienie
    (jabber, email i inne kanały komunikacji),
  • osoba, która otrzymała powiadomienie, akceptuje go do poprawy lub deleguje ten błąd do innej osoby,
  • osoba odpowiedzialna kończy pracę nad błędem na jeden z kilku sposobów – informując, że błąd został poprawiony, odłożony w czasie, nie jest możliwy do poprawy czy, że zgłoszenie błędu było niepoprawne,
  • jeśli błąd usunięto, osoba odpowiednio uprawiona osoba weryfikuje, czy błąd faktycznie został usunięty i zwykle zgłoszenie błędu jest zamykane.
  • po ostatecznym rozwiązaniu problemu (np. po opublikowaniu albo instalacji u klienta wersji pozbawionej błędu) błąd jest zamykany.


Żródło: http://trac.edgewall.org/chrome/common/guide/basic-workflow.png

Inne przykłady


CodePlex Project Hosting for Open Source Software

About the CodePlex Site
„CodePlex is Microsoft's open source project hosting web site. You can use CodePlex to create new projects to share with the world, join others who have already started their own projects, or use the applications on this site and provide feedback.”

  • 30 dni bez konieczności publikacji (konfiguracja projektu, opis, import źródeł, ustawienia dostępu, licencja)
  • source control:
    • Team Foundation Server (również Subversion)
    • Git
    • Mercurial
  • strona WWW projektu, nazwa_projektu.codeplex.com, wiki opisujące projekt
  • dostęp do repozytorium, przeglądanie historii plików
  • downloads - wersje do pobrania, recenzje oprogramowania
  • dokumentacja projektu, wiki
  • lista dyskusyjna
  • issue tracker, przeglądanie i zarządzanie zadaniami
  • zarządzanie członkami projektu, przydział ról i dostępu
  • śledzenie postępów i aktywności w projekcie, RSS, powiadomienia e-mail
  • Licencje: open source, 10 do wyboru (np. GPL2)

Role (Uprawnienia)

  • editor
  • coordinator
  • developer
  • tytuł
  • opis
  • Status: Proposed, Active, or Fixed.
  • Type: Feature, Issue, or Task.
  • Impact: Low, Medium or High.
  • Assigned To: coordinators or developers.
  • Component: No component
  • załączone pliki
  • Połączenie z serwerem:
    • Team → Connect to TFS
    • informacje niezbędne do połaczenia znajdują się na stornie projektu CodePlex
  • Dodanie projektu do systemu kontroli wersji:
    • File → Source Control → Add Solution/Project to Source Control
  • Okna
    • Source Control Explorer - zarządzanie projektami, katalogami i plikami umieszczonymi z systemie kontroli wersji TFS
    • Team explorer - zarządzanie zadaniami, raporty, harmonogramu kompilacji i automatycznych testów
      • Work Items, filtrowanie za pomocą zapytań (Queries), edytor zapytań
      • Builds, okno Build Explorer
      • Source Control
    • Pending Changes (oczekujące zmiany), zmiany dokonane w lokalnej kopii roboczej
      • modyfikacje plików
      • aktualizacja zgłoszeń (zadań), powiązanie zadań ze zmianami
      • rozwiązywanie konfliktów
  • synchronizacja plików serwer ↔ kopia robocza
    • Check out - pobieranie źródeł z repozytorium
    • aktualizacja do najnowszej wersji
    • Check In - wysłanie lokalnej wersji do repozytorium
    • pobieranie konkretnej wersji z historii
  • przeglądanie plików w repozytorium, dodawanie, usuwanie i zmiana nazwy i położenia plików i katalogów
  • pending changes, oglądanie aktualnie naniesionych zmian, cofanie zmian, śledzenie historii zmian
  • Lock/unlock - blokowanie plików i katalogów
  • rozwiązywanie konfliktów
  • porównanie różnych wersji plików i katalogów
  • tworzenie gałęzi (Branch) i łączenie gałęzi (projekty, katalogi, pliki)
  • odkładanie na półkę (Shelve)
  • etykiety (labels) - wersje zamrożone
  • właściwości plików i katalogów