Siklus penuh pengembangan produk TI menggunakan contoh proyek: peran tim, tugas pelanggan, tahapan



Dapur internal pengembang produk IT memiliki banyak segi dan selalu penuh dengan tugas yang berbeda. Di setiap proyek, orang-orang dengan tanggung jawab berbeda menemukan aplikasi mereka.

Dengan menggunakan satu proyek sebagai contoh, kami akan melihat lebih dalam pada proses pengembangan. Sebelum itu, saya akan menjelaskan semua tahapan proses ini dan tanggung jawab fungsional karyawan di dalamnya.

Daur hidup pengembangan produk IT


Tahapan siklus dijelaskan di bawah ini, mulai dari saat pelanggan merumuskan ide-idenya kepada kontraktor.

  • Perencanaan

Perencanaan yang tepat untuk fungsionalitas produk dan analisis kebutuhan masa depan memainkan peran kunci untuk seluruh proyek. Manajer proyek bertanggung jawab untuk tahap ini, karena dialah yang bertanggung jawab atas keberhasilan seluruh proses pengembangan.

Sebelum desain produk, perencanaan bersifat "kasar", karena tidak mungkin untuk mengetahui arah pengembangan yang tepat pada tahap ini.

Setelah desain UX / UI selesai, Anda dapat membuat rencana yang akurat tentang bagaimana pengembangan akan berjalan dan fungsionalitas apa yang akan ada dalam produk.

  • Desain

Setelah perencanaan, giliran desainer UX / UI - spesialis yang merancang antarmuka pengguna. Desainer mempelajari perilaku pengguna dan membangun antarmuka yang dapat dibaca manusia. Tampilan visual produk juga merupakan hasil karya desainer.

Bersama dengan mereka, arsitek sistem bekerja yang memutuskan struktur apa yang akan dimiliki produk jadi dan bagaimana perilakunya.

  • Pengembangan

Pengembang mengikuti salah satu metodologi - untuk perusahaan itu terutama Agile. Metodologi ini melibatkan pendekatan berulang fleksibel - yaitu, pengembang bertindak berurutan, membagi proyek menjadi tugas-tugas yang lebih kecil.

Iterasi yang gesit disebut sprint, dan satu sprint mencakup pekerjaan di semua bidang: perencanaan, desain, pengembangan, pengujian.

  • Pengujian

Spesialis pengujian melakukan berbagai jenis pengujian: pengujian unit, pengujian integrasi, pengujian antarmuka, dan jenis lainnya tergantung pada tujuannya. Kategori spesialis ini harus sampai pada kesimpulan akhir bahwa produk tidak memiliki kesalahan dan siap untuk dirilis.

Setelah itu, produk dapat diimplementasikan dan diintegrasikan dengan perangkat lunak pihak ketiga. Proses pengembangan tidak berakhir di sana - itu berlanjut sampai perbaikan dilakukan.

  • Dukungan

Produk jadi mungkin memerlukan dukungan tambahan, apakah itu pertanyaan tambahan tentang pekerjaan produk dari pelanggan, atau kebutuhan untuk melakukan perubahan pada fungsi yang telah ditetapkan - spesialis layanan dukungan selalu siap membantu.
Sebagian besar proyek pembangunan melewati semua tahap siklus hidup yang dijelaskan di atas.
Sebagai contoh, kami akan melihat lebih dekat pada proses pengembangan produk untuk proyek perusahaan saat ini.

Tahap 1: Ide


Pelanggan adalah perusahaan percetakan milik negara. Di seluruh dunia, industri ini tidak melalui masa-masa terbaik, tetapi di AS, perusahaan cetak tetap bertahan berkat teknologi inovatif. Perusahaan percetakan meminta kami untuk mengembangkan aplikasi untuk augmented reality - Augmented Reality, AR.

Layanan Pos Amerika Serikat, yang mengirimkan laporan transaksi cetak, memberikan diskon kepada perusahaan mitra yang mengurangi konsumsi kertas melalui teknologi. Klien kami telah menjadi salah satu perusahaan ini.

Tahap 2: Kontak


Perwakilan perusahaan menghubungi kami untuk mempresentasikan ide mereka. Mereka menginginkan aplikasi pemasaran augmented reality. Sebelum kami, mereka menggunakan sistem pengenalan gambar Catchoom, mereka juga ingin melisensikan sistem manajemen konten sebagai produk terpisah, tetapi perusahaan menolak. Selain itu, klien ingin menambahkan fitur unik, yang tidak tersirat dalam solusi Catchoom. Karena itu, tugas kami adalah mengembangkan sistem yang sesuai sebagai imbalannya.

Tahap 3: Perencanaan


Pelanggan menjelaskan fungsionalitas dasar produk sebelum menghubungi kami. Tim pengembang harus mempelajari ide proyek dan mengumpulkan semua persyaratan yang diperlukan, mengidentifikasi kemacetan, dan mendokumentasikan semuanya. Detail proyek dan detail teknis ditentukan di dalam setiap sprint.

Tim yang mengumpulkan persyaratan mengevaluasi informasi yang diterima, proposal, biaya pengembangan dan harga, yang disebut RFx. Biasanya, tim semacam itu terdiri dari spesialis teknis, manajer proyek, dan manajer penjualan. RFx yang valid sebelum proyek dimulai.



