Workcube özel geliştirme: standart koda dokunmadan ayrı modül
Sürüm 1.0 — Son güncelleme:
Workcube'e özel geliştirme standart kodu bozmadan nasıl yapılır? Gramoni müşteriye özel kodu ayrı bir modül olarak paketler; Workcube'ün standart kodu değiştirilmez. Geliştirme CFML (ColdBox, Lucee, Adobe ColdFusion), TypeScript (NestJS, React), PostgreSQL, MSSQL, MySQL, PWA ve REST ile yapılır. Teklifte söz veren, kodu yazan ve canlıya alan aynı ekiptir.
Workcube özel geliştirme, Workcube'ün standart ekranlarının karşılamadığı bir ihtiyaç için müşteriye özel kod yazmaktır. Gramoni bu kodu ayrı bir modül olarak paketler; Workcube'ün standart kodu değiştirilmez. Gramoni bir Workcube iş ortağıdır ve kendi beş ürünü de Workcube üzerinde çalışır.
Nasıl çalışırız?
Teklifte söz veren, kodu yazan ve canlıya alan aynı ekiptir. Dört çalışma ilkemiz var:
- Söylediğimizin arkasında kayıt var.
- Onay sizde.
- Standart kodu koruyoruz.
- Kapsam ölçülebilir.
Özel geliştirme, ihtiyacın Workcube'ün kendi ayarları ve ekranlarıyla çözülemediği yerde başlar. Ayar ve ekran uyarlaması Workcube ERP danışmanlığı kapsamındadır.
Standart koda dokunmak ile ayrı modül arasındaki fark
| Standart kodu değiştirmek | Ayrı modül (Gramoni'nin yöntemi) | |
|---|---|---|
| Müşteriye özel kod nerede durur? | Workcube'ün standart dosyalarının içinde | Kendi modülünde, standart dosyaların dışında |
| Workcube standart kodu | Değişir | Değişmez |
| Güncellemede | Değişiklikler, güncellenen standart dosyalarda aranır ve yeniden taşınır | Özel kod standart dosyaların içinde olmadığı için orada aranmaz |
Teknoloji
- CFML: ColdBox, Lucee, Adobe ColdFusion
- TypeScript: NestJS, React
- Veritabanı: PostgreSQL, MSSQL, MySQL
- Uygulama ve arayüz: PWA, REST
Workcube dışında
Gramoni yalnız Workcube üzerinde çalışmaz. Workcube dışında özel yazılım geliştirir; yapay zekâ ve otomasyon uygulamaları da Workcube şartı olmadan yapılır. Projeyi İngilizce yürütebilir ve yurt dışında proje yapabiliriz.
Workcube üzerinde hazır ihtiyaçlar için geliştirdiğimiz ürünler ayrı sayfalarda: Wodiba, WAMS Lojistik ve Workcube için üretim çözümleri.
Standart kodu korumak neden önemli?
Yazılımın canlıya alındıktan sonraki hayatı bakım sürecidir. Bu süreç uluslararası olarak ISO/IEC/IEEE 14764:2022 standardında tarif edilir; standart, yazılım bakımı için rehberlik verir ve bakımın türlerini tanımlar. ERP'de bu sürece, üreticinin yayımladığı sürümlere yükseltme de eklenir (Ng, Gable ve Chan, 2003).
Araştırmalar bu noktada özel kodun nerede durduğunun önemli olduğunu gösteriyor:
- Değişiklik türleri farklı riskler taşır. Brehm, Heinzl ve Markus (2001), ERP uyarlamasını parametre ayarı (konfigürasyon) ile kod değişikliği (modifikasyon) arasında bir yelpaze olarak tanımlar. Yazarlara göre ERP kodunu değiştirmek üreticiler ve uygulama danışmanları tarafından genellikle güçlü biçimde önerilmez; seçilen yöntemin uygulama riski ve sürüm yükseltmenin zorluğu üzerinde önemli etkileri vardır.
- Özel geliştirme fayda da sağlar, ama bakım maliyetiyle birlikte düşünülmelidir. Light (2001), iki ERP projesindeki özel geliştirmeleri inceler. Kuruluşların çoğu, üreticinin bakım ve geliştirme desteğini kaybetmemek için süreçlerini yazılıma uydurur, yine de bir miktar özel geliştirme genellikle gerekir. Çalışmanın sonucuna göre özel geliştirme gerçek fayda sağlayabilir, ancak gelecekteki bakıma etkisi dikkatle değerlendirilmelidir.
- Bakım ve yükseltme maliyetlidir. Ng, Gable ve Chan (2003), yıllık ERP bakım maliyetinin ilk uygulama maliyetinin yaklaşık %25'i, sürüm yükseltme maliyetinin ise ilk uygulamanın %25–33'ü kadar olduğunu aktarır.
- Özel geliştirme iki ucu keskin bir kılıçtır. Hansen, Haddara ve Langseth'in (2023) literatür taramasına göre özel geliştirme, sistemin gelecekteki güncelleme ve yükseltmelerini etkileyebileceği için genellikle olumsuz görülür; ancak bazı kuruluşlar için kaçınılmazdır ve standart dışı, rekabete dayalı bir süreci temsil ettiğinde avantaj sağlayabilir.
Yazılım mühendisliğinde bu birikim teknik borç olarak bilinir. Benzetmeyi 1992'de kullanan Ward Cunningham'a göre ilk hâliyle kodu yayına almak borçlanmaya benzer; biraz borç geliştirmeyi hızlandırır, yeter ki zamanında yeniden yazılarak ödensin. Tam doğru olmayan kodla geçen her dakika ise bu borcun faizi olarak işler.
Bizim çıkardığımız sonuç şu: özel ihtiyaç gerçekse özel kod yazılır, ama Workcube'ün standart dosyalarının içine değil, kendi modülüne. Böylece müşteriye özel olan ile Workcube'ün güncellediği kod birbirinden ayrı kalır.
Sık sorulan sorular
Workcube'e özel geliştirme yaparken standart kod değişiyor mu?
Hayır. Müşteriye özel kod ayrı bir modül olarak paketlenir; Workcube'ün standart kodu değiştirilmez. Standart kodu korumak, Gramoni'nin çalışma ilkelerinden biridir.
Workcube güncellemesi geldiğinde özel geliştirmeye ne olur?
Özel kod kendi modülünde durur, standart dosyaların içine yazılmaz. Bu yüzden müşteriye özel değişiklik, güncellenen standart dosyaların içinde aranmaz ve üzerine yazılmaz.
Hangi teknolojilerle geliştiriyorsunuz?
CFML (ColdBox, Lucee, Adobe ColdFusion), TypeScript (NestJS, React), PostgreSQL, MSSQL ve MySQL veritabanları, PWA ve REST.
Teklifi kim verir, kodu kim yazar?
Aynı ekip. Teklifte söz veren, kodu yazan ve canlıya alan ekip aynıdır; iş ekipler arasında el değiştirmez.
Workcube dışında yazılım geliştiriyor musunuz?
Evet. Gramoni Workcube dışında da özel yazılım geliştirir. Yapay zekâ ve otomasyon uygulamaları da Workcube şartı olmadan yapılır.
Projeyi İngilizce yürütebilir misiniz?
Evet. Gramoni projeyi İngilizce yürütebilir ve yurt dışında proje yapabilir.
Kaynaklar
- ISO/IEC/IEEE 14764:2022 — Software engineering — Software life cycle processes — Maintenance — Estonian Centre for Standardisation and Accreditation (EVS)
- Ward Cunningham — The WyCash Portfolio Management System (OOPSLA '92 Experience Report) — c2.com
- Brehm, Heinzl, Markus — Tailoring ERP systems: a spectrum of choices and their implications (HICSS 2001) — IEEE
- Light — The maintenance implications of the customization of ERP software (2001) — Journal of Software Maintenance and Evolution: Research and Practice (Wiley)
- Ng, Gable, Chan — An ERP maintenance model (HICSS 2003) — IEEE
- Hansen, Haddara, Langseth — Investigating ERP System Customization: A Focus on Cloud-ERP (2023) — Procedia Computer Science (Elsevier)