Jak myślisz, kiedy należy pisać dokumentację do projektu?
Wiesz jak to jest, zespół nie ma czasu na pisanie dokumentacji do istniejącego projektu, bo PM zawsze mówi, że brakuje jakieś bardzo ważnej funkcjonalności bez której to projekt nie ma sensu i dopiero jak skończy się tą jedną funkcjonalności to będzie czas na zrobienie dokumentacji. Ale później będzie błąd krytyczny lub inna bardzo ważna i potrzebna funkcjonalność i nadal nie będzie czasu na pisanie dokumentacji.
W metodyce scrum, sprint (przebieg) to przedział czasowy dostarczający klientowi działający produkt. Ale co z dokumentacją? Kiedy należy pisać dokumentację? Na końcu bieżącego sprintu czy na początku następnego sprintu? Czy lepiej jest na bieżąco pisać, czy jednak zmiany są zbyt często i lepiej jest pisać dokumentacje co kilka sprintów. Może jednak należy wyznaczyć osobny sprint do pisania dokumentacji?
Nie znam odpowiedzi na te pytania, ale podoba mi się koncepcja krótkiego sprintu poświęconego tylko na dokumentacje. Ten sprint nazywa się Doc Sprint. Doc Sprint może trwać od 2 do 3 dni. Jeżeli ten sprint potrzebowałby trwać dłużej niż 3 dni to oznacza, że dokumentacja jest źle zarządzana, za bardzo było się skoncentrowany na samej funkcjonalności projektu, albo mamy problem ze zbieraniem danych potrzebnych do dokumentacji (problem z knowledge sharingiem).
Wiem, że sprint bardziej jest dla klienta produktu niż dla zespołu, gdyż zasadą jest, że zmiany wprowadzone w sprincie musza być namacalne dla użytkowników (musza mieć nową widoczną funkcjonalność). Ale w trakcie sprintu można wprowadzić wewnętrzny, mniejszy sprint poświęcony tylko dokumentacji.
Pokazywanie postów oznaczonych etykietą smart. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą smart. Pokaż wszystkie posty
czwartek, 14 listopada 2013
środa, 16 października 2013
Kolorowanie składni w Visual Studio
Edytor środowiska programistycznego (IDE) jest narzędziem, przy którym programista spędza 99% swojego czasu. Nie będę Ci mówił, że kolorowa składnia jest bardzo ważna. Celem tego wpisu jest przesłanie Ci ciekawych rozwiązań zestawu kolorów.
Już dawno temu Atwood, Hanselman czy Restrepo pisali o kolorowaniu środowiska programistycznego.
Na stronie Studio Style można pobrać style do edytora Visual Studio. Oprócz tego sam możesz stworzyć własny styl dopasowany do Twojego gustu. Oczywiście w każdym momencie można wrócić do domyślnego stylu.
Dla Visual Studio 2013 (i innych wersji od VS2010) jest jeszcze dodatek Color Theme Editor, który zmieniasz menu VS.
Już dawno temu Atwood, Hanselman czy Restrepo pisali o kolorowaniu środowiska programistycznego.
Na stronie Studio Style można pobrać style do edytora Visual Studio. Oprócz tego sam możesz stworzyć własny styl dopasowany do Twojego gustu. Oczywiście w każdym momencie można wrócić do domyślnego stylu.
Dla Visual Studio 2013 (i innych wersji od VS2010) jest jeszcze dodatek Color Theme Editor, który zmieniasz menu VS.
niedziela, 3 marca 2013
SMART - nadużywany akronim
Mam wrażenie, że akronim SMART jest nadużywany. Wszyscy chcą teraz być smart - mądrzy, eleganccy,
błyskotliwi, zwinni i sprytni. Więc słówko SMART bardzo łatwo staje się popularne, a zasada o tej samej nazwie ma coraz większą rzeszę zwolenników.
Ostatnio zaglądnąłem pod hasło SMART na Wikipedii, aby sprawdzić ile jest słówek rozwijających ten akronimem. Z tych wszystkich kombinacji można rozwinąć akronim na 13 824 sposobów. Jak jeszcze dołożymy literki ER to jest 580 608 sposobów. Przykład można zobaczyć w poniższym pliku. Wydaje mi się, że najważniejsze nie są literki, ale jaki przekaz niesie dana literka.
Już wcześniej pisałem o tym, że metoda SMART nie wystarcza w realizowaniu celów, ale uważam, że jest bardzo dobrą metodą przy wyznaczaniu celów.
Ostatnio zaglądnąłem pod hasło SMART na Wikipedii, aby sprawdzić ile jest słówek rozwijających ten akronimem. Z tych wszystkich kombinacji można rozwinąć akronim na 13 824 sposobów. Jak jeszcze dołożymy literki ER to jest 580 608 sposobów. Przykład można zobaczyć w poniższym pliku. Wydaje mi się, że najważniejsze nie są literki, ale jaki przekaz niesie dana literka.
Już wcześniej pisałem o tym, że metoda SMART nie wystarcza w realizowaniu celów, ale uważam, że jest bardzo dobrą metodą przy wyznaczaniu celów.
niedziela, 16 grudnia 2012
Dokument w prezentacji
--Co się stanie jak połączysz dokument tekstowy ze slajdem w swojej prezentacji??
--Powstanie SlideUment :D
Taki suchar.
Zapewne zapytasz co to takiego. Pozwól, że przybliżę ci ten problem. Siedzisz na prezentacji w ostatnim rzędzie. Prowadzący zaczyna mówić ciekawie, więc jesteś zainteresowany prezentacją. Wszystko jest ok, aż w pewnym momencie prezenter przełącza na nowy slajd, a w twoich oczach pojawia się 'wielki' dokument mówiący o wszystkich najważniejszych rzeczach, ale kompletnie nieczytelnie dla ciebie. Mnie w takich momentach ogarnia frustracja i więcej nie chce uczestniczyć w takich prezentacji.
Poniżej przedstawiam 3 przykładowe slideumenty:
Słowo Slideument oznacza dokument przedstawiony w formie slidu w prezentacji (postać hybrydy). Pojęcie to zostało opisane przez Garr Reynolds na stronie Presentation Zen. Dokument i prezentacja mają inne cele, dlatego powinny one być inaczej przedstawione.
Nie jestem specjalistą od dekompozycji prezentacji, ale jeżeli mógłbym ci doradzić w uniknięciu slideumentu to po prostu przedstaw najważniejsze kwestie i zamieść odnośnik do dokumentu na końcu prezentacji. Oprócz tego możesz też rozdzielić cały slideument na klika lepiej przedstawionych slidów.
--Powstanie SlideUment :D
Taki suchar.
Zapewne zapytasz co to takiego. Pozwól, że przybliżę ci ten problem. Siedzisz na prezentacji w ostatnim rzędzie. Prowadzący zaczyna mówić ciekawie, więc jesteś zainteresowany prezentacją. Wszystko jest ok, aż w pewnym momencie prezenter przełącza na nowy slajd, a w twoich oczach pojawia się 'wielki' dokument mówiący o wszystkich najważniejszych rzeczach, ale kompletnie nieczytelnie dla ciebie. Mnie w takich momentach ogarnia frustracja i więcej nie chce uczestniczyć w takich prezentacji.
Poniżej przedstawiam 3 przykładowe slideumenty:
Słowo Slideument oznacza dokument przedstawiony w formie slidu w prezentacji (postać hybrydy). Pojęcie to zostało opisane przez Garr Reynolds na stronie Presentation Zen. Dokument i prezentacja mają inne cele, dlatego powinny one być inaczej przedstawione.
Nie jestem specjalistą od dekompozycji prezentacji, ale jeżeli mógłbym ci doradzić w uniknięciu slideumentu to po prostu przedstaw najważniejsze kwestie i zamieść odnośnik do dokumentu na końcu prezentacji. Oprócz tego możesz też rozdzielić cały slideument na klika lepiej przedstawionych slidów.
poniedziałek, 5 marca 2012
Metoda wypełniająca dla testów
Problem jaki napotykam w trakcie testowania aplikacji jest ciągłe wypełnianie tych samych pól, tymi samymi danymi. Aby zautomatyzować dany proces wystarczy dodać metodę wypełniającą.
Do metody wypełniającej dane (np. w formularzu) dodaje się atrybut Conditional("DEBUG"). Jeżeli flaga DEBUG nie jest ustawiona to metoda jest omijana w produkcyjnej binarce. Do tej metody dodatkowo dodaje warunek czy debugger jest podłączony. Debugger możne być podłączony w trybie Debug oraz Release. Dobrę praktyką jest dodanie informacji do okna Output z jakiej metody zostało dokonane wypełnienie, pisanie nazw tych metod z prefiksem "DEBUG_" oraz ustawienie dostępności na private.
Poniższy kod przedstawia ten mechanizm:
Dla aplikacji ASP.NET można zastosować HttpContext.Current.IsDebuggingEnabled.
Do metody wypełniającej dane (np. w formularzu) dodaje się atrybut Conditional("DEBUG"). Jeżeli flaga DEBUG nie jest ustawiona to metoda jest omijana w produkcyjnej binarce. Do tej metody dodatkowo dodaje warunek czy debugger jest podłączony. Debugger możne być podłączony w trybie Debug oraz Release. Dobrę praktyką jest dodanie informacji do okna Output z jakiej metody zostało dokonane wypełnienie, pisanie nazw tych metod z prefiksem "DEBUG_" oraz ustawienie dostępności na private.
Poniższy kod przedstawia ten mechanizm:
[Conditional("DEBUG")]
private void DEBUG_YourFillingMethod() //hack: Debug
{
if (Debugger.IsAttached)
{
Debugger.Log(0, this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);
//todo: your filling code
}
}
Dla aplikacji ASP.NET można zastosować HttpContext.Current.IsDebuggingEnabled.
poniedziałek, 27 lutego 2012
Jak przyspieszyć kodowanie cz.2
Już wcześniej pisałem o jednym ze sposobów przyspieszenia pisana kodu, a tym razem powiem więcej o Zen-Coding. Jest to silnik umożliwiający automatyczne generowanie kodu używanego w językach bazujących na SGML. Zapisując nazwy i specjalne symbole można w prosty sposób wygenerować wiele linijek kodu. Możliwości Zen-Codingu przedstawia poniższy filmik:
Jest dodatek do Visual Studio, a opis można znaleźć pod tym adresem.
Resharpera też można wzbogacić poprzez plugin. Lista innych programów jest przedstawiona na stronie Wikipedii
Generator listy w c#
Chciałbym przedstawić krótki kod jaki używam do tworzenia listy obiektów.
Dzięki temu możemy w łatwy sposób stworzyć listę 10 elementów z losowymi i ponumerowanymi liczbami.
public class Generator
{
public static IEnumerable<T> Generate<T>(Func<T> func)
{
while (true)
{
yield return func();
}
}
public static IEnumerable<T> Generate<T>(Func<int, T> func)
{
int index = 0;
while (true)
{
yield return func(index);
index++;
}
}
}Dzięki temu możemy w łatwy sposób stworzyć listę 10 elementów z losowymi i ponumerowanymi liczbami.
Random r = new Random();
var listWithRandomElements = Generator.Generate(()=> r.Next(10))
.Take(10);
var listWithNumberedElements = Generator.Generate(i => i)
.Take(10);
niedziela, 29 maja 2011
VALID your Goals
Wyznaczanie celów życiowych jest jedną z najtrudniejszych rzeczy w osiąganiu sukcesu oraz budowaniu swojej świadomości.
Nieodzowną metodą w tym kreowaniu jest koncepcja SMART (SMARTER), ale brakuje mu jednego bardzo ważnego elementu, jakim są wartości osobiste.
Metoda, która to poprawia nazywa się VALID i obejmuje nasz myślący jak i emocjonalny mózg. Ona nie definiuje pojęć, ale grupuje pytania, na które powinieneś sobie odpowiedzieć w trakcie wyznaczania celu. Z metodą pierwszy raz spotkałem się w książce coaching inteligencji emocjonalnej.
Values (wartości) - wartości osobiste są jedne z najważniejszych elementów definiujących człowieka. Postaraj się odpowiedzieć sobie, co jest ważne w tym celu? Jaką wartość wprowadza w twoje życie wykonanie tego celu? Dlaczego ten cel będzie ważnym elementem twojego życia? Co będziesz myślał, kiedy ten cel osiągniesz? Jak będziesz się wtedy czuć?
Attitudes (nastawienia) - pozytywne nastawienie dużo mocniej oddziaływać niż negatywne (a tym bardziej obojętne) nastawienie. Powiedz, jakie masz nastawienie do tego celu? Jakie przekonania przeszkadzają Ci w osiągnięciu tego celu i co chcesz z tym zrobić?
Awareness (świadomość) - bądź świadomy swoich myśli, uczuć oraz kolejności działań zmierzając do celu. Monitoruj to, co wykonujesz. Pozwoli ci to zauważyć potencjalne przeszkody jak i możliwości. Odpowiedz sobie, co czujesz w procesie dążenia do tego celu? Gdzie znajduje się to uczucie?
W korporacjach taką świadomości stanowią anonimowe ankiety, samooceny pracowników, raporty oraz spotkania zespołowe.
Likely (prawdopodobieństwo) - oblicz, jakie jest prawdopodobieństwo osiągnięcia tego celu, świadomy będziesz czy to zadanie jest osiągalne. Czy jest to zadanie realistyczne? Co może pokrzyżować twoje plany? A co może pomóc w osiągnięciu ich?
Intention (intencje) - jeżeli wiesz, dlaczego dążysz do określanego celu to potrafisz wyznaczyć właściwą drogę. Intencja jest mocna związana z wartościami.
Odpowiedz sobie, nad czym masz kontrole i jakie są Twoje mocne strony?
Do( działanie) - zapisz, jakie zachowania należy wykonać, aby osiągnąć ten cel. ZAPISZ, jaki masz plan działania oraz PIERWSZY KROK. Co będziesz czuł, kiedy zaczniesz wykonywać ten pierwszy krok? Jest to bardzo ważna część metody, która wyznacza początek procesu.
Done Date( data zakończenia) - jeżeli cel nie ma daty zakończenia to możemy go całe życie robić. Wiedza na temat ostatecznego terminu zwiększa szansę na sukces. Wyznacz sobie datę zakończenia wykonywania celu. Czy jest to cel krótkoterminowy czy długoterminowy? Jak uczcisz osiągnięcie swojego celu w tym wyznaczonym terminie?
Metoda VALID jest świetna i pozwala naprawdę zmotywować się do działania w realizacji swoich celów.
Jeżeli po metodach smart i valid nadal nie zacząłeś wykonywać swojego celu to Richard Wiseman w swojej książce 59 sekund pisze, że dzięki ogłoszeniu swojego celu publicznie (swoim znajomym, rodzinie, w Internecie, w pracy) oraz rozmowy z osobami, które ten cel osiągnęły, można bardzo zwiększyć swoją motywacji do działania.
Innymi takimi kwestiami wyznaczania celów jest tworzenie otaczającego środowiska. Jeżeli twoje środowisko jest głośne, mówi Ci, że tego nie osiągniesz lub pochłania Twoją energie, to zmień to środowisko. Odpowiedzenia sobie też na pytanie, „Dlaczego nie możesz tego rozpocząć?". Na ogół staram się nie zadawać pytania ze słowem, „dlaczego", gdyż czasami takie pytanie brzmi jak oskarżenie lub jest infantylne. Odpowiedzenie sobie na to pytanie uświadomi Cię, co trzeba zmienić.
Mam nadzieję, że ten wpis pozwoli ci lepiej wyznaczać cele.
Nieodzowną metodą w tym kreowaniu jest koncepcja SMART (SMARTER), ale brakuje mu jednego bardzo ważnego elementu, jakim są wartości osobiste.
Metoda, która to poprawia nazywa się VALID i obejmuje nasz myślący jak i emocjonalny mózg. Ona nie definiuje pojęć, ale grupuje pytania, na które powinieneś sobie odpowiedzieć w trakcie wyznaczania celu. Z metodą pierwszy raz spotkałem się w książce coaching inteligencji emocjonalnej.
Values (wartości) - wartości osobiste są jedne z najważniejszych elementów definiujących człowieka. Postaraj się odpowiedzieć sobie, co jest ważne w tym celu? Jaką wartość wprowadza w twoje życie wykonanie tego celu? Dlaczego ten cel będzie ważnym elementem twojego życia? Co będziesz myślał, kiedy ten cel osiągniesz? Jak będziesz się wtedy czuć?
Attitudes (nastawienia) - pozytywne nastawienie dużo mocniej oddziaływać niż negatywne (a tym bardziej obojętne) nastawienie. Powiedz, jakie masz nastawienie do tego celu? Jakie przekonania przeszkadzają Ci w osiągnięciu tego celu i co chcesz z tym zrobić?
Awareness (świadomość) - bądź świadomy swoich myśli, uczuć oraz kolejności działań zmierzając do celu. Monitoruj to, co wykonujesz. Pozwoli ci to zauważyć potencjalne przeszkody jak i możliwości. Odpowiedz sobie, co czujesz w procesie dążenia do tego celu? Gdzie znajduje się to uczucie?
W korporacjach taką świadomości stanowią anonimowe ankiety, samooceny pracowników, raporty oraz spotkania zespołowe.
Likely (prawdopodobieństwo) - oblicz, jakie jest prawdopodobieństwo osiągnięcia tego celu, świadomy będziesz czy to zadanie jest osiągalne. Czy jest to zadanie realistyczne? Co może pokrzyżować twoje plany? A co może pomóc w osiągnięciu ich?
Intention (intencje) - jeżeli wiesz, dlaczego dążysz do określanego celu to potrafisz wyznaczyć właściwą drogę. Intencja jest mocna związana z wartościami.
Odpowiedz sobie, nad czym masz kontrole i jakie są Twoje mocne strony?
Do( działanie) - zapisz, jakie zachowania należy wykonać, aby osiągnąć ten cel. ZAPISZ, jaki masz plan działania oraz PIERWSZY KROK. Co będziesz czuł, kiedy zaczniesz wykonywać ten pierwszy krok? Jest to bardzo ważna część metody, która wyznacza początek procesu.
Done Date( data zakończenia) - jeżeli cel nie ma daty zakończenia to możemy go całe życie robić. Wiedza na temat ostatecznego terminu zwiększa szansę na sukces. Wyznacz sobie datę zakończenia wykonywania celu. Czy jest to cel krótkoterminowy czy długoterminowy? Jak uczcisz osiągnięcie swojego celu w tym wyznaczonym terminie?
Metoda VALID jest świetna i pozwala naprawdę zmotywować się do działania w realizacji swoich celów.
Jeżeli po metodach smart i valid nadal nie zacząłeś wykonywać swojego celu to Richard Wiseman w swojej książce 59 sekund pisze, że dzięki ogłoszeniu swojego celu publicznie (swoim znajomym, rodzinie, w Internecie, w pracy) oraz rozmowy z osobami, które ten cel osiągnęły, można bardzo zwiększyć swoją motywacji do działania.
Innymi takimi kwestiami wyznaczania celów jest tworzenie otaczającego środowiska. Jeżeli twoje środowisko jest głośne, mówi Ci, że tego nie osiągniesz lub pochłania Twoją energie, to zmień to środowisko. Odpowiedzenia sobie też na pytanie, „Dlaczego nie możesz tego rozpocząć?". Na ogół staram się nie zadawać pytania ze słowem, „dlaczego", gdyż czasami takie pytanie brzmi jak oskarżenie lub jest infantylne. Odpowiedzenie sobie na to pytanie uświadomi Cię, co trzeba zmienić.
Mam nadzieję, że ten wpis pozwoli ci lepiej wyznaczać cele.
Subskrybuj:
Posty (Atom)




