Software development and management

GroupKelompok
Product and service management
LifecycleLifecycle
Build
Reading timeWaktu baca
9 min9 menit
Purpose in one sentenceTujuan dalam satu kalimatMake sure applications meet internal and external stakeholder needs in terms of functionality, reliability, maintainability, compliance and auditability.Memastikan aplikasi memenuhi kebutuhan stakeholder internal dan eksternal dari sisi fungsi, keandalan, kemudahan pemeliharaan, kepatuhan, dan kemudahan audit.

Software development and management covers the whole life of an application: designing, coding, testing, releasing, maintaining and eventually retiring it. Good practice keeps software useful, safe and easy to change, so it doesn’t become a fragile system everyone is afraid to touch.

Software development and management mencakup seluruh umur aplikasi: merancang, menulis kode, menguji, merilis, memelihara, hingga akhirnya memensiunkannya. Praktik yang baik menjaga software tetap berguna, aman, dan mudah diubah, agar tidak menjadi sistem rapuh yang ditakuti semua orang.

Key ideasKonsep kunci

  • Small, frequent changes. Short iterations get feedback early and reduce risk.
  • DevOps culture. Development and operations share responsibility for running software well.
  • Quality is built in. Code reviews, automated tests and security checks at every change.
  • Version control for everything. Code, configuration and infrastructure, so changes are traceable.
  • Maintainability matters. Software is read and changed far more often than it is written.
  • Perubahan kecil dan sering. Iterasi singkat mendapatkan umpan balik lebih awal dan mengurangi risiko.
  • Budaya DevOps. Tim development dan operasional berbagi tanggung jawab agar software berjalan dengan baik.
  • Kualitas dibangun sejak awal. Code review, pengujian otomatis, dan pemeriksaan keamanan di setiap perubahan.
  • Version control untuk semuanya. Kode, konfigurasi, dan infrastruktur, agar setiap perubahan bisa ditelusuri.
  • Kemudahan pemeliharaan itu penting. Software jauh lebih sering dibaca dan diubah daripada ditulis.

Key activitiesAktivitas kunci

A typical flow. Real work loops back and skips steps when it makes sense.

Alur yang umum. Dalam praktik, pekerjaan bisa kembali ke langkah sebelumnya atau melewati langkah tertentu bila masuk akal.

  1. Plan workPrioritized backlog of stories and fixes.
  2. DesignJust enough design for the change.
  3. Code and reviewSmall changes, peer-reviewed.
  4. Test automaticallyUnit, integration and security tests in the pipeline.
  5. Release and deployWith release and deployment management.
  6. Operate and learnMonitor, fix, and improve from feedback.
  1. Merencanakan pekerjaanBacklog story dan perbaikan yang diprioritaskan.
  2. MerancangDesain secukupnya untuk perubahan tersebut.
  3. Menulis kode dan meninjauPerubahan kecil yang ditinjau rekan.
  4. Menguji otomatisPengujian unit, integrasi, dan keamanan di pipeline.
  5. Merilis dan deployBersama release dan deployment management.
  6. Menjalankan dan belajarPantau, perbaiki, dan tingkatkan dari umpan balik.

How to measure itCara mengukurnya

MetricMetrikWhat it tells youApa yang ditunjukkanWatch out forPerhatikan
Lead time for changesLead time untuk perubahanHow quickly value reaches usersSeberapa cepat value sampai ke penggunaSpeed without quality checksKecepatan tanpa pemeriksaan kualitas
Change failure rateTingkat kegagalan perubahanQuality of releasesKualitas rilisFailures not linked to changesKegagalan yang tidak dikaitkan dengan perubahan
Defects found in productionCacat yang ditemukan di productionHow well testing worksSeberapa efektif pengujianUsers not reporting because nothing changesPengguna tidak melapor karena tidak ada yang berubah
Automated test coverageCakupan pengujian otomatisSafety net for changeJaring pengaman untuk perubahanHigh coverage of trivial codeCakupan tinggi tetapi hanya untuk kode sepele
Time spent on unplanned workWaktu untuk pekerjaan yang tidak direncanakanTechnical healthKesehatan teknisHiding firefighting inside feature workMenyembunyikan pemadaman masalah di dalam pekerjaan fitur

What each level looks likeGambaran setiap level

Use these descriptions as a quick self-check before running the full assessment. Level 3 is a strong, realistic target for most teams.

