Automatyzacja pracy. Jak zacząć i jakimi narzędziami?

Automatyzacja pracy czy procesów biznesowych jest najczęściej poruszanym tematem szczególnie w świecie IT. Jakie dzisiaj są możliwości? Jakie oprogramowanie warto wybrać?

Automatyzacja pracy to możliwości dzisiejszych komputerów, które z roku na roku stają się co raz większe. Nie każdy wie z ilu spraw może nas wyręczać. Z mojej własnej analizy wynika, że jako programista i specjalista IT poświęcam średnio nawet 2 godziny na zagadnienia, które można zautomatyzować. A są to kopiowanie plików, aktualizacja systemu operacyjnego lub oprogramowania, optymalizacja, konfiguracja czy rozwiązywanie prostych i przewidywalnych problemów. Rutynowe działania. Oczywiście można się również odwołać do innych branż. Ja jednak pozostanę na razie przy jednym. Automatyzując wszystkie procesy oszczędzamy nie tylko czas, ale i również pieniądze. Nie musimy myśleć o zakupie systemu czy aplikacji u programisty. Istnieją narzędzia, które poprowadzą nas same. A my mamy satysfakcję z tego, że coś robi się samo.

Oprogramowanie do automatyzacji zadań

Wiele osób nie wie tego, że istnieją programy z których korzystamy na co dzień potrafią więcej niż możemy zakładać. Takim przykładem jest Microsoft Outlook. Jeśli chodzi o automatyzację związaną z obsługą poczty elektronicznej to jak na razie nie znalazłem lepszej alternatywy. Klient Microsoftu to prawdziwy lider jeśli chodzi o możliwości. Możemy tworzyć w bardzo prosty sposób reguły, które przetwarzają nasze wiadomości i odpowiednio je klasyfikują.

Ja na przykład Outlook’a używam na co dzień. W pracy i domu. Dostaje dużo powiadomień z różnych systemów. Czasami mniej, a czasami bardziej istotne. To co mnie często irytowało to chaos. Masa wiadomości, które trzeba przejrzeć i zarchiwizować. Traciłem codziennie godzinę na odpowiednie przeanalizowanie i przeniesienie do odpowiedniego katalogu. Odkąd cały proces przejął Outlook, na część czynności nie zwracam teraz uwagi. Program sam przydziela odpowiednią kategorię, priorytet i przenosi do odpowiedniego katalogu. Robi to na podstawie obecności określonych fraz w temacie lub treści, nadawcy czy przydzielonego już priorytetu. O tym czy dana wiadomość jest istotna i trzeba mnie natychmiast powiadomić decyduje już teraz Outlook. Oczywiście na podstawie wcześniej przygotowanych prze ze mnie reguł. Teraz mogę skupić się na jednej rzeczy. Poza standardowymi regułami, Microsoft wprowadził również obsługę programowania w Visual Basic. Ale to już temat dla bardziej zaawansowanych użytkowników. Trzeba jednak przyznać, że w połączeniu z językiem programowania, klient staje się dużym kombajnem, który zaspokoi wszystkie nasze potrzeby.

Automatyzacja pracy systemu

Za obsługę naszej skrzynki wiemy już co wybrać. Jest to jednak pewien obszar, który stanowi naszą część. Kiedy automatyzujemy naszą codzienną pracę z plikami to wykorzystujemy wtedy odpowiednio przygotowane skrypty. Ich napisanie jednak wymaga pewnej wiedzy i czasu. Związku z tym powstały narzędzia, które zmieniają ten stan rzeczy. Jednym z nich jest WinAutomation. Do czego służy? Tym narzędziem zautomatyzujemy cały komputer i nasze codzienne czynności. WinAutomation służy do tworzenia mini programów, przy pomocy gotowych bloków lub nagrywania wykonywanych czynności. Jego obsługa jest bardzo prosta. Wszystko odbywa się za pomocą metody przeciągnij i upuść. Nie musimy znać żadnego języka programowania. Jeśli jednak jakiś znamy to nic nie stoi na przeszkodzie, aby to połączyć. Program co prawda jest płatny, ale jeśli zależy nam na pełnej i szybkiej automatyzacji to warto. W przeciwnym wypadku zawsze możemy skorzystać z alternatywnego rozwiązania – AutoHotKey lub AutoIT. Tutaj jednak musimy się liczyć z trudniejszą obsługą i poświeceniem większej ilości czasu.

Co umożliwiają nam programy tego typu? Dosłownie wszystko. Ogranicza nas tylko wyobraźnia. Ja wykorzystuje te rozwiązania do różnych celów. Na przykład automatycznego pobierania określonych plików z serwera FTP czy tworzenia zautomatyzowanej instalacji i konfiguracji oprogramowania. Możliwości jest wiele, a,  jakie warto wykorzystać to temat na osobny artykuł, a może nawet i książkę.

Język skryptowy = szkoła wyższa

Bardziej zaawansowani użytkownicy nie potrzebują żadnych programów. Istnieją języki skryptowe takie jak PowerShell (Windows) i Bash (Linux), które pozwalają na stworzenie całego procesu od zera. Nie jesteśmy uzależnieni od konkretnych algorytmów. Wszystko zależy od potrzeb i naszej wiedzy. Są zastosowania, gdzie PowerShell jest rozsądniejszym wyborem, ale są też takie, w których programy zrobią to szybciej. Jakie więc wybrać? Narysuj sobie na kartce cel oraz początek twojego programu. Prześledź co musisz zrobić aby to osiągnąć. Szybko na tej podstawie dobierzesz odpowiednią metodę. Pamiętaj również, że PowerShell czy Bash to nie język programowania, który wykorzystuje się przy budowie aplikacji. Pewnych rzeczy w ten sposób nie osiągniesz. Jeśli w twoim przypadku temat ten się powtarza, warto zainteresować się już profesjonalnym programowaniem.

Jak automatyzować i co?

Na to pytanie mogę odpowiedzieć tylko osobą pracującym w IT. Na pozostałych branżach się nie znam, ale zasada jest prosta. Zadania, które spełniają podstawowe cechy, czyli:

  • są w pełni przewidywalne – jesteś w stanie powiedzieć dokładnie w każdym kroku co musisz zrobić, aby osiągnąć określony cel.
  • są rutynowe – wykonanie drugi raz tego zadania będzie wymagało wykonania tych samych kroków.
  • są statyczne – kroki jakie są wykonywane nie zmieniają się za każdym razem.

można zautomatyzować. Niektórzy ten mit obalają powołując się na wielkie systemy, które potrafią wszystko. Owszem istnieją mądre programy, ale przeważnie składają się z modułów, a one spełniają powyższe cechy. Mamy możliwość porównywania wartości, ale to jest najmądrzejsza rzecz jaką komputer jest w stanie zrobić.

Podsumowanie

Automatyzować najlepiej wszystko co jest możliwe. A najlepiej robić to regularnie kiedy tylko mamy na to czas i pomysł. Zauważyłeś, że komputer może o tej porze sam się czyścić? Zautomatyzuj to! Uruchom program i napisz skrypt. Automatyzacja pracy spowoduje, że na inne rzeczy będziesz miał więcej czasu. Ja jako administrator sieci i przyszły programista implementuje skrypty gdzie tylko jest to możliwe. Gdy zaszła potrzeba wykonywania testów prędkości łącza z oddziału do oddziału to napisałem skrypt i robi to za mnie. Ja dostaje tylko wyniki i na ich podstawie analizuje stan naszego łącza. Nie ma praktycznie rzeczy na które nie da się coś wymyślić. Czas przysiąść i pomyśleć. Powodzenia!