MS Team Fundation Server + CodePlex
Application lifecycle Management (ALM)
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
Team Fundation Server
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).
TFS
Team Fundation Server
Metodologie Projektowania - Scrum
-
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
Scrum
Issue Tracker - cykl życia
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.
Typowy cykl życia

Żródło: http://trac.edgewall.org/chrome/common/guide/basic-workflow.png
Inne przykłady
TFS instalacja i wymagania
CodePlex ogólnie
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.”
Projekty
30 dni bez konieczności publikacji (konfiguracja projektu, opis, import źródeł, ustawienia dostępu, licencja)
source control:
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)
Użytkownicy
Role (Uprawnienia)
editor
coordinator
developer
Work Item
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
Visual Studio i CodePlex
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
Source Control Explorer
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