Nedir bu Robotic Process Automation? -1

Sevde K
IBTech
Published in
4 min readApr 19, 2022

Merhabalar, bu makale dizisinde sizlere 2 seneye yakın süredir içerisinde bulunduğum Robotic Process Automation (RPA) dünyası hakkında yazıyor, aynı zamanda bir yazılımcı olarak RPA tarafını tanıtıyor olacağım. RPA ile ilgili detaylara girmeden önce aslında benim de çevremden sık sık duyduğum “Nedir bu RPA, robotların nasıl bir işi olabilir, RPA başka nerelerde kullanılıyor?” sorularına yanıt bulacağımız bir giriş yapmak istiyorum.

Photo by Possessed Photography on Unsplash

Robotic Process Automation (RPA) Nedir?

IBM, bu soruyu kendi sitesinde şu cümle ile yanıtlamaktadır; Robotik süreç otomasyonu (RPA), normalde bilgi çalışanları tarafından gerçekleştirilen, fazlasıyla yinelemeye dayalı rutin görevlerin otomatikleştirilmesi için yazılım robotlarının kullanılmasıdır. Yazılım robotları… Sanıyorum bir soruda iki soru cevaplandırmış olacağız. RPA’de kullandığımız robotlar fiziksel değil, birer windows user’ına sahip sunucular olup üzerinde süreçlerimizin koştuğu botlardır. Bu yazılım robotlarında geliştirme yapılarak herhangi bir sistem yenilemesi veya alt yapı değişikliği gerektirmeden, önceden tanımlanmış pek çok görevi gerçekleştirmeleri sağlanabilir. Robotlar bir kişinin ön yüzden yapabildiği tüm işlemleri aynı şekilde yapabilir. Yani evet, henüz tamamen yerimizi alıyor olmasalar da, robotlar bizi taklit edebilir :)

Neden RPA?

Bu soruyu pek çok yerde görebiliyoruz fakat bu sefer bir yazılımcı bakış açısı ile soralım ve cevaplayalım istiyorum; RPA ile otomatikleştirilecek süreçler herhangi bir programlama dili ile de geliştirilebilirken neden RPA tercih edilir?

Çünkü RPA, varolan sistem ve ortamda herhangi bir değişikliğe gerek kalmadan, birkaç gün içerisinde istenen ortamda stabil olarak 7/24 çalışabilen bir ürün ortaya koymayı hedefler. Bu sayede iş akışı otomatikleştirilen ekibin mail okuma, rapor hazırlama, kayıt açma gibi rutin işler yerine zamanını katma değerli işlere ayırabilmesini sağlar. Manuel olarak birden fazla kişinin saatler sürecek çalışma ile tamamladığı bir akışı tek robot dakikalar içerisinde tamamlayabilir. Sadece iş yapılan ekip için değil geliştirici ekipte de daha az kişi ile daha kısa sürede ürün geliştirebilmesine imkan verdiği için şirketlerde zaman, kaynak verimliliği ve agility (çeviklik) sağlanmış olur.

RPA Kullanım Alanları Nelerdir?

RPA, rutin iş akışı içeren, belirli kural tabanları olan aşağıda da listelenmiş pek çok sektörde uygulanabileceği gibi Endüstri 4.0 ve 5.0 ile birlikte konuştuğumuz Yapay Zeka, IoT, Big Data gibi teknolojilerle de entegre çalışabilme imkanı sunmaktadır. Robotlar Human to Machine (H2M) iş ekipleriyle haberleştirilebileceği gibi aynı zamanda birbirleri ile haberleştirilerek Machine to Machine(M2M) çalışabilirler.

  • Sanayi ve Üretim
  • Bankacılık ve Finans
  • Sigortacılık
  • İnsan Kaynakları
  • Tedarik Zinciri Yönetimi
  • E-Ticaret
  • Telekomünikasyon ve Teknoloji
  • Enerji ve Kamu
  • Sağlık
  • Müşteri Hizmetleri

RPA Yaşam Döngüsü

RPA yaşam döngüsü klasik yazılım yaşam döngüsü ile büyük benzerlikler içermekle birlikte konu robotlar olduğu için kendi içinde bazı standartlar barındırmaktadır.

RPA Yaşam döngüsü adımlarını inceleyelim;