Gunakan deskripsi ini sebagai pengecekan cepat sebelum menjalankan asesmen lengkap. Level 3 adalah target yang kuat dan realistis bagi sebagian besar tim.

  1. L1InitialCode is written and changed by individuals, often directly in production, without reviews or tests.
  2. L2RepeatableVersion control and some testing exist, but practices differ between teams.
  3. L3DefinedStandard practices: version control, code reviews, automated tests and a defined release path.
  4. L4MeasuredDelivery metrics are tracked, technical debt is managed, and dev and ops share responsibility.
  5. L5OptimizedFast, safe, automated delivery with built-in security and continuous learning from production.
  1. L1InitialKode ditulis dan diubah oleh individu, sering langsung di production, tanpa review atau pengujian.
  2. L2RepeatableVersion control dan sebagian pengujian sudah ada, tetapi praktiknya berbeda antartim.
  3. L3DefinedAda praktik standar: version control, code review, pengujian otomatis, dan jalur rilis yang ditetapkan.
  4. L4MeasuredMetrik penyampaian dipantau, technical debt dikelola, dan tim dev serta ops berbagi tanggung jawab.
  5. L5OptimizedPenyampaian yang cepat, aman, dan terotomasi dengan keamanan bawaan serta pembelajaran berkelanjutan dari production.

Assess software development and management in the wizardNilai software development and management di wizard →

Using AIMemanfaatkan AI

  • Coding assistants that suggest code, tests and explanations.
  • Code review support that spots bugs and security issues.
  • Legacy code explanation for systems nobody fully understands.
  • Test generation to improve coverage faster.
  • Asisten coding yang menyarankan kode, pengujian, dan penjelasan.
  • Dukungan code review yang menemukan bug dan masalah keamanan.
  • Penjelasan kode lama untuk sistem yang tidak dipahami sepenuhnya oleh siapa pun.
  • Pembuatan pengujian untuk meningkatkan cakupan lebih cepat.
Keep a human in the loopTetap libatkan manusiaAI-written code must be reviewed and tested like any other code. Check licenses, security and that no secrets or customer data are shared with external tools.Kode buatan AI harus ditinjau dan diuji seperti kode lainnya. Periksa lisensi, keamanan, dan pastikan tidak ada rahasia atau data pelanggan yang dibagikan ke tools eksternal.
Key ideaInti materiGood software is easy to change safely. Build quality in with small changes, reviews and automated tests.Software yang baik mudah diubah dengan aman. Bangun kualitas sejak awal dengan perubahan kecil, review, dan pengujian otomatis.
Real-world example: from monthly releases to weeklyContoh kasus: dari rilis bulanan ke mingguan3 min3 menit

A start-up’s team ships a big release every month. Each release takes a weekend of manual testing, and a bug often slips through, so they spend the next week fixing it.

Tim sebuah start-up merilis versi besar setiap bulan. Setiap rilis membutuhkan pengujian manual sepanjang akhir pekan, dan sering ada bug yang lolos, sehingga minggu berikutnya habis untuk memperbaikinya.

They add automated tests to their pipeline, require a code review for every change, and ship small changes every week behind feature flags. Release weekends disappear, and production defects fall by more than half.

Mereka menambahkan pengujian otomatis di pipeline, mewajibkan code review untuk setiap perubahan, dan merilis perubahan kecil setiap minggu dengan feature flag. Akhir pekan untuk rilis hilang, dan cacat di production turun lebih dari separuh.

Common pitfallsJebakan umum

  • Changing code directly in production.
  • Skipping tests to meet deadlines, then paying later.
  • Letting technical debt grow without a plan.
  • Developers throwing code "over the wall" to operations.
  • Mengubah kode langsung di production.
  • Melewatkan pengujian demi mengejar tenggat, lalu menanggung akibatnya kemudian.
  • Membiarkan technical debt bertambah tanpa rencana.
  • Developer "melempar" kode begitu saja ke tim operasional.

Related practicesPractice terkait

PracticePracticeHow they connectBagaimana keterkaitannya
Deployment managementMoves new software into environments.Memindahkan software baru ke lingkungan tujuan.
Service validation and testingChecks software meets its requirements.Memastikan software memenuhi requirement-nya.
Release managementMakes new features available to users.Membuat fitur baru tersedia bagi pengguna.
Architecture managementGuides how applications fit together.Memandu bagaimana aplikasi saling terhubung.
Beginner tipsTips untuk pemula
  • Make sure every line of code lives in version control, including scripts and configuration.
  • Add automated tests for the next bug you fix, so it never comes back.
  • Invite an operations engineer to one sprint review this month.
  • Pastikan setiap baris kode tersimpan di version control, termasuk skrip dan konfigurasi.
  • Tambahkan pengujian otomatis untuk bug berikutnya yang Anda perbaiki, agar tidak terulang.
  • Undang seorang engineer operasional ke satu sprint review bulan ini.

The practice name and purpose follow ITIL. KPIs, level descriptions, AI uses and pitfalls are practical guidance written in our own words, not official ITIL text.Nama dan tujuan practice mengikuti ITIL. KPI, deskripsi level, pemanfaatan AI, dan jebakan umum adalah panduan praktis yang ditulis dengan kata-kata sendiri, bukan teks resmi ITIL.