Pelanggan mempelajari evaluasi proyek untuk mendapatkan pemahaman dasar tentang bagaimana proyek akan terlihat dan bagaimana pengembangan akan dilakukan. Ini juga menentukan waktu dan biaya.
Setelah pelanggan menyetujui rencana pengembangan dan anggaran, proyek dapat dimulai.

Komentar oleh manajer proyek Alexander:
“Saya bertanggung jawab atas kemajuan proyek yang berkelanjutan. Saya memilih metodologi Scrum untuk dengan cepat menanggapi permintaan pelanggan dan pasar. Scrum membantu kami mengembangkan produk, memperhitungkan kebutuhan pengguna di setiap rilis produk, dan menggunakan teknologi paling maju dalam pengembangan. "

Tahap 4: Desain


Pelanggan terbuka terhadap gagasan desainer kami dan memercayai visi para spesialis. Perancang UX / UI menggambarkan pandangannya tentang sistem masa depan, berdasarkan praktik UX yang diterima secara umum, pelanggan setuju, dan desain dimulai.

Tahap 5: Pengembangan dan Pengujian


Pelanggan secara pribadi mengunjungi kantor perusahaan untuk bertemu dengan tim pengembangan dan berkenalan dengan manajemen perusahaan. Dalam enam bulan pertama, pelanggan datang sebulan sekali untuk menjalin komunikasi, mengenal tim lebih baik, dan membangun kepercayaan di antara para pihak.

Pada tahap pertama pengembangan, tim terdiri dari:

  • Seorang manajer proyek yang juga melakukan tugas-tugas seorang analis bisnis;
  • Perancang UX / UI;
  • tim pengembangan.

Pada tahap awal, pengembang melakukan pengujian sendiri, tanpa partisipasi spesialis QA. Tantangannya adalah membuat seperangkat prototipe untuk demonstrasi di konferensi dan menarik pelanggan potensial. Maka pengujian rinci tidak diperlukan.

Ketika proses pengembangan datang untuk bekerja pada fungsi dasar, tim perlu diperluas. Hasilnya, dia terlihat seperti ini:

  • Manajer proyek;
  • Seorang analis bisnis dengan berbagai tugas yang lebih luas daripada yang dimiliki manajer sebelumnya;
  • Perancang UX / UI;
  • pengembang
  • Kepala tim pengembangan (Ketua Tim);
  • Arsitek sistem yang mengembangkan struktur produk;
  • Spesialis pengujian;
  • DevOps - tautan antara pengembangan dan operasi, bekerja dengan jaringan dan penyebaran produk.

Kepala tim pengembangan Igor memperkenalkan inovasinya:
“Dalam proyek ini, saya bertanggung jawab untuk memenuhi tugas-tugas proyek, meninjau kode, merencanakan sprint (iterasi dalam pengembangan), memperkenalkan tugas-tugas baru. Saya menyarankan melakukan tes unit menggunakan GitFlow dan membuat kode menggunakan AWS Lambda. Saya juga memperkenalkan anggota tim baru, saya bertanggung jawab atas adaptasi mereka. "

Bergabung dengan Pimpinan Tim adalah keputusan penting, karena membantu mengoordinasikan pengembangan versi aplikasi untuk iOS dan Android dan versi web sehingga semuanya bergerak dalam satu arah.



Analis bisnis Flor mengatakan:
“Berkat organisasi proyek ini, pekerjaan saya sangat jelas dan efektif. Saya memproses permintaan pelanggan dan menyampaikannya kepada tim pengembangan dengan cara yang dimengerti dan akurat secara teknis. Saya bekerja bersama dengan perancang UX / UI, dan manajer proyek kami bertanggung jawab atas negosiasi, yang memberi saya kesempatan untuk fokus pada tugas utama saya, ”

Seperti yang Anda lihat, tim membutuhkan spesialis tambahan untuk menyelesaikan tugas yang ditambahkan. Komposisi tim seperti itu dapat memberikan pengembangan sistem yang kompeten tanpa kesalahan.

Tahap 6: Dukungan


Dukungan biasanya diberikan pada 3 level:

  • Tingkat pertama. Bantuan dasar, pertanyaan sederhana yang tidak memerlukan banyak perhatian diproses di tingkat ini.
  • Tingkat kedua. Bantuan yang diperluas dari staf dengan pengetahuan produk yang lebih dalam. Ini belum tentu spesialis teknis, tetapi mereka pasti tahu produk dengan sangat baik.
  • Tingkat ketiga Tingkat ahli dilakukan oleh spesialis berpengalaman: manajer produk, insinyur.

Juga tidak ada dukungan melalui brosur dan panduan pengguna.

Bahkan, tidak ada waktu ketika bekerja pada perangkat lunak dianggap sepenuhnya selesai. Baik keinginan baru diterima dari pelanggan berkenaan dengan perluasan kemampuan fungsional, atau dukungan untuk pengguna produk diperlukan. Misalnya, pengguna klien ingin memperbarui aplikasi dan memperluas fungsinya.

Proyek ini dengan baik mewakili semua tahap siklus hidup pengembangan. Jika kami mempertimbangkan secara terperinci, bekerja pada perangkat lunak apa pun terlihat kurang lebih sama dan seringkali sesuai dengan skema di atas.

Source: https://habr.com/ru/post/id458336/


All Articles