Pembukaan
Satu, bank Rusia berukuran sedang, memiliki bank Internet untuk fisikawan dan pengacara, situs web, dan aplikasi seluler. Dan ada juga subdivisi yang menyertai dan mengembangkan semua ekonomi ini. Inilah pemimpin muda, yang telah bekerja di organisasi ini selama lebih dari 3 tahun, atas nama siapa kisah ini akan menjadi.
Latar Belakang
Banknya modern, prosesnya dibangun menurut ITIL, sekilas semuanya terlihat seperti buku teks. Seperti yang Anda lihat dari judul artikel, kami hanya akan menyentuh satu bagian dari proses "Membuat perubahan" yang menarik minat kami.
Masalah
Segala sesuatu dalam proses ini sangat baik kecuali untuk satu saat, yaitu, Analis menyepakati waktu pengembangan dengan Pelanggan - pemilik produk "Bank Internet badan hukum, saluran web + seluler", selanjutnya kami hanya akan menyebutnya Pelanggan. Pelanggan selalu memahami dan menerima pekerjaan yang berlangsung di depannya atau dengan partisipasinya, yaitu:
- Klarifikasi dan formalisasi persyaratannya. Dia langsung melihat bagaimana cerita klien, prototipe, dan akhirnya pernyataan untuk pengembang lahir dari 2 baris teksnya.
- Semua jenis pengujian. Dia melihat daftar tes yang sangat banyak.
- Mendokumentasikan. Dia bisa melihat jumlah halaman teks dan gambar (diagram).
- Namun dalam hal pengembangan, pelanggan selalu merasakan tipuan, menurutnya seorang pemimpin tim berjenggot yang jahat (dan sebenarnya baik hati) yang memberikan penilaiannya, hanya melihat bagaimana memasukkan 50 persen jam ekstra di sana, tanpa repot-repot bertemu SL dan mendapatkan motivasi berdasarkan KPI. Masalah inilah yang harus dipecahkan oleh pemimpin muda itu.
Keputusan
Langkah 1. Bagaimana menghitung durasi pengembangan secara absolut Ada
banyak ide, salah satunya: membuat perkiraan berdasarkan tugas yang telah diselesaikan sebelumnya lebih baik daripada tidak sama sekali, tetapi:
- melelahkan untuk melakukan analisis retrospektif setiap saat
- Tidak semua tugas dapat disesuaikan dengan analog.
Bagaimana jika Anda tidak mengambil seluruh tugas, tetapi membagi masing-masing menjadi komponen akhir pekerjaan untuk sistem kami (di seluruh artikel, kami akan menyebut bank internet badan hukum, saluran web + seluler)?
Dalam kasus kami, ternyata seperti ini:
- Mengubah tata letak halaman
- Membuat halaman dokumen baru
- Menyelesaikan formulir, menampilkan bidang formulir baru dari database
- Kontrol tipikal
- Kontrol kompleks (algoritma non-trivial kompleks)
- Ekstensi skema DB
- Skrip surat SMS
- Skrip untuk pengiriman dengan tanda tangan elektronik
dll. pada awal posisi ada sekitar 20, dan sebagai hasilnya sedikit lebih dari 80
Untuk menilai intensitas tenaga kerja dari setiap blok, sebuah unit diciptakan - unit standar dari biaya tenaga kerja (CET, s). SET adalah ukuran abstrak dari intensitas tenaga kerja, tidak memiliki arti fisik, dapat disebut apapun yang Anda suka. Melalui analisis retrospektif (selama 3 bulan terakhir), kami (I, analis sistem dan ketua tim) membagi semua tugas menjadi komponen akhir dan secara proporsional memperkirakan kompleksitas masing-masing (si), hasilnya ada di tabel (Tabel 1).
Sekarang kita bisa mengevaluasi setiap tugas di SET, misalnya:
- Tujuan: untuk mengimplementasikan formulir umpan balik pada halaman utama sistem, yang muncul untuk pelanggan yang belum memberikan umpan balik. Formulir tersebut menampilkan:
- skala peringkat dalam bentuk bintang, dengan mengklik di mana Anda dapat memberi peringkat dari 1 sampai 5,
- bidang masukan bentuk bebas dengan panjang 500 karakter,
- tombol kirim, dengan mengklik di mana data ditulis ke tabel database yang sesuai, formulir ditutup tanpa memuat ulang halaman.
- Penentuan tindakan paling sederhana, menurut tabel 1.:
- Membuat tabel dalam database yang sudah ada, menulis logika tampilan formulir - 0,2 CET
- Tata letak formulir, 2 bidang + periksa kelengkapan - 1 CET
- Menulis permintaan asynchronous ke sisi server, menulis fungsi server untuk menulis ke database, - 1 SET
- Perhitungan input tenaga kerja dalam SET: 1 + 1 + 0.2 = 2.2 CET
Setelah itu, istilah produktivitas (p) diperkenalkan, yang mendefinisikan produktivitas setiap kategori pengembang (Tabel 2)
Sekarang menjadi mungkin untuk memperkirakan durasi pengembangan setiap tugas menggunakan rumus: mari
lanjutkan dengan contoh kita
4. Penetapan
Lama Kerja Karyawan Kategori Senior:
2.2 (CET) / 1.5 (CET / hari) = 1.6 hari
Durasi 1.6 hari
Kami membuat asumsi: memiliki full-stack developer, hanya satu dari mereka yang terlibat dalam menyelesaikan setiap masalah.
Pelanggan sangat menyukai metode penilaian sehingga dia menawarkan untuk mengevaluasi tahapan pekerjaan lainnya:
- klarifikasi persyaratan
- perencanaan implementasi
- pengujian dan dokumentasi
sebanding dengan waktu pengembangan, koefisien berikut diperkenalkan (Tabel 3):
Sekarang dimungkinkan untuk memperkirakan durasi setiap tahap:
seluruh durasi membuat perubahan pada sistem, menurut rumus:
misalnya:
4. Penentuan durasi kerja untuk seorang karyawan (analis dan pengembang) dari kategori Senior:
0,2 * 2,2 / 1,5 + 0,3 * 2,2 / 1,5 + 2,2 / 1,5 + 0, 2 * 2.2 / 1.5 = 0.3 + 0.44 + 1.6 + 0.3 = 2.64 hari
Durasi 2.64 hari
Hasilnya, kami mendapat metodologi yang cukup jelas, rapat umum (pelanggan, saya, analis sistem, dan pimpinan tim) memutuskan untuk mencobanya, hasil pertama akan dilanjutkan ...