Process Discovery : İş yapılacak ekibin ihtiyacı ön plana çıkarılır ve sürecin fizibilitesi incelenir. Bu aşamada, iş akışını, ilgili belgeleri, veri biçimini, kullanılan uygulamaları, teknolojik yönleri, sistemleri, veri hacmini, sıklığı, manuel müdahaleleri, karar vermeyi vb. anlamak için süreç sahipleri ile görüşme yapılmaktadır. Sürecin otomatikleştirilmesine karar verilmesi durumunda kapsamlı bir AS-IS analiz dokümanı hazırlanır. Analiz dokümanı hazırlandıktan sonra süreç sahibi tarafından incelenip onayı alınır.

Solution Design & Flow Design : Analiz dokümanına göre süreçte izlenen happy path adımları, exceptionları, ihtiyaçları, giriş değerlerini ve kontrol noktalarını içeren bir Process Design Document (PDD) hazırlanır. RPA Mimarisine uygun olarak akış şeması oluşturulur. Robotlar için yetki ihtiyacı gereken durumlar için süreç sahibi ve diğer paydaşlardan gerekli yetkiler alınır. Yüksek hacimli işlemlerin paralel makinelerde çalışabileceği şekilde mimari tasarlanır.

Automation Development & Testing : Oluşturulan PDD dokümanına ve akış şemasına göre geliştirici tarafından RPA Geliştirme tool’larının(UiPath, Automation Anywhere, Blueprism vb.) geliştirme ortamlarının kurulduğu sunucularda süreç RPA standartlarına uygun olarak geliştirilir ve analiz dokümanında olan her case için geliştirilen sürecin testleri yapılır. Bot geliştirme sürecinde, klasör yapısı, değişkenler ve konfigürasyon dosyaları, tüm giriş ve çıkış dosyaları için standart adlandırma kuralları takip edilmektedir. Geliştirme sırasında eklenen tüm mesaj kutuları, açılır pencereler ve diğer ekran pencereleri kaldırılır. Tüm dosya ve uygulama yollarına erişim olduğundan, hepsinin başarılı çalıştığından ve işlem adımlarının gerektirdiği ekran erişimlerinin, yetkilerin production ortamda mevcut olduğundan emin olunur.

Geliştirme aşamasındaki testlerin başarılı olmasının ardından süreç upload edilerek botların production ortamında koşması için tasarlanan ve RPA tool’larının run ortamlarının kurulduğu sunucularda uçtan uca test edilir. Her bir sunucuda senkronizasyon/konfigürasyon bazlı farklılıklar olabileceği için yaşanan durumlar fixlenerek stabil olmayan ortamda stabil çalışan bir süreç elde edilmesi hedeflenir.

UAT (User Acceptance Testing) : Kullanıcı Kabul Testi aşamasında test için temin edilen data ile robot uçtan uca çalıştırılarak, UAT için tamamlanan otomatik sürecin production ortamında çalışabilmesi için süreç sahibinden onay alınır.

Deployment : Süreç sahibinden UAT onayının alınmasının ardından süreç production ortamda çalışacak şekilde robot takvimi uygunluğuna ve kısıtlara göre schedule edilir. Süreç production’a geçtikten sonra ortalama bir hafta geliştirici ve iş birimi tarafından kontrol edilir. Analiz eksikliğinden veya farklı sebeplerden ortaya çıkabilen ekleme/düzeltme ihtiyacı olması durumunda düzenlemeler yapılır. Ek efor isteyen ve farklı kontrol noktalarını etkileyebilecek bir ihtiyaç çıkması durumunda ise RPA yaşam döngüsü aynı şekilde işlemektedir. Mevcut sürece ek talep oluşturularak ihtiyaçların etkisi analiz edilir. İlgili ek istek PDD dokümanına eklenir ve geliştirmesinin tamamlanması için planlanır. Geliştirme ve testler tamamlandığında süreç sahibinin onayı ile canlıya alınır.

Maintenance : Canlı ortamda 7/24 çalışan süreçlerde bir hata alınması durumunda robotların ilettiği hata bildirimleri ile RPA ekibi tarafından alınan hata kapsamına göre issue açılarak fixlenir.

Yazı dizisinin ilk bölümünde RPA dünyasına kısa bir giriş yapalım istedim. Sonraki bölümlerde gittikçe derinleşecek şekilde dünyada RPA kullanımına, RPA prensiplerine ve teknik kısımlara da değiniyor olacağız. Görüşmek üzere…

--

--

Sevde K
IBTech
Writer for

Computer Engineering - Senior RPA Engineer