Domino’s Pizza Enterprises, bir dahili geliştirici platformu oluşturuyor


Domino’s Pizza Enterprises, yazılım bileşenlerinin nasıl desteklendiğini ve belgelendiğini basitleştirmek için bir Dahili Geliştirici Platformu (IDP) kullanmak için bir yıldır, bu da potansiyel e -ticaret bozulmalarını ele alırken kaliteyi ve hızı artırmasına yardımcı olur.

Domino's Pizza Enterprises, bir dahili geliştirici platformu oluşturuyor


DPE Yazılım Mühendisliği Müdürü Andrew Fraser.

Yazılım Mühendisliği Müdürü Andrew Fraser, Atlassian Team ’25 Konferansına, 3700’den fazla mağaza ve 12 ülke için usta franchise haklarına sahip şirketin 20 ekip ve 140 mühendis içeren bir yazılım mühendisliği departmanına sahip olduğunu söyledi.

Fraser, “Destekleyecek çok sayıda çözümümüz olmasına rağmen, çevrimiçi sipariş ekmeğimiz ve tereyağımız” dedi.

“Yaklaşık iki yıl önce bir ürün dağıtım modeline geçtik ve [our engineering teams] Sitenin çeşitli alanlarına odaklanın. ”

Fraser, yazılım mühendisliği ekipleri için “sorumlulukta büyük bir değişiklik” anlamına geldiğini söyledi.

“Hizmetlere destek vermek zorunda kaldılar [and] Daha önce hiç çalışmadıkları şeyler, bu yüzden doğal olarak bu konuda zorluklar vardı. ”

Fraser başlangıçta BT ekiplerinden aynı soruları “oldukça uzun bir süredir günlük olarak: Bu hizmetin sahibi kim var? Ve bunu benim için kim düzeltebilir?”

“BT mağazanız, belki yüzlerce veya binlerce yazılım bileşeniniz olduğu yerde yeterince büyük olduğunda, her şeyin bir araya gelmesinin karmaşıklığını o kadar geniş hale getirir, yanınızda oturan kişiden bir şeyden bir şey isteyeceğiniz yardım almayacaktır” dedi.

Onlara sahip olan ve destekleyen çeşitli bileşenler ve bağımlılıkları hakkında bilgi de “yerin etrafına dağılmış” idi.

DPE’nin mimarlık ekibi, Atlassian Confluence’daki bir hizmet listesinin “bu bilgi yayılmasını denemek” için “bir miktar benzerdi” yarattı.

“Buna hizmet sicilimiz dedik ve bu bizim derme çatma oldu [service] Bir süre katalog, ”dedi Fraser.

Yine de, iyileştirme için yer vardı – mülkiyet ve dağıtılmış bilgi, olay tepkisinde sorunlu olduğunu kanıtladı.

Fraser, “Bu iki zorluğun etkisi önemli bir sürükleme olabilir: gerçekten önemli olduğunda aradığınızı bulmaya çalışmak” dedi.

“Bir üretim olayı üzerinde çalışıyorsanız ve bunun çözümünüzün belirli bir alanıyla ilgili olduğunu biliyorsanız, ancak yıllar önce artık şirkette çalışmayan biri tarafından yazılan bazı belirsiz özelliğin alaka düzeyini izlemeye çalışıyorsanız – ve evet muhtemelen bundan yara izleri aldığımı söyleyebilirsiniz – zor.

“Kiminle konuşacağınızı bilmiyorsunuz ve önünüzde baktığınız şeyin güvenilir olup olmadığını bilmiyorsunuz.

“Gereksiz gürültü yaratıyor ve sonuçta mühendislerinizin eldeki konuya odaklanmasını gerçekten istediğinizde size zaman ve paraya mal oluyor.”

Ekiplerin ürünlerini bilmelerine ve diğerlerinin ürün sahiplerini gerektiği gibi bulmalarına yardımcı olmanın yanı sıra, Fraser yönetim kapasitesinde, yazılım mühendisliği ve kalitesi etrafında “iyi uygulamaları teşvik edebilecek”, yazılımın iyi bir şekilde eşzamanlı olmaya devam etmesine yardımcı olabilecek araçlara sahip olmak istedi.

