Cara berdamai dengan tarikh akhir dalam pembangunan perisian

TARIKH AKHIR…

Sebagai pemaju, ini adalah salah satu mimpi buruk terbesar anda atau haruskah saya katakan musuh anda? Namakan apa sahaja yang anda mahukan.

Mengaku sahaja. Ini sangat menakutkan anda. Walaupun sekarang, semasa anda membaca ayat-ayat ini, rambut anda akan menjadi tegak.

Tertanya-tanya bagaimana saya tahu?

Saya tahu kerana saya pernah merasakan perkara yang sama. Tetapi sekarang ketakutan itu ada di masa lalu. Saya telah berdamai dengan tarikh akhir. Saya telah memeluk mereka.

Oleh itu, saya cadangkan anda melakukan perkara yang sama. Peluklah mereka, berdamai dengan mereka. Ini adalah satu-satunya cara anda dapat mengalahkan mereka.

Baiklah, bagaimana anda boleh melakukannya?

Ada beberapa fakta yang kita semua cenderung untuk mengabaikan ketika menetapkan tarikh akhir. Tujuan saya di sini adalah untuk menunjukkannya kepada anda supaya anda dapat melihat bahawa memerlukan sedikit masa untuk menguburkan ketakutan dan mula menikmati kehidupan semasa anda mengerjakan projek anda tanpa perlu risau tentang tarikh.

Bekerja di persekitaran yang tenang

Jangan tergesa-gesa. Jangan memaksa apa-apa.

Perkara pertama yang harus anda ketahui ialah anda tidak dapat mencari ketenangan dengan menetapkan tarikh yang tidak realistik dan memaksa pasukan anda bekerja dengan tergesa-gesa. Ada syarikat yang mengeluarkan kata-kata besar dan menunjukkan perkara yang tidak realistik untuk memotivasi pasukan mereka untuk terus maju. Tetapi walaupun ada beberapa fakta yang jelas bagi semua orang dalam pasukan, bagaimana anda dapat mengharapkan mereka mempercayai apa yang anda katakan jika itu jauh dari kenyataan?

Tanpa tarikh akhir - dan yang paling penting dipercayai - tarikh akhir, anda tidak boleh bekerja dengan tenang. Ya, menjaga ketenangan adalah kunci di sini. Apabila anda tidak mempercayai tarikhnya, atau apabila seseorang memberitahu anda untuk melakukan semuanya dalam jangka masa yang terhad, atau seseorang menambahkan lebih banyak tugas pada projek tersebut tanpa memberi anda lebih banyak masa, anda mula bekerja secara maniak. Ini tidak berfungsi lagi. Ini adalah neraka.

Apabila anda berada dalam tekanan dan tekanan, anda tidak boleh menjadi produktif. Apabila anda tenang, anda juga sedar bahawa anda boleh membuat keputusan yang lebih baik.

Anggaran kami menghisap

Pengguna Windows akan mengingati dialog tetingkap itu. Anggaran dalam dialog sama seperti anggaran kami, bukan?

Mari mengakuinya. Anggaran kami menghisap. Kami fikir kami dapat meneka berapa banyak masa yang diperlukan. Kami mempunyai kecenderungan untuk mempercayai bahawa apa sahaja yang kami rasa akan menjadi kenyataan.

Namun, secara amnya, ketika kita meneka, kita mengabaikan beberapa faktor penting yang boleh mempengaruhi andaian kita. Kenapa? Kerana kita terlalu optimis.

Bagi saya, langkah pertama untuk berdamai dengan tarikh akhir dan menjadi lebih baik dalam menetapkan tarikh akhir adalah dengan mengakui bahawa kita adalah penganggar yang mengerikan. Apabila anda menerima hakikat ini, anda akan sedar pada waktu berikutnya dan ini akan mengelakkan anda memandang rendah syarat. Dan inilah penyelesaian untuk anda menjadi lebih baik dalam menganggarkan:

