Negocjacja wymagań

Jak pisałem kilka tygodni temu jakość wymagań przekłada się na jakość systemu. Z tego też powodu istotnym jest aby doprecyzować – wynegocjować te wymagania, które mogą destruktywnie wpłynąć na działanie systemu. Poniżej kilka porad (zasad) dla inżyniera wymagań.

Identyfikacja konfliktów

Konflikty mogą się pojawiać podczas wszystkich czynności podejmowanych podczas inżynierii wymagań. Konflikty pomiędzy wymaganiami i interesariuszami często nie są oczywiste. W związku z tym inżynierowie wymagań powinni zwrócić szczególną uwagę możliwość wystąpienie konfliktów wymagań, żeby mogły być zidentyfikowane i rozwiązane we wczesnych etapach.

Analiza konfliktów

Podczas analizy konfliktów należy określić powód wystąpienia konfliktu. Można wyróżnić następujące typy konfliktów:

  • Konflikty tematów, które związane są z deficytem informacji, błędnymi informacjami lub inną interpretacją informacji.
  • Konflikty interesów, które określają, subiektywne lub obiektywne konflikty dotyczące celów i interesów interesariuszy.
  • Konflikty wartości, które charakteryzują różnicę wyznawanych wartości dotyczących pewnych okoliczności (np. wykorzystania zamkniętego lub otwartego oprogramowania).
  • Konflikty relacji, które dotyczą silnych emocji, stereotypów dotyczących komunikacji, problemów komunikacyjnych lub negatywnych zachowań pomiędzy interesariuszami.
  • Konflikty strukturalne, które charakteryzowane są przez zróżnicowany poziom władzy i kompetencji. Na przykład konflikt strukturalny może nastąpić pomiędzy pracownikiem, a jego przełożonym, kiedy przełożony odrzuci wymagania zaproponowane przez pracownika, ponieważ nie uznał kompetencji pracownika pozwalających na wpływ na wymagania.

Bardzo często jest trudno określić jednoznacznie przyczynę powstania konfliktów, gdyż mogą mieć złożoną strukturę i bazować na kilku wyżej wymienionych typach konfliktów.

Rozwiązywanie konfliktów

Rozwiązywanie konfliktów pomiędzy interesariuszami ma szczególne znaczenie w procesie negocjacji wymagań ponieważ może mieć duży wpływ na chęć dalszej współpracy pomiędzy interesariuszami.

Niezależnie od wybranej techniki rozwiązywania konfliktów, należy zawsze zaangażować do tego rozwiązania wszystkich zainteresowanych interesariuszy. Pominięcie któregoś z interesariuszy może doprowadzić do pominięcia określonego punktu widzenia i tylko pogłębić już istniejący konflikt.

Techniki rozwiązywania konfliktów

Jest szereg możliwości rozwiązania konfliktów. Oto one:

  • Porozumienie: W trakcie tej techniki wszystkie strony konfliktu negocjują rozwiązanie konfliktu. Strony konfliktu wymieniają informację, argumenty, opinie i w ten sposób starają się przekonać drugą stronę do swojego punktu widzenia i dojścia do wspólnego rozwiązania.
  • Kompromis: W trakcie tej techniki wszystkie strony konfliktu próbują znaleźć kompromis pomiędzy alternatywnymi rozwiązaniami. W odróżnieniu do porozumienia rozwiązanie składa się z połączeń różnych części alternatywnych rozwiązań.
  • Głosowanie: W trakcie głosowania wszyscy zainteresowani interesariusze głosują na jedno alternatywne rozwiązanie. Rozwiązanie, które dostanie najwięcej głosów jest przyjmowane jako rozwiązanie konfliktu.
  • Definicja wariantów: W przypadku tej techniki system jest budowany w sposób określający możliwość definiowania różnych wariantów użytkowania określanych parametrami konfiguracyjnymi. W ten sposób możliwe jest zaspokojenie różnych interesów interesariuszy.
  • Hierarchizacja: W przypadku tej techniki konflikty rozwiązywane z uwzględnieniem hierarchii w organizacji. Wybierane jest rozwiązanie strony, która znajduje się wyżej w hierarchii organizacji, a jeżeli są na tym samym poziomie hierarchii to o wyborze rozwiązania decyduje ich bezpośredni przełożony.
  • Rozważenie wszystkich faktów: W przypadku tej techniki rozpatrywane są wszystkie czynniki wpływające na konflikt, w takim stopniu aby zebrać jak najwięcej informacji mających wpływ na konflikt. Ustalenie rang dla poszczególnych czynników pomaga w wyborze odpowiedniego rozwiązania.
  • Plus-minus-interesujące: Technika plus –minus-interesujące polega na określaniu pozytywnych i negatywnych konsekwencji dla poszczególnych rozwiązań. Konsekwencje pozytywne są przypisywane do kategorii „plus”, negatywne do kategorii „minus”, a nieokreślone do kategorii „interesujące”.
  • Macierz decyzyjna: W przypadku tej techniki tworzona jest tabela, w której kolumny reprezentują poszczególne rozwiązania, a wiersze istotne kryteria decyzyjne. Kryteria decyzyjne mogą zostać pozyskane za pomocą techniki Rozważenia wszystkich faktów. Na skrzyżowaniu kolumn i wierszy wstawiane są wartości określające wpływ danego rozwiązania na kryterium decyzyjne. Wartości powinny zawierać się w przedziale od 0 (brak wpływu) do 10 duży (wpływ). Podsumowanie wartości dla poszczególnych rozwiązań pozwala na wybranie najbardziej optymalnego.

Dokumentowanie rozwiązania konfliktów

Rozwiązania konfliktów muszą być zawsze w sposób identyfikowalny udokumentowane. Niewłaściwe udokumentowanie konfliktów może mieć wpływ na:

  • Wielokrotną pełną obsługę konfliktów, które już wystąpiły. Bez odpowiedniej dokumentacji te same konflikty muszą być rozwiązywane od nowa przechodząc przez cały proces negocjacji wymagań.
  • Nieodpowiednie rozwiązanie konfliktów. W trakcie negocjacji wymagań nie zawsze uda się prawidłowo rozwiązać konflikt. Jeżeli nieprawidłowe rozwiązanie konfliktu nie zostanie prawidłowo udokumentowane istnieje ryzyko, że podczas ponownego rozwiązywania tego konfliktu zostanie powtórzone rozwiązanie, które wcześniej zakończyło się porażką.

A Ty negocjujesz swoje wymagania?

Tekst zainspirowany książką: Klaus Pohl, Chris Rupp „Requirements engineering fundamentals : a study guide for the Certified Professional for Requirements Engineering exam : foundation level”, IREB compliant Wydawnictwo: Rocky Nook Inc, 2011

Podobne wpisy

  • Zarządzanie relacjami pomiędzy wymaganiami Zarządzanie wymaganiami to ważny element procesu wytwórczego oprogramowania. Jednym z jego elementów budowanie i zarządzanie relacjami pomiędzy wymaganiami. Najczęściej spotykanym jest […]
  • Architektura procesów biznesowych a modelowanie procesów biznesowych – poziomy modelowania W poprzednim wpisie Modelowanie procesów biznesowych w procesie wytwórczym oprogramowania opisałem znaczenie modelowania procesów biznesowych. W moim odczuciu, modelowanie procesów […]
  • Wymagania są najważniejsze Podczas mojej pracy zauważyłem, że spory problem stanowią wymagania. Trudnością nie jest ich spisanie. Trudnością jest ich wyartykułowanie. Pomijam turbulencje związane z celem zamiany czy […]
  • Plan zarządzania wymaganiami Plan zarządzania wymaganiami to dokument, który opisuje zasady postępowania z wymaganiami. W moim odczuciu to jeden z najważniejszych dokumentów, gdyż w jawny sposób opisuje szereg ważnych […]
  • Wymagania – Zarządzanie wersjami Zmiany w wymaganiach wymaga ich wersjonowania.Wersje wymagań pomagają uzyskać dostęp do określonego stanu wymagania w trakcie życia oprogramowania. Najczęściej wersje wymagań określane są […]
Reklama
MODESTO - licencje Enterprise Architect

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przewiń do góry