Fraser, “Dev yöneticisi olarak rolüm iyi uygulamaların teşvik edilmesine yardımcı olmak” dedi.

“Kabul edilebilir bir standarda göre yazılım oluşturma ekipleri söz konusu olduğunda, rolüm onları etkilemeye yardımcı olmak ve işi doğru yapmalarına yardımcı olmaktır.

“Takımlarla konuşmayı merkezileştirmenin ve yazılım mühendisliğinin birçok yönünde bir şeyler geliştirmenin tonu belirlemenin daha iyi bir yoluna ihtiyacım vardı.”

IDP uygulaması

Bu DPE’nin IDP’leri değerlendirmesi için LED – Fraser “birkaç” ürünün dikkate alınmasını önerdi, ancak Atlassian’ın pusulası nihayetinde DPE’nin JIRA, Confluence ve JSM – JIRA Servis Yönetimi de dahil olmak üzere diğer Atlassian ürünlerini zaten kullandığı için seçildi.

“Çalışma sistemimizi tamamlıyor,” dedi Fraser.

“Çalışmalarımız izlendiği ve bilgimiz Atlassian Suite’te tutulduğu için, tüm bu bilgi kümesine takılan bir yazılım kataloğu onu verimli hale getiriyor.

“[And while] Üçüncü tarafla entegrasyonlar [tools] Şu anda biraz hafif mi, uzun vadede bu geliştiğini göreceğimizi hissettik ve bu yatırımı görebiliyorum [from Atlassian] oluyor.

“Her ay pusulaya yeni özelliklerin eklendiğini görüyorum, bu yüzden çok fazla araştırma yaptıklarını, çok fazla geri bildirim aldıklarını ve buna yanıt verdiklerini biliyorum.”

Fraser, Compass’ın ilk faydalarından birinin bunu “diğer alanlarından insanlar için bir kaynak olarak kurmak olduğunu söyledi [to] Yazılım bileşenleri ve sahipleri hakkında bilgilere erişin.

“Onun [for] Dev ekiplerinin dışındaki insanlar – bunlar, genellikle yön isteyenler olan kaynak kontrolüne erişimi olmayan insanlardır, bu yüzden beni veya beni rahatsız etmek yerine doğrudan pusulaya gitmeleri için [software] Takımlar bir zaman tasarrufudur, ”dedi Fraser.

“Artık belgelerin nerede bulunduğu konusunda endişelenmiyoruz çünkü şimdi yazılım bileşenlerimiz için bir ‘ana sayfamız’ var.”

Bu belgeler, kod tabanının ReadMe dosyalarının ötesine geçti; [only] Orada kullanacak geliştiriciler için. ”

“[Readme files have their] Hayatta yer, ancak bir destek perspektifinden, bireysel bir yazılım bileşeni hakkında her şeyi bilmek söz konusu olduğunda atıfta bulunmamız için çok daha fazlası var ”dedi.

“Tüm bağlantıları gösterge panolarına ve makalelere koymak, bir katmana sahip olmak, Liste Bağımlılıkları: Bunların hepsi sadece herkes için daha iyi bir resim çiziyor [accessing the component homepage]. “

Fraser, çalışmanın, özellikle bir süre önce inşa edilenler için farklı ana sayfaları doldurmaya devam ettiğini söyledi.

“İşyerin benim gibiyse, bilgi derinliği arasında büyük bir fark var [available] Legacy’ye kıyasla yakın zamanda yapılmış bir yazılım parçası için [component] 10 yıl önce kimsenin ona nasıl bakacağına dair bir fikri olmadığı yer ”dedi.

“Şaka yapmıyorum – repoyu kaybettiğimiz çok eski bir dahili uygulamamız var. Endişelenme – bunu yeniden inşa ediyoruz, ama bu tür bir çıkmaz geliştiriciler kendilerini buluyor [in].

“Ben, ‘Hey ekibi, bu uygulamayı şimdi ve bu arada bir sürü önemli bilgiye sahip olmamız gerekiyor.’

