Event-Storming Workshop: İşletmenin panoramasını keşfedin

Son zamanlarda şirket içinde birkaç Event Storming Workshop düzenlenmiştir. Bu makale organizatör tarafından verilen bir ödev olarak kabul edilebilir. Umarım daha fazla öğrenci bu tür etkinlikleri anlayabilir ve organize edebilir.

arka fon

Bir B2C e-ticaret platformu olduğumuzu varsayalım, ona "Jingxi" Alışveriş Merkezi diyelim. Bir yıldan fazla bir süredir iş yapıyoruz ve işimizin ilk aşaması vahşice büyüdü. Sistem aynı zamanda "büyük bir çamur topu (tek uygulama)". Şirket iyi gelişti ve 20 milyon ABD doları topladı.Şirketin işinin hızla büyümesi gerekiyor ve mevcut sistemin şirketin hızlı gelişimini desteklemek zor. Mikro hizmetleri bölmesi gerekiyor ve geliştirme ekibinin boyutu son 20 kişiden artmalı. 100 kişiye.

Yeni öğrencilerin mevcut işletmeyi hızlı bir şekilde anlamaları gerekir ve ürün yöneticisi tüm işletmeleri tam olarak tanımlayamaz.Geçmişte geliştiriciler yalnızca kısmi işi anlar. İş gereksinimleri ister "kullanıcı öyküleri", isterse kalın bir gereksinim belgeleri yığını olsun, yeni ve eski öğrencilerin bir hızlı , Birleşik Tam biliş.

Event Storming

Yukarıdaki zorluklara yanıt olarak, iş panoramasını kısa sürede hızlı bir şekilde anlamamıza ve birleşik bir anlayışa ulaşmamıza yardımcı olmak için Event Storming hafif modelleme aracını kullanabiliriz.

Event Storming, DDD (Domain Driven Design) fikrinden türetilen bir modelleme aracıdır.İş panoramasını keşfetmek için Event Storming'i kullandığımızda, iş sistemi için bir modelleme tasarımı da üretiriz. Bu, User Journey ile aynıdır, Kullanıcı Hikayesi Haritalama aracı arasındaki en büyük fark.

İlke: Evrensel Dil

Süreçte takip etmemiz gereken önemli ilke; ortak dil (Diğer ilkelerin önemli olmadığı değil, ama hatırlamadım haha). Evrensel dil, DDD'deki önemli ilkelerden biridir. İki anlamı vardır:

  • İş sistemini tanımlarken, iş senaryosunda lehçeyi kullanmalıyız. Örneğin, bir ürün açığa satıldıktan sonra, e-ticaret işimiz ** "tükendi" diyecektir. , Catering sektöründe "Değerlendirme" . Başka bir örnek: Birçok sistemde aşağıdaki "kullanıcı", "müşteri" ve "müşteri" kelimeleri görülecektir. Bu kelimelerin anlamları çok benzer ve ayırt edilmesi zordur. E-ticaret işinde daha anlamlı kelimeler "Alıcı" , "Satıcı" **. Bir yandan herkesin birleşik bir dile sahip olduğunu vurgularken diğer yandan herkesin iletişim maliyetlerini düşürüyor.
  • Az önce söylediğim şey tamamen dilsel genellik ve sistemde başka bir anlam var. Programcıların sadece bilgisayar çevirileri olduğunu yayınladınız mı? Ürün yöneticileri iş dilini programcıların anlayabileceği mantığa çevirirken, iş mantığını bilgisayarların anlayabileceği bir dile çeviriyoruz. Ortada çok sayıda dil dönüşümü var ve bu da sistemimizin gerçek işten uzak olmasına neden oluyor.Bu aslında olmaması gereken bir sonuç. Doğru sonuç, sistem yapımızın gerçek dünyaya bire bir karşılık gelmesidir. Bu nokta, gelecekteki bir DDD makalesinde ayrıntılı olarak açıklanacaktır.

Çalışmaya hazır

Güneşli bir öğleden sonra, büyük bir konferans odası, aynı zamanda büyük bir beyaz tahta ve çeşitli renklerde yapışkan notlar arıyor.

İşi anlaması gereken tüm öğrencilerimizi davet edin:

  • Alan uzmanı (iş uzmanı)
  • Ürün Müdürü
  • Mimar
  • DEV
  • QA
  • ...

İlgili tüm personeli davet edebiliriz, esas olan bizim Alan uzmanı Alan uzmanlarının rehberliği olmadan kendi anlayışımıza göre kolaylıkla yoldan sapabiliriz.

Nasıl başlanır?

Öncelikle, alan uzmanları, kapsamlı olması gerekmeyen, herkesin temel bir anlayışa sahip olması için işletme geçmişine genel bir giriş yapacak ve ardından aşağıdaki adımları izleyecektir.

Deneyime göre, eğer katılımcı öğrenciler işe tamamen yabancıysa, bu iki aşırılığa yol açacaktır: 1. Herkes sadece alan uzmanlarının gönderi paylaşmasını izliyor ve katılamıyor. 2. İnsanlar kendi anlayışlarına göre rastgele notlar gönderiyorlar ve alan uzmanlarının bunları sürekli olarak düzeltmeleri gerekiyor. Farklı fikirlerin ortaya çıkması bizim görmek istediğimiz şey olsa da, çok sayıda düzeltme zaman kaybına yol açacaktır.

Etki alanı uzmanları, herkesi sistemdeki en önemlilerini bulmaya yönlendirir Etki alanı etkinliği , Bir zaman çizelgesi ile beyaz tahtamızda yayınlandı.

Etki alanı olaylarını yayınlayın - etki alanı etkinliği nedir (Etki Alanı Etkinliği)?

Sistemde fiilen meydana gelen ve kaydedilmesi gereken olaylar * (büyük verili öğrenciler, lütfen konuşmayın!) * Ve sistemde değişiklikler yapacak reaksiyon . Kaydedilmesi gereken olaylar aynı zamanda izlenmeleri gerektiği anlamına gelir. Örneğin: e-ticaret sisteminde bir işlem oluşturulur ve alıcının puanları artırılır. Noktaları basitçe değiştirmek yerine, puanları artıran olayların kaydedilmesi gerekir. Kullanıcılar tüm noktalarımın nereye gittiğini bilmek istediklerinde, bu olayları geriye doğru izleyebiliriz.

Büyük veri öğrencileri tüm olayların kaydedilmesi gerektiğini düşünüyor, neden konuşmalarına izin vermiyorlar? ? ? Büyük veri öğrencilerine yönelik bir ayrım değil Büyük veri bir iş sistemi değil, kesişen bir sistemdir.

Alan olaylarını belirtmek için isim + fiil geçmiş zaman kullanarak turuncu post-it notlarını kullanın, örneğin: bir sıra oluşturuldu. XX genellikle XXX'tir.

Tahtaya az önce yazdığımız olayı bir zaman çizelgesi ile yapıştırın ve bunun olay ekseninin herhangi bir yerinde olduğunu düşünüyorsunuz. Bu kartı referans olarak kullanarak, bu karttan önce ve sonra olayları birbiri ardına yapıştırın.

Şu anda, herkesin sırayla yazdığı kartları okumasına ve beyaz tahtaya yapıştırmasına izin verebilirsiniz. Çok fazla katılımcı varsa, onları etkinlikten önceki ve sonraki katılımcı sayısına göre gruplayabilirsiniz. Kart uygulama sürecinde, alan uzmanları ve düzenleyiciler herkesin iş sorularını yanıtlayabilir ve kart hatalarını düzeltebilir.

Son olarak, alan uzmanları, herkesin postalanan kartları ayırmasına, yinelenen kartları ortadan kaldırmasına, iş sisteminde bulunmayan olayları silmesine vb. Yol göstermelidir. Tarama sürecinde beklenmedik birçok kart bulacaksınız, bunun hakkında daha sonra konuşacağız.

Gönderi Politikası Politika nedir?

Politikanın tercüme edilmesi kolay değil. "Politikaya" tercüme edilmesi biraz garip. Sadece yeni materyallerde bulunur ve bunu kural olarak anlayabiliriz.

Bazı iş tasarım süreçlerinde çok sayıda kural vardır, bu kurallar genellikle modelleme araçlarıyla etkili bir şekilde ifade edilemez ve "gizli kurallar" haline gelir. Örneğin:

Kullanıcının üç kez yanlış şifre girdikten sonra hesabı kilitlemesi gerekir.

Şifreyi 3 kez yanlış girin Politikamız, Kilitli hesap Politika tarafından tetiklenen yeni bir etki alanı olayıdır.

Politikayı belirtmek için mor post-it notları kullanın.

Komut gönder-komut nedir (Komut)?

Etkinlik bitti, göndermeye başlayabiliriz komut . Kullanıcıların sistemimizle nasıl etkileşim kurduğunu keşfetmemiz gerekiyor Komutlar, kullanıcılar ve sistem arasındaki etkileşimi temsil eder ve olaylar etkileşimden sonra oluşturulur.

Komutları belirtmek için mavi kartları kullanın. CQRS'deki Komut (Komut Sorgusu Sorumluluk Ayrımı) ile aynı anlama sahiptir.

Not: Çünkü komut karşı Etki alanı etkinliği Çoğu bire bir yazışmalar olabilir.Zaman kazanmak için atölyede ihmal edilebilirler.

Okuma sonrası model-okuma modeli nedir (Modeli Oku)

yazı Etki alanı etkinliği İşlem sırasında bir kart belirdi:

Öncelikle bu kartın gerçekten böyle bir işi olup olmadığını teyit etmemiz gerekiyor. Alıcının, göz attığı ürünlerin listesini görme işlevi var mı? Genellikle göz atma listesi kaydedilmez ve genellikle ürün ayrıntıları kaydedilir. Buna karşılık gelen [Son Görüntülenen Ürünler] 'in bir işlevi olabilir. O zaman şunu yazabiliriz:

Bazı öğrenciler sadece alıcının gördüklerini işaretlemek istediğimi söyleyebilir, bize yardımcı olabilecek herhangi bir kart var mı? Bu-- Modeli oku .

Hem okuma modeli hem de politika daha yeni bilgilerdir. Bu, kullanıcının gördüğü anlamına gelir ve ardından kullanıcı bir komut verir.

Okunan modeli belirtmek için açık yeşil kullanın. Query of CQRS ile aynı anlama sahiptir.

Görev sonrası (rol)

Roller sistemde vazgeçilmezdir.Bu kart serisini hangi rolün tetiklediğini kolayca belirleyebiliriz.

Rolleri belirtmek için sarı kullanın.

Buraya gönderdikten sonra, duvardaki kartın bir cümleye bağlanabileceğini görebilirsiniz: [Alıcı] [Siparişi gönder] [Alışveriş sepeti listesini görüntüle] tamamlandıktan sonra [Sipariş oluşturuldu], yazdığımız kullanıcı hikayesine giderek yaklaşıyor .

Harici sistemi yayınla (Harici Sistem)

Sistemi geliştirirken, ödeme sistemleri, SMS sistemleri vb. Gibi harici sistemlerle aşağı yukarı entegre olacaktır. Dış sistemi açık pembe kartlarla gösteriyoruz.

Alt alanı bölün (Alt Alan)

İşletme alt alanı nedir? Önce ne olduğunu anlamalıyız alan (Bir hak var alan açıklaması).

alan : Makalede adı geçen bir çok "alan" vardır ve DDD'yi hiç anlamayan öğrencilerin kafaları karıştırılmalıdır. Kitabın ne dediğine bir bakalım:

Etki Alanı (Etki Alanı) bir kuruluşun yaptığı ve içerdiği her şeydir. ... Her kuruluşun kendi iş kapsamı ve iş yapma şekli vardır. Bu iş kapsamı ve içinde gerçekleştirilen faaliyetler etki alanlarıdır.

"Alan Odaklı Tasarım Gerçekleştirme"

Bunu basitçe "tüm iş" olarak anlayabiliriz, neden sadece "iş" demiyoruz? İşin anlamı çok geniş ve hiç de gizemli değil, yeterince havalı değil!

Alanın karmaşıklığını ayrıştırmak için alan birkaç alt kısma bölünmüştür.

Sanki devasa bir karmaşık cihaz on milyonlarca parçadan oluşuyor ve her bir parçası on milyonlarca parçadan oluşuyor. Amacı, tek bir bileşenin karmaşıklığını azaltmaktır, yalnızca karmaşık yapıyı ve mantığı bileşenin içinde kapsamak ve dışarıya basit bir arayüz sunmaktır.

Alt alanların anlaşılması nispeten kolaydır, ancak makul Bölmek çok zordur.Bu alt alandaki tüm olayları bir kapsama bölmek gerekir.Keşif aşamasında, olayın terimini geçici olarak alt alanımız olarak çıkarabiliriz.

Not: Alt alanı doğru şekilde bölmek kolay değildir.Projenin erken safhalarında çok ince bir şekilde bölmek tavsiye edilmez, bölmeden önce iş sınırının yeterince sabit olmasını beklememiz gerekir.

Bu noktada iş panoramasının keşfini tamamladık, biraz daha ilginç kartlar oynayalım.

Uyarı mesajı yayınlayın (Sıcak nokta)

Şimdi herkese bir "balyoz" gönderip, sorunlu olabileceğini düşündüğünüz sistemdeki "çivileri" bulup koyu pudra ile işaretlemek istiyorum. Sistemde oluşabilecek birçok sorunu problama açısından bulabiliriz ve programcılar bu konuda özellikle iyidir. Tabii ki, buradaki "sorun" sadece geliştirme sırasındaki bir sorun değil, aynı zamanda bir iş sorunu, bir süreç sorunu veya harici bir sistem sorunudur.

Oylama darboğazı (Darboğaz)

Artık "sıcak sorunlar" seçildiğine göre, önce hangi sorunları çözmemiz gerektiğini bulmak için bu sorunları oylayalım. Kişi başına bir bilet (uygun şekilde artırılabilir), oklu mavi bir yapışkan notla gösterilir.

Yeni iş fırsatları veya değeri yayınlayın (Fırsat)

Şimdi, sistemimizde var olabilecek iş fırsatlarını veya değerini öğrenmek için her yeni "balyozu" yeniden göndermek istiyorum. Örneğin: Kontör yüklemeye dayalı finansal hizmetler sunup sunmayacağımızı, Plus üyelik hizmetleri sağlayabilir miyiz? Yeşil yapışkan notlar kullanın.

Diğer ilginç unsurlar

Bu kartlar sabit değil, ihtiyacımıza göre kartlara simge ekleyerek notlara özel bir anlam kazandırabiliriz. Örneğin: zamanlanmış görevler, zamanlayıcılar vb.

sonuç olarak

Yukarıdakiler, bugün ürettiğimiz içeriğin tamamıdır. Bu kartlar, ürün yöneticilerinin kolayca "kullanıcı hikayeleri" yazmasına yardımcı olabilir ve ayrıca geliştiricilerin işletme modellemesine yardımcı olabilir. Reaktif Programlamayı bir programlama modeli olarak kullanıyorsanız, Çıktı doğrudan koda çevrilir.

Diğer Event Storming Workshop'larına katılanlar bunu geçmişten farklı bulabilirler. Nitekim Atölye sadece bir araçtır ve bir modelleme aracı olarak Event Storming statik değildir.Renk, sıra ve kart sayısı farklı olabilir.İstenilen amaca ulaştığımız sürece iyi bir araçtır, ille de aynı değildir.

Atölye süreci sadece not yapıştırmakla ilgili değil, aynı zamanda yapıştırma sürecinde daha fazla iletişim kuracağımızı umuyoruz. Katılımcıların hızlı ve birleşik bir anlayış kazanmalarına yardımcı olun. Ayrıca şirket içinde daha fazla bu tür faaliyetler düzenleyebileceğinizi umuyorum, teşekkürler!

Orijinal adres: https://my.oschina.net/xbl/blog/1931805

Yazar: Xie Xiao Dai, ihlal durumunda lütfen silme ile iletişime geçin, teşekkür ederim.

Yeni yıl inovasyonla başlıyor, OPPO endüstri gelişimini hızlandırmak için ekstrem teknolojiyi kullanacak
önceki
Efsane bitiyor! İtalyan milli ikonu Totti resmi emekliliğini açıkladı
Sonraki
Belçika: Altın nesil sonunda onu onurlandıracak, ancak bu son parıltı mı olacak?
Vivo Global Marka İmajını Yükseltiyor, Teknoloji ve Modada Yaratıcılığı Güçlendiriyor
Programcı şikayet ediyor: kız arkadaşının daha yüksek bir eğitimi ve kendisinden daha iyi bir becerisi var ve bunu başaramayacağımı hissediyorum.
Çin tarafından finanse edilen Milan askerleri güçlü ve güçlüdür ve Huadu'da birleşmişlerdir.
"Kötülük Doğruluğu Bastırmaz" ı izledikten sonra eve iki "silah" da koyabilirsiniz.
GALAXY HOF Hall of Fame katil SSD açığa çıktı, hızın 3G / sn hızları aşıldı, memnun musunuz?
İtalyan Huayi Kültür İletişim Şirketi, Zhang Jie'nin Milano'daki dünya turu için basın toplantısı düzenledi
"Yurttaşları Eve Getirin": Phuket gemi enkazının son araştırması
2017'de startup finansmanı hangi aşamada en zor?
Barcelona'nın son 18 yılda satın aldığı La Liga yıldızları arasında hangileri kazandı ve hangileri kaybetti?
Yaklaşık 40 yıldır en çok satan Çin tarihi kitapları, siz ve çocuklarınız için okumaya değer
9:00 Pekin saati futbol haberleri: şirin! Zhao Lina, Weibo'da Li Ying'i taciz etti.
To Top