Bahagikan perkara besar menjadi perkara yang lebih kecil . Semakin kecil, semakin mudah untuk membuat anggaran . Ini akan meningkatkan peluang anda untuk memperoleh anggaran yang lebih tepat.

Cukup baik adalah baik

"Sempurna adalah musuh kebaikan." - Voltaire

Orang suka cabaran besar. Kami terbaik dalam mencari penyelesaian yang rumit untuk masalah sederhana. Tetapi inilah fakta:

Setiap masalah mempunyai jalan penyelesaian tersendiri yang mungkin anda abaikan.

Jangan mengejar penyelesaian yang sempurna. Versi pertama anda tidak semestinya sempurna. Bina setengah produk yang boleh berfungsi. Sekiranya anda menunggu terlalu banyak, anda akan membuang sumber dan masa anda yang terhad, atau anda akan melewati tarikh akhir dan lebih teruk lagi tidak melakukan apa-apa kerana anda mengejar kesempurnaan. Penyelesaiannya adalah:

Cari penyelesaian yang akan memberi anda banyak nilai dan memerlukan sedikit usaha. Dan jangan lupa, kebaikan boleh berubah menjadi hebat kemudian.

Jangan terlalu optimis. Jadi realistik.

Saya melihat pengurus yang terlalu optimis yang menjadikan mereka menetapkan tarikh akhir yang optimis untuk memotivasi pasukan. Ini sangat salah. Saya tidak memberitahu anda bahawa anda harus pesimis terhadap masa depan. Sebaliknya, saya memberitahu anda bahawa anda seharusnya dapat melihat setiap kemungkinan yang boleh menyebabkan masalah. Sebaik sahaja anda dapat melihatnya, anda boleh mempertimbangkannya dan mempunyai anggaran yang lebih tepat.

Terdapat pelbagai pasukan di syarikat itu. Kejuruteraan, pengembangan perniagaan, pemasaran, dll. Apabila pasukan pengembangan perniagaan memaksa anda untuk memberi mereka tarikh akhir dalam waktu dekat, anda tidak seharusnya terpengaruh oleh mereka. Mereka mahu tugas mereka diselesaikan secepat mungkin.

Ingatlah bahawa setiap pasukan memikirkan pasukan mereka sendiri.

Bezakan antara "yang harus anda lakukan", "anda boleh lakukan" dan "anda ingin lakukan"

Kefahaman adalah kunci di sini. Apakah syarat utama untuk melepaskan produk anda? Biasanya, pasukan produk sukar untuk membezakannya.

Apabila anda mengadakan perjumpaan, salah seorang anggota tim akan berkata, "kami dapat melaksanakannya, itu akan memberi kami nilai yang banyak" atau yang lain akan mengatakan "Kami harus melepaskan ini." Mereka melihat dari perspektif mereka sendiri. Baiklah, kita dapat melaksanakan ini dan dapat memberi kita beberapa nilai, tetapi persoalan pentingnya adalah “adakah kita memerlukannya sekarang? Dalam versi pertama? "

Jawapannya adalah TIDAK dalam kebanyakan kes.

Perkara-perkara yang harus anda lakukan adalah perkara yang harus anda fokuskan . Hapuskan perkara yang boleh anda lakukan dan anda mahu lakukan. Mereka juga tidak boleh dirunding dalam kebanyakan kes.

Katakan tidak secara lalai

Ada satu fakta penting yang biasanya kita lupakan ketika kita mengatakan "Ya" pada sesuatu. Kami mengatakan tidak untuk perkara-perkara yang perlu kita selesaikan.

Apabila anda mengiyakan sesuatu yang baru, anda tidak akan memikirkan kesannya terhadap tindakan anda yang ada.

"Mari tambahkan lebih banyak tugas ke projek ini setelah kita menetapkan tarikh akhir. (Projek anda akan semakin kecil dari masa ke masa, tidak lebih besar.) " TIDAK .

"Kami fokus pada apa yang penting, ok. Tetapi bagaimana dengan perinciannya? Mari kita perhatikan jenis perincian yang kita ada yang boleh membuat masalah di masa depan. " TIADA . Abaikan setiap perincian untuk versi pertama. Jangan cuba meramalkan masa depan.

Mencari lebih banyak masa untuk perkara tidak menjadi masalah di sini. Terlalu banyak perkara yang perlu dilakukan adalah masalahnya. Bezakan antara " must-have " dan " nice-to-have ".

Satu-satunya cara untuk menyelesaikan lebih banyak perkara adalah dengan melakukan lebih banyak perkara.

Jangan sekali-kali menukar tarikh akhir

Saya melihat pasukan pembangunan dengan tabiat buruk yang boleh mempengaruhi perkembangan produk mereka dengan teruk: penjadualan semula tarikh akhir.

Apabila mereka melewati tarikh akhir, mereka menetapkan yang baru. Sekiranya mereka tidak dapat memenuhi yang ini, mereka menetapkan yang lain. Apabila mereka melakukan ini berulang kali, ia menjadi kebiasaan. Maka tabiat buruk ini berubah menjadi budaya mereka. Pasukan lain di syarikat itu hilang kepercayaan dan mempersoalkan kerja pemaju. Lebih teruk lagi, pasukan pemaju sendiri boleh kehilangan kepercayaan antara satu sama lain. Dalam diri mereka juga.

Mengubah tarikh akhir pada dasarnya adalah pengakuan kegagalan . Itu membuat pernyataan seperti, "Kami gagal merencanakan syarat, kami tidak mengatakan cukup, kami tidak fokus pada yang penting, kami mendorong pasukan kami untuk melakukan perkara yang tidak masuk akal dalam waktu yang tidak masuk akal."

Ketahuilah bahawa akan selalu ada beberapa masalah

Terlalu optimis menyebabkan anda mengabaikan kenyataan bahawa mungkin ada beberapa masalah. Berjaga jaga. Mungkin ada yang tidak kena. Dan ini akan menyebabkan anda kehilangan masa untuk memperbaiki sesuatu. Jadi lebih baik bersedia menghadapi senario buruk. Saya tidak mengatakan bahawa anda harus pesimis dan anda harus berusaha meramalkan masa depan dan mempersiapkan diri dan pasukan anda untuk perkara yang tidak diketahui. Cari keseimbangan antara optimisme dan pesimisme. Jadi realistik.

Pengalaman saya menunjukkan bahawa, dalam pembangunan perisian, beberapa perkara selalu salah. Nasihat saya kepada anda adalah:

Tambahkan sedikit masa ke tarikh akhir sebelum anda menetapkannya dengan mempertimbangkan bahawa ada sesuatu yang salah.

Jangan tambahkan lebih banyak orang ke projek

Ramai orang berpendapat bahawa mereka dapat mempercepat proses sekiranya mereka menambahkan lebih banyak orang ke dalam projek ini. Walau bagaimanapun, mereka kehilangan titik yang sangat penting. Mari kita ingat undang-undang Brooks:

Menambah sumber daya manusia untuk projek perisian yang lewat membuatnya kemudian. - Membebaskan Brooks

Menurut Brooks di Wikipedia, ada orang tambahan yang, apabila ditambahkan ke projek, membuatnya memerlukan lebih banyak, bukan sedikit waktu. Jadi mengapa ia berfungsi dengan cara ini?

  • Orang-orang yang ditambahkan ke projek memerlukan masa untuk menjadi produktif. Anda harus mendidik mereka terlebih dahulu. Anda sudah mempunyai sumber manusia yang terhad dan anda perlu mendedikasikan sumber tersebut untuk mendidik ahli baru. Oleh kerana mereka baru, mereka akan memperkenalkan bug baru yang memindahkan projek lebih jauh dari selesai.
  • Overhead komunikasi meningkat seiring bertambahnya jumlah orang.
  • Menambah lebih banyak orang ke tugas yang sangat dapat dibahagikan, seperti membersihkan bilik di hotel, mengurangkan keseluruhan masa tugas. Walau bagaimanapun, tugas-tugas lain termasuk banyak kepakaran dalam projek perisian kurang dapat dibahagikan. Contoh lain yang hebat dari Brooks adalah: sementara memerlukan seorang wanita sembilan bulan untuk menghasilkan satu bayi, "sembilan wanita tidak dapat melahirkan bayi dalam satu bulan".

Sebilangan bukti lain dari Richard Dalton untuk memahami mengapa menambahkan lebih banyak orang adalah salah:

"Pasukan tidak berubah. Setiap kali seseorang pergi atau bergabung, anda mempunyai pasukan baru, bukan pasukan yang berubah. " - Richard Dalton

Jangan menunda-nunda

Izinkan saya membantu anda untuk memahami maksud saya. Minggu lalu, kami mengadakan perjumpaan mengenai menentukan tarikh akhir untuk ciri baru produk kami. Kami membincangkan tugas mana yang menjadi keutamaan kami dan bagaimana kami harus melaksanakannya dengan cara yang berkesan.

Ada tugas di mana kita telah membuang banyak masa kita. Terdapat tiga cara untuk melaksanakan tugas itu tetapi entah bagaimana kita buntu. Kami tidak dapat memilih kerana pembangun cuba meramalkan masa depan. Mereka memulakan setiap kalimat dengan "Bagaimana jika".

Anda tidak dapat meramalkan masa depan yang akan membawa anda. Jangan terlalu mempersiapkan diri untuk yang tidak diketahui.

Saya tidak bercakap mengenai keputusan teknikal yang besar di sini. Sudah tentu, jika anda harus memutuskan teknologi teras anda, anda harus menggunakannya untuk mencari jalan keluar yang tepat. Tetapi jangan menghabiskan masa anda untuk perkara kecil. Perkara-perkara yang tidak pasti akan meningkatkan pertemuan dan menyekat kemajuan anda kerana proses backend anda terus berjalan.

Jangan menunda-nunda, memutuskannya dan terus maju.

Ubah mentaliti anda dari "Mari kita memikirkannya" menjadi "Mari kita putuskan sekarang". Keputusan akan mempercepat kemajuan anda. Apabila sesuatu diputuskan, akan jelas bagi semua orang dalam pasukan. Semua orang pasti tahu apa yang harus dilakukan.

Berkomunikasi: Lihat di mana hambatannya?

Anda merancang semuanya. Anda menentukan apa yang harus diberi tumpuan dan apa yang harus dilakukan. Anda tahu dengan tepat berapa banyak masa yang diperlukan (mungkin anda akan salah). Jadi, tarikh akhir telah dijelaskan. Adakah cukup?

TIADA.

Seperti yang saya nyatakan di atas, selalu ada kemungkinan ada yang salah. Semasa ahli pasukan anda mengerjakan tugas mereka, sesuatu dapat menghalangnya. Sesuatu dapat menghentikan mereka menyelesaikan tugas mereka tepat pada waktunya. Anda mesti melihat di mana hambatan dan apa itu.

Komunikasi adalah kunci di sini. Anda mesti memastikan pasukan sentiasa disegerakkan. Kadang-kadang ahli pasukan boleh masuk ke dalam kotak dan sangat sukar bagi mereka untuk melihat apa yang berlaku di luar itu. Di sinilah anda harus memasuki tempat kejadian. Sebaik sahaja anda mengenal pasti halangan, hapuskannya supaya ahli pasukan anda dapat meneruskan dari tempat mereka tersekat.

Saya doakan semoga berjaya memenuhi semua tarikh akhir anda :)

Terima kasih untuk membaca.

Asalnya diterbitkan di //huseyinpolatyuruk.com.