“Ama sorun değil – Pusula’yı kullanarak bu bilgileri yavaşça oluşturuyoruz, tüm izleme bağlantılarımızı çekiyoruz, bağlantı bağlantılarını, mimari diyagramları, swagger’ı ve API bilgilerini bir araya getiriyoruz.”

Fraser, ana sayfaların “normal bir Confluence sayfasından farklı olduğunu, çünkü daha çok ekiplerimizin yazılımları hakkında bir şeyler bulmak için kesin bir yer olarak kabul ettiği bir varlık gibi” ekledi.

Bileşenlerin net mülkiyeti ve bilgilere self-servis erişimi birden fazla olaya yardımcı olmuştur.

Fraser, “Anın sıcağında, özellikle de bozulmanın satışları etkilediği bir ticaret ortamında, Pusula aracılığıyla ihtiyacınız olan bilgileri bulabildiğin birkaç üretim örneğine dahil oldum.

Fraser, “ilk günler” iken, kalite izlemeye yardımcı olmak ve “ekiplerimle bir konuşma yapmak ve iyileştirmeleri tartışmak” için pusulada metrikler ve puan kartları kullanıyor.

“Puan kartları, dikkat edilmesi gereken bileşenlere daraltmanıza gerçekten yardımcı oluyor” dedi.

“Tahmin edebileceğiniz gibi, burada genellikle suçlu olan eski yazılımı, ancak bu iyileştirmeleri yapmak için JIRA kartları oluşturuyor olsun, ister takımlarınızın ‘Bunu yeşil hale getirme için KPI’lar ayarlayarak olsun [status] Bu tarihe kadar ‘, bir geliştirici yöneticisi olarak tam olarak ekiplerin kalitesini ele almak için aradığım türden bir mekanizma.

Bu, diğer sistemlere bazı entegrasyonların hala üzerinde çalışıldığı yerdir.

Fraser, DPE’nin CI/CD sisteminin “henüz pusula ile tam bir entegrasyona sahip olmadığını” söyledi, bu nedenle bir komut dosyası “tüm birim test sonuçlarını pusula API’leri aracılığıyla pompalamak için” yazıldı.

Hemen dönemde Fraser, DPE’nin Pusula’yı Jira Service Management ile bağlamak için çalışacağını söyledi.

“Destek masası sorunlarını yazılım bileşenlerimizle ilişkilendirmek istiyoruz” dedi.

“İşletme yanlış bir şey olduğunu söylediğinde, ilgili bir yazılım bileşeniyle eşleştirebilmek için, bilgi bulmak ve bizim için daha kolay hale getirmek için zamanı azaltacak -, olay yanıt sürelerini iyileştirmenin başka bir yolu.”

“Diğer yönde, değişiklikleri serbest bıraktığımızda, test kapsamımızı iyileştirmek için yukarı yönlü iş bağımlılıkları hakkında daha geniş bir görüşe sahip olmalıyız.”

Bu arada şirket, yeni kalıntıdan hizmet düzeyleri hakkında izleme bilgilerini “uyum metriği” olarak getirmeyi planlıyor.

Fraser, “Bunu sağlık skor kartarıma ekleyebilirim ve oradan ekipleri bu puan kartını kullanarak destekledikleri her şeyde bu hizmet seviyelerini iyileştirmeye zorlayabilirim” dedi.

“Benzer bir şekilde, uyarı metriklerimizi tekrar aynı nedenden dolayı pusula haline getirmek, bir şeyin model bir vatandaş olup olmadığının daha iyi bir resmini çizecek.”

Fraser, daha sonraki bir tarihte ‘hedeflere’ girecek olan kampanyalar adlı bir özelliğe erken erişebildiğini söyledi.

“Kampanyalar puan kartlarıyla bağlantılı ve tarihler belirlememize ve bu sonuçların ilerlemesini izlememize izin veriyor” dedi.

“Bu, OKRS’yi izlemede yararlı olacak [objectives and key results] veya KPI [key performance indicators] Belirli bir sonuç elde etmeye çalışırken daha geniş mühendislik grubuna ayarlayın.

“Bütün bunlar yine önemli olan kalite sorunlarına odaklanmamıza yardımcı olacak.”



Source link