Projektowanie elektroniczne to już nie praca solowa. Współpraca między dziesiątkami lub setkami projektantów, inżynierów, dostawców, producentów i wieloma innymi osobami jest niezbędna do wprowadzenia produktu na rynek. Ta seria blogów bada sposoby przełamywania barier i redukcji niektórych z nużących dialogów w tę i z powrotem, które spowalniają cykle projektowe do ślimacznego tempa. W części pierwszej przyjrzymy się, jakie funkcje sprawiają, że narzędzia do współpracy są skuteczne, oraz niektórym różnym sposobom współpracy nad projektem.
To dość rzadki widok obecnie, aby projekt elektroniczny był realizowany całkowicie przez jedną osobę, czy nawet przez mały, scentralizowany zespół. Częściej duży zespół projektantów i inżynierów rozciągnięty na całym świecie współpracuje ze sobą, aby osiągnąć ten cel. I jak możesz się domyślić, koordynacja i współpraca nad pojedynczym projektem w ten sposób to nie lada zadanie. Pytanie brzmi: jak przebić się przez praktyczne bariery, aby umożliwić prawdziwą współpracę projektową?
Aby wyjaśnić, prawdziwa współpraca oznacza, że projektanci są w stanie wspólnie pracować nad pojedynczym projektem, jak tylko zechcą, czy to równolegle w różnych obszarach projektu, czy też wspólnie, porównując i łącząc elementy w miarę potrzeb, aby ukończyć pojedynczy produkt. Oczywiście, realizacja prawdziwej współpracy wymaga zestawu odpowiednich narzędzi, które charakteryzują się kilkoma zauważalnymi cechami: widocznością, różnicowaniem i łączeniem.
Posiadanie wglądu w to, co robią inni członkowie zespołu, daje perspektywę projektu jako całości. Jest to szczególnie prawdziwe, gdy kilka osób pracuje równolegle, na przykład jednocześnie edytując układ PCB, gdzie widoczność w każdym obszarze projektu może pomóc zapobiec wchodzeniu sobie w drogę.
Rysunek 1: Widoczność pracy innych projektantów w oprogramowaniu do projektowania PCB pomaga zrozumieć projekt jako całość.
Oczywistą analogią dla tego jest mapa pokazująca lokalizacje różnych osób. Zamiast mapy jednak, mamy wysokopoziomowy widok projektu, a zamiast lokalizacji każdej osoby, mamy zmiany, które wprowadzili do projektu. Przydatność tej funkcji w narzędziu do współpracy całkowicie zależy od tego, jak jest ono responsywne. Czy projektanci widzą zmiany innych w czasie rzeczywistym? Czy tylko po zatwierdzeniu własnych zmian w finalnym projekcie?
Nie wystarczy tylko widzieć co inni robią podczas projektowania PCB. Współpraca naprawdę nie działa, chyba że zmiany wprowadzone przez każdego projektanta są porównywane względem siebie, jak również poprzednich iteracji projektu, aby zobaczyć, jak projekt się rozwijał. Dla narzędzia do współpracy sprowadza się to do różnicowania, czyli porównywania zmian w projekcie i rozpoznawania ich różnic.
Rysunek 2: Widzenie różnic między projektem a jego poprzednimi wersjami pomaga śledzić, jak się rozwijał.
Różnicowanie, podczas wspólnego projektowania PCB, powinno działać podobnie jak w systemie kontroli wersji, z dodatkiem pewnej inteligencji. Jak wspomniano, współpraca przy projektowaniu może być rozdzielona ze względu na sposób, w jaki projektanci wchodzą ze sobą w interakcję. Oznacza to, że przed rozpoczęciem projektu układu PCB, mogą oni zostać przydzieleni do pracy nad określonym obszarem, bazując na lokalizacji fizycznej lub funkcjonalnej. Podział projektu płytki drukowanej w ten sposób pozwala projektantom układów PCB pracować równolegle i ułatwia identyfikację różnic.
Ostatnim krokiem w procesie współpracy przy układzie PCB jest scalenie zmian wprowadzonych przez każdego projektanta w jedną główną kopię. Zakładając, że zadania dotyczące płytki drukowanej zostały wcześniej podzielone, scalanie sprowadza się wtedy tylko do rozwiązania konfliktów w obszarach nakładających się.
Rysunek 3: Scalanie to ostatni etap współpracy, gdzie różnice są rozwiązywane i łączone w jeden projekt dla wszystkich.
Rozwiązywanie konfliktów podczas współpracy działa dokładnie tak samo, jak system kontroli wersji. Jeśli projektant napotka konflikt podczas zatwierdzania zmian, może postąpić albo porzucając zmiany, które wprowadził w płytce drukowanej, albo nadpisując pracę innych swoimi własnymi rozwiązaniami. Jak szczegółowe jest to rozwiązywanie konfliktów, bezpośrednio wiąże się z użytecznością narzędzi do współpracy w ogóle. Na przykład, możliwość badania, dodawania lub usuwania pojedynczych elementów z obszarów nakładających się może znacznie zwiększyć skuteczność narzędzi współpracy.
Współpraca przy układaniu i projektowaniu PCB nie musi ograniczać się do pojedynczego obszaru. Praca może być wykonywana między ludźmi w różnych lokalizacjach, na różnych oprogramowaniach, a nawet w całkowicie różnych organizacjach!
Czy zdajesz sobie z tego sprawę, czy nie, współpraca przy projektowaniu ma miejsce w tej czy innej formie podczas cyklu życia produktu. Posiadanie użytecznego zestawu narzędzi do współpracy może pomóc zaoszczędzić trochę tego czasochłonnego dialogu między projektantami. W następnej części tej serii blogowej zajmiemy się szczegółami dotyczącymi współpracy przy projektowaniu płytek drukowanych oraz niektórymi najlepszymi praktykami jej wykorzystania.