Anda di halaman 1dari 8

Machine Translated by Google

BAB

5 Aspek Manusia dari Perangkat Lunak


Rekayasa

Dalam edisi khusus Perangkat Lunak IEEE, editor tamu [deS09] melakukan pengamatan berikut:

Rekayasa perangkat lunak memiliki banyak teknik, alat, dan metode yang dirancang untuk
meningkatkan proses pengembangan perangkat lunak dan produk akhir. Namun, perangkat lunak
bukan hanya produk dari solusi teknis yang sesuai yang diterapkan dengan cara teknis yang sesuai.
Perangkat lunak dikembangkan oleh manusia, digunakan oleh manusia, dan mendukung interaksi
antar manusia. Dengan demikian, karakteristik manusia, perilaku, dan kerjasama merupakan pusat
pengembangan perangkat lunak praktis.

Tanpa tim yang terdiri dari orang-orang yang terampil dan termotivasi, kesuksesan tidak mungkin terjadi.

ke y tim yang gesit. . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 atribut tim. . . . . . . . . . . . . . . . . . . . . . . . 77


konsep C tim global. . . . . . . . . . . . . . . . . . . . . . . . . . 80 struktur tim. . . . . . . . . . . . . . . . . . . . . . . . 78
tim jeli. . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 toksisitas tim. . . . . . . . . . . . . . . . . . . . . . . . . . 77
psikologi, rekayasa perangkat lunak. . . . . . . . . 75 sifat, insinyur perangkat lunak. . . . . . . . . . . . . . . . 75
media sosial . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Cepat lihat _

Apa itu? Pada akhirnya, orang membuat perangkat lunak insinyur perangkat lunak. Selanjutnya, Anda harus
komputer. Aspek manusia dari rekayasa perangkat lunak menghargai psikologi kompleks pekerjaan rekayasa
sering berkaitan dengan keberhasilan proyek sebagai perangkat lunak sehingga Anda dapat menavigasi jalan
teknologi terbaru dan terhebat. Anda melalui proyek tanpa bahaya. Kemudian, Anda perlu
memahami struktur dan dinamika tim perangkat lunak.
Siapa yang melakukannya? Individu dan tim melakukan Terakhir, Anda harus menghargai dampak media sosial,
pekerjaan rekayasa perangkat lunak. Dalam beberapa cloud, dan alat kolaboratif lainnya.
kasus, satu orang memiliki banyak tanggung jawab,
tetapi dalam sebagian besar upaya perangkat lunak Apa produk kerjanya? Wawasan yang lebih baik tentang
tingkat industri, tim yang melakukan pekerjaan. orang, proses, dan produk.
Mengapa itu penting? Tim perangkat lunak akan berhasil Bagaimana saya memastikan bahwa saya telah melakukannya dengan benar?

hanya jika dinamika tim benar. Sangat penting bagi Luangkan waktu untuk mengamati bagaimana insinyur
insinyur perangkat lunak dalam tim untuk bermain baik perangkat lunak yang sukses melakukan pekerjaan mereka,
dengan kolega mereka dan dengan pemangku dan sesuaikan pendekatan Anda untuk memanfaatkan
kepentingan produk lainnya. kekuatan yang mereka proyeksikan.
Apa saja langkah-langkahnya? Pertama, Anda perlu
mencoba meniru karakteristik pribadi orang sukses

74
Machine Translated by Google

BAB 5 ASPEK MANUSIA TEKNIK PERANGKAT LUNAK 75

5.1 C ar ac teri st icsofa Jadi ft wa re Eng ineer

Jadi, Anda ingin menjadi insinyur perangkat lunak? Jelas, Anda perlu menguasai hal-hal teknis, mempelajari
keterampilan yang diperlukan untuk memahami masalah, merancang solusi yang efektif, membangun perangkat
lunak, dan mengujinya dalam upaya mengembangkan produk dengan kualitas terbaik. Anda perlu mengelola
perubahan, berkomunikasi dengan pemangku kepentingan, dan menggunakan alat yang tepat sesuai kebutuhan.
Kita akan membahas hal-hal ini secara panjang lebar nanti dalam buku ini.
Tetapi ada hal lain yang sama pentingnya—aspek manusia yang akan membuat Anda efektif sebagai seorang
insinyur perangkat lunak. Erasmus [Era09] mengidentifikasi tujuh ciri yang ada ketika seorang insinyur perangkat
lunak menunjukkan perilaku "superprofesional".
Seorang insinyur perangkat lunak yang efektif memiliki rasa tanggung jawab individu. Ini menyiratkan dorongan
untuk memenuhi janjinya kepada rekan kerja, pemangku kepentingan, dan manajemennya. Ini menyiratkan bahwa
dia akan melakukan apa yang perlu dilakukan, ketika itu perlu dilakukan dalam upaya berlebihan untuk mencapai
hasil yang sukses.
Seorang insinyur perangkat lunak yang efektif memiliki kesadaran yang tinggi akan kebutuhan anggota tim
lainnya, pemangku kepentingan yang meminta perubahan pada solusi perangkat lunak yang ada, dan manajer
yang memiliki kendali keseluruhan proyek. Dia mengamati lingkungan tempat orang bekerja dan menyesuaikan
perilakunya dengan mempertimbangkan keduanya.
Seorang insinyur perangkat lunak yang efektif sangat jujur. Jika dia melihat desain yang cacat, dia menunjukkan
kekurangannya dengan cara yang konstruktif tetapi jujur. Jika diminta untuk mengubah fakta tentang jadwal, fitur,
kinerja, atau karakteristik produk atau proyek lainnya, dia memilih untuk bersikap realistis dan jujur.

Seorang insinyur perangkat lunak yang efektif menunjukkan ketahanan di bawah tekanan. Rekayasa
perangkat lunak selalu berada di ambang kekacauan. Tekanan datang dalam berbagai bentuk—perubahan
persyaratan dan prioritas, pemangku kepentingan yang menuntut, dan manajer yang sombong. Seorang insinyur
perangkat lunak yang efektif mengelola tekanan sehingga kinerjanya tidak terganggu.
Seorang insinyur perangkat lunak yang efektif memiliki rasa keadilan yang tinggi. Dia dengan senang hati
berbagi pujian dengan rekan-rekannya. Dia berusaha menghindari konflik kepentingan dan tidak pernah bertindak
untuk menyabotase pekerjaan orang lain.
Seorang insinyur perangkat lunak yang efektif menunjukkan perhatian terhadap detail. Ini tidak berarti obsesi
dengan kesempurnaan. Dia dengan hati-hati mempertimbangkan kriteria yang lebih luas (misalnya, kinerja, biaya,
kualitas) yang telah ditetapkan untuk produk dan proyek dalam membuat keputusan teknis hariannya.

Akhirnya, seorang insinyur perangkat lunak yang efektif adalah pragmatis. Dia mengakui bahwa rekayasa
perangkat lunak bukanlah agama di mana aturan dogmatis harus diikuti, melainkan disiplin yang dapat disesuaikan
berdasarkan keadaan yang ada.

5.2 Ps yc h olo gy of So ft wa re Eng ineeri ng

Dalam makalah mani tentang psikologi rekayasa perangkat lunak, Bill Curtis dan Diane Walz [Cur90] menyarankan
model perilaku berlapis untuk pengembangan perangkat lunak (Gambar 5.1). Pada tingkat individu, psikologi
rekayasa perangkat lunak berfokus pada pengenalan masalah yang harus dipecahkan, keterampilan pemecahan
masalah yang diperlukan untuk menyelesaikannya, dan motivasi untuk menyelesaikan solusi dalam batasan yang
ditetapkan oleh lapisan luar dalam model. Di tingkat tim dan proyek, dinamika kelompok menjadi
Machine Translated by Google

76 BAGIAN SATU PROSES PERANGKAT LUNAK

Gambar 5.1

Perilaku Perangkat lunak


berlapis
model untuk
perangkat lunak

teknik
(diadaptasi dari
[Cur90]) Lingkungan Bisnis
Sumber:
Diadaptasi dari
Organisasi
Curtis, Bill, dan Perilaku
Walz, Diane, “The Perusahaan
Psychology of
Programming in
the Large: Team Proyek
and Organizational Behavior,” Kelompok
Psikologi
Tim Dinamika
Pemrograman,
Academic Press,
1990.
Individu
Kognisi dan
Motivasi

Masalah

faktor yang mendominasi. Di sini, struktur tim dan faktor sosial mengatur kesuksesan.
Komunikasi kelompok, kolaborasi, dan koordinasi sama pentingnya dengan keterampilan
anggota tim individu. Pada lapisan terluar, perilaku organisasi mengatur tindakan
perusahaan dan tanggapannya terhadap lingkungan bisnis.

5.3 . So ft war Te am
Dalam buku klasik mereka Peopleware, Tom DeMarco dan Tim Lister [DeM98] membahas
kekompakan tim perangkat lunak:

Kita cenderung menggunakan kata tim secara longgar di dunia bisnis, menyebut setiap kelompok orang yang
ditugaskan untuk bekerja sama sebagai "tim". Tetapi banyak dari kelompok ini tidak berperilaku seperti tim.
Mereka mungkin tidak memiliki definisi umum tentang kesuksesan atau semangat tim yang dapat diidentifikasi.
Apa yang hilang adalah fenomena yang kita sebut jeli.
Sebuah tim jelled adalah sekelompok orang yang begitu kuat merajut bahwa keseluruhan lebih besar daripada
jumlah bagian-bagiannya. .. .
Begitu sebuah tim mulai bersemangat, kemungkinan sukses akan meningkat. Tim bisa menjadi tak
terbendung, raksasa untuk sukses. . . . Mereka tidak perlu dikelola dengan cara tradisional, dan tentu saja
tidak perlu dimotivasi. Mereka punya momentum.
Machine Translated by Google

BAB 5 ASPEK MANUSIA TEKNIK PERANGKAT LUNAK 77

DeMarco dan Lister berpendapat bahwa anggota tim kental secara signifikan lebih produktif dan
lebih termotivasi daripada rata-rata. Mereka memiliki tujuan yang sama, budaya yang sama, dan
dalam banyak kasus, "rasa elit" yang membuat mereka unik.
Tidak ada metode yang sangat mudah untuk membuat tim jeli. Tetapi ada atribut yang biasanya
ditemukan dalam tim perangkat lunak yang efektif.1 Miguel Carrasco [Car08] menyarankan bahwa
tim perangkat lunak yang efektif harus menetapkan tujuan. Tim yang efektif juga harus menanamkan
rasa keterlibatan yang memungkinkan setiap anggota merasa bahwa keahlian dan kontribusinya
dihargai.
Tim yang efektif harus menumbuhkan rasa percaya. Insinyur perangkat lunak dalam tim harus
mempercayai keterampilan dan kompetensi rekan-rekan mereka dan manajer mereka. Tim harus
mendorong rasa peningkatan, dengan secara berkala merefleksikan pendekatannya terhadap
rekayasa perangkat lunak dan mencari cara untuk meningkatkan pekerjaan mereka.
Tim perangkat lunak yang paling efektif beragam dalam arti bahwa mereka menggabungkan
berbagai keahlian yang berbeda. Ahli teknologi yang sangat terampil dilengkapi dengan anggota yang
mungkin memiliki latar belakang teknis yang lebih sedikit tetapi lebih berempati terhadap kebutuhan
pemangku kepentingan.
Tetapi tidak semua tim efektif dan tidak semua tim jeli. Faktanya, banyak tim menderita apa yang
disebut Jackman [Jac98] sebagai “keracunan tim.” Dia mendefinisikan lima faktor yang "menumbuhkan
lingkungan tim yang berpotensi beracun": (1) suasana kerja yang hiruk pikuk, (2) frustrasi tinggi yang
menyebabkan gesekan di antara anggota tim, (3) proses perangkat lunak yang "terpecah-pecah atau
tidak terkoordinasi dengan baik", ( 4) definisi peran yang tidak jelas dalam tim perangkat lunak, dan
(5) "paparan kegagalan yang terus menerus dan berulang".
Untuk menghindari lingkungan kerja yang hiruk pikuk, tim harus memiliki akses ke semua
informasi yang diperlukan untuk melakukan pekerjaan. Tujuan dan sasaran utama, setelah ditetapkan,
tidak boleh diubah kecuali benar-benar diperlukan. Tim perangkat lunak dapat menghindari frustrasi
jika diberi tanggung jawab sebanyak mungkin untuk pengambilan keputusan. Proses yang tidak tepat
(misalnya, tugas kerja yang tidak perlu atau memberatkan atau produk kerja yang dipilih dengan
buruk) dapat dihindari dengan memahami produk yang akan dibangun dan orang-orang yang
melakukan pekerjaan tersebut dan dengan mengizinkan tim untuk memilih model proses. Tim itu
sendiri harus menetapkan mekanisme akuntabilitasnya sendiri (tinjauan teknis2
adalah cara terbaik untuk mencapai ini) dan menentukan serangkaian pendekatan korektif ketika
seorang anggota tim gagal untuk melakukan. Dan akhirnya, kunci untuk menghindari suasana
kegagalan adalah dengan membangun teknik berbasis tim untuk umpan balik dan pemecahan
masalah.
Selain lima racun yang dijelaskan oleh Jackman, tim perangkat lunak sering bergumul dengan
sifat manusia yang berbeda dari anggotanya. Beberapa orang mengumpulkan informasi secara intuitif,
menyaring konsep luas dari fakta yang berbeda. Yang lain memproses informasi lebih awal,
mengumpulkan dan mengatur detail kecil dari data yang diberikan. Beberapa anggota tim merasa
nyaman membuat keputusan hanya ketika argumen yang logis dan teratur disajikan. Yang lain intuitif,
bersedia membuat keputusan berdasarkan "perasaan". Beberapa pekerjaan

1 Bruce Tuckman mengamati bahwa tim yang sukses melewati empat fase (membentuk, menyerbu,
mengatur, dan melakukan) dalam perjalanan mereka untuk menjadi produktif (http://en.wikipedia.org/
wiki/Tuckman%27s_stages_of_group_development).
2 Tinjauan teknis dibahas secara rinci dalam Bab 16.
Machine Translated by Google

78 BAGIAN SATU PROSES PERANGKAT LUNAK

sulit untuk menyelesaikan sesuatu jauh sebelum tanggal pencapaian, sehingga menghindari stres saat
mendekati tanggal, sementara yang lain diberi energi oleh terburu-buru untuk membuat batas waktu menit
terakhir. Pengakuan perbedaan manusia, bersama dengan pedoman lain yang disajikan di bagian ini,
memberikan kemungkinan yang lebih tinggi untuk menciptakan tim yang jeli.

5.4 Struktur Tim


Struktur tim "terbaik" tergantung pada gaya manajemen organisasi Anda, jumlah orang yang akan mengisi
tim dan tingkat keahlian mereka, dan tingkat kesulitan masalah secara keseluruhan. Mantei [Man81]
menjelaskan sejumlah faktor proyek yang harus dipertimbangkan ketika merencanakan struktur tim
rekayasa perangkat lunak: (1) kesulitan masalah yang harus dipecahkan, (2) "ukuran" program yang
dihasilkan dalam baris kode atau poin fungsi,3 (3) waktu tim akan tetap bersama (team lifetime), (4) sejauh
mana masalah dapat dimodulasi, (5) diperlukan kualitas dan keandalan sistem yang akan dibangun, ( 6)
kekakuan tanggal pengiriman, dan (7) tingkat sosialisasi (komunikasi) yang diperlukan untuk proyek.

Selama dekade terakhir, pengembangan perangkat lunak tangkas (Bab 3) telah disarankan sebagai
penangkal banyak masalah yang mengganggu pekerjaan proyek perangkat lunak. Filosofi tangkas
mendorong kepuasan pelanggan dan pengiriman perangkat lunak tambahan awal, tim proyek kecil
bermotivasi tinggi, metode informal, produk kerja rekayasa perangkat lunak minimal, dan kesederhanaan
pengembangan secara keseluruhan.
Tim proyek kecil yang bermotivasi tinggi, juga disebut tim tangkas, mengadopsi banyak karakteristik
tim proyek perangkat lunak yang sukses yang dibahas di Bagian 5.3 dan menghindari banyak racun yang
menimbulkan masalah. Namun, filosofi tangkas menekankan kompetensi individu (anggota tim), ditambah
dengan kolaborasi kelompok sebagai faktor penentu keberhasilan tim. Menyalurkan energi kreatif ke dalam
tim berkinerja tinggi harus menjadi tujuan utama organisasi rekayasa perangkat lunak.

Cockburn dan Highsmith [Coc01a] menyarankan bahwa orang-orang perangkat lunak yang "baik" dapat
bekerja dalam kerangka proses perangkat lunak apa pun, dan apa pun yang berkinerja lemah akan
berjuang. Intinya, mereka berpendapat, adalah bahwa "orang mengalahkan proses" tetapi bahkan orang
baik pun dapat terhambat oleh proses yang tidak jelas dan dukungan sumber daya yang buruk. Kami setuju.

Untuk memanfaatkan kompetensi setiap anggota tim secara efektif dan untuk mendorong kolaborasi
yang efektif melalui proyek perangkat lunak, tim yang gesit mengatur dirinya sendiri. Tim yang mengatur
diri sendiri tidak serta merta mempertahankan struktur tim tunggal. Tim membuat perubahan yang
diperlukan pada strukturnya untuk menanggapi perubahan dalam lingkungan pengembangan atau
perubahan dalam solusi masalah rekayasa yang berkembang.
Komunikasi antara anggota tim dan semua pemangku kepentingan proyek sangat penting.
Tim tangkas sering kali memiliki perwakilan pelanggan sebagai anggota tim. Ini menumbuhkan rasa hormat
di antara para pengembang dan pemangku kepentingan, serta memberikan jalan untuk umpan balik yang
tepat waktu dan sering pada produk yang berkembang.

3 Baris kode (LOC) dan titik fungsi adalah ukuran ukuran program komputer
dan dibahas dalam Bab 24.
Machine Translated by Google

BAB 5 ASPEK MANUSIA TEKNIK PERANGKAT LUNAK 79

Rumah Aman

Struktur Tim
Adegan: Kantor Doug Miller sebelum Vinod: Saya setuju. Mengingat garis waktu yang ketat
dimulainya proyek perangkat lunak dan beberapa ketidakpastian, dan fakta bahwa kita semua
SafeHome. benar-benar kompeten [tertawa], sepertinya itu cara yang
Para pemain: Doug Miller (manajer tim rekayasa tepat.
perangkat lunak SafeHome), Vinod Raman, Jamie Lazar, Doug: Tidak apa-apa dengan saya, tapi kalian tahu
dan anggota lain dari tim rekayasa perangkat lunak produk. latihannya.

Jamie (tersenyum dan berbicara seolah-olah dia


sedang membaca sesuatu): Kami membuat keputusan
Percakapan:
taktis, tentang siapa yang melakukan apa dan kapan,
Doug: Apakah kalian sempat melihat-lihat info awal
tetapi tanggung jawab kami adalah mengeluarkan produk
SafeHome yang sudah disiapkan marketingnya? tepat waktu.

Vinod: Dan dengan kualitas.


Vinod (mengangguk dan melihat rekan satu timnya):
Doug: Tepat sekali. Tapi ingat ada kendala.
Ya. Tapi kami punya banyak pertanyaan.
Pemasaran menentukan peningkatan perangkat lunak
Doug: Mari kita pegang itu sebentar. Saya ingin
yang akan diproduksi—tentu saja dengan berkonsultasi
berbicara tentang bagaimana kita akan menyusun tim,
dengan kami.
siapa yang bertanggung jawab untuk apa. . .
Jamie: Saya sangat menyukai filosofi tangkas, Doug.
Saya pikir kita harus menjadi tim yang mengatur diri sendiri.

5.5 Im pac tof So ci al Me dia

E-mail, SMS, dan konferensi video telah menjadi kegiatan di mana-mana dalam pekerjaan
rekayasa perangkat lunak. Tetapi mekanisme komunikasi ini sebenarnya tidak lebih dari
pengganti atau suplemen modern untuk kontak tatap muka. Media sosial berbeda.
Begel [Beg10] dan rekan-rekannya membahas pertumbuhan dan penerapan media sosial
dalam rekayasa perangkat lunak ketika mereka menulis:

Proses sosial di sekitar pengembangan perangkat lunak adalah . . . sangat bergantung pada kemampuan
insinyur untuk menemukan dan terhubung dengan individu yang memiliki tujuan yang sama dan
keterampilan yang saling melengkapi, untuk menyelaraskan komunikasi setiap anggota tim dan preferensi
kerja sama, untuk berkolaborasi dan berkoordinasi selama seluruh siklus hidup perangkat lunak, dan
mengadvokasi kesuksesan produk mereka di pasar.

Dalam beberapa hal, “hubungan” ini bisa sama pentingnya dengan komunikasi tatap muka.
Nilai media sosial tumbuh seiring bertambahnya ukuran tim dan semakin besar ketika tim
tersebar secara geografis.
Alat jejaring sosial (misalnya, Facebook, LinkedIn, Slack, Twitter) memungkinkan tingkat
pemisahan koneksi antara pengembang perangkat lunak dan teknologi terkait. Hal ini
memungkinkan "teman" di situs jejaring sosial untuk belajar tentang teman dari teman yang
mungkin memiliki pengetahuan atau keahlian terkait dengan domain aplikasi atau masalah yang harus dipec
Jaringan pribadi khusus yang dibangun di atas paradigma jejaring sosial dapat digunakan dalam
suatu organisasi.
Machine Translated by Google

80 BAGIAN SATU PROSES PERANGKAT LUNAK

Sangat penting untuk dicatat bahwa masalah privasi dan keamanan tidak boleh diabaikan saat
menggunakan media sosial untuk pekerjaan rekayasa perangkat lunak. Sebagian besar pekerjaan yang
dilakukan oleh insinyur perangkat lunak mungkin milik majikan mereka dan pengungkapannya bisa sangat
berbahaya. Untuk alasan itu, manfaat yang berbeda dari media sosial harus dipertimbangkan terhadap
ancaman pengungkapan informasi pribadi yang tidak terkendali.

5.6 Tim Global


Dalam domain perangkat lunak, globalisasi menyiratkan lebih dari sekadar transfer barang dan jasa
melintasi batas-batas internasional. Selama beberapa dekade terakhir, semakin banyak produk perangkat
lunak utama telah dibangun oleh tim perangkat lunak yang sering berlokasi di berbagai negara. Tim
pengembangan perangkat lunak global (GSD) ini memiliki tantangan unik yang mencakup koordinasi,
kolaborasi, komunikasi, dan pengambilan keputusan khusus. Pendekatan koordinasi, kolaborasi, dan
komunikasi dipengaruhi oleh struktur tim yang telah dibentuk. Pengambilan keputusan pada semua tim
perangkat lunak diperumit oleh empat faktor [Gar10a]:

Kompleksitas masalah.

Ketidakpastian dan risiko yang terkait dengan keputusan.

Hukum konsekuensi yang tidak diinginkan (yaitu, keputusan terkait pekerjaan memiliki
efek yang tidak diinginkan pada tujuan proyek lain).

Pandangan yang berbeda dari masalah yang mengarah pada kesimpulan yang berbeda tentang
jalan ke depan.

Untuk tim GSD, tantangan yang terkait dengan koordinasi, kolaborasi, dan komunikasi dapat
berdampak besar pada pengambilan keputusan. Gambar 5.2 mengilustrasikan dampak jarak terhadap
tantangan yang dihadapi tim GSD. Jarak mempersulit

Gambar 5.2
Faktor Jarak

yang mempengaruhi
tim GSD Rumit Menonjolkan
Memperkenalkan kebutuhan untuk

Hambatan dan Kompleksitas

Melemahkan Mengurangi

Komunikasi Kolaborasi Koordinasi


Machine Translated by Google

BAB 5 ASPEK MANUSIA TEKNIK PERANGKAT LUNAK 81

komunikasi, tetapi, pada saat yang sama, menekankan perlunya koordinasi. Jarak juga memperkenalkan
hambatan dan kompleksitas yang dapat didorong oleh perbedaan budaya.
Hambatan dan kompleksitas melemahkan komunikasi (yaitu, rasio signal-to-noise menurun). Masalah
yang melekat pada dinamika ini dapat mengakibatkan proyek menjadi tidak stabil.

5.7 Su mma ry

Seorang insinyur perangkat lunak yang sukses harus memiliki keterampilan teknis. Namun, di samping
itu, ia harus bertanggung jawab atas komitmennya, menyadari kebutuhan rekan-rekannya, jujur dalam
penilaiannya terhadap produk dan proyek, tangguh di bawah tekanan, memperlakukan rekan-rekannya
dengan adil, dan menunjukkan perhatian terhadap detail.
Psikologi rekayasa perangkat lunak mencakup kognisi dan motivasi individu, dinamika kelompok tim
perangkat lunak, dan perilaku organisasi perusahaan. Tim perangkat lunak (“jelled”) yang sukses lebih
produktif dan termotivasi daripada rata-rata. Agar efektif, tim perangkat lunak harus memiliki tujuan, rasa
keterlibatan, rasa percaya, dan rasa peningkatan. Selain itu, tim harus menghindari “keracunan” yang
ditandai dengan suasana kerja yang hiruk pikuk dan membuat frustrasi, proses perangkat lunak yang
tidak tepat, definisi peran yang tidak jelas dalam tim perangkat lunak, dan keterpaparan terus-menerus
terhadap kegagalan.

Tim tangkas menganut filosofi tangkas dan umumnya memiliki otonomi yang lebih besar daripada
tim perangkat lunak yang lebih konvensional dengan peran anggota yang kaku dan kontrol manajemen
eksternal. Tim tangkas menekankan komunikasi, kesederhanaan, umpan balik, keberanian, dan rasa
hormat.
Alat media sosial menjadi bagian integral dari banyak proyek perangkat lunak, menyediakan layanan
yang meningkatkan komunikasi dan kolaborasi untuk tim perangkat lunak. Media sosial dan komunikasi
elektronik sangat berguna untuk pengembangan perangkat lunak global di mana pemisahan geografis
dapat memicu hambatan untuk rekayasa perangkat lunak yang sukses.

Masalah ms dan Po in ts ke Po nder


5.1. Berdasarkan pengamatan pribadi Anda terhadap orang-orang yang merupakan pengembang perangkat lunak
yang hebat, sebutkan tiga ciri kepribadian yang tampak umum di antara mereka.

5.2. Bagaimana Anda bisa “sangat jujur” dan tetap tidak dianggap (oleh orang lain) sebagai penghinaan atau agresif?

5.3. Bagaimana tim perangkat lunak membangun "batas buatan" yang mengurangi kemampuan mereka untuk
berkomunikasi dengan orang lain?

5.4. Tulis skenario di mana anggota tim SafeHome menggunakan satu atau beberapa bentuk media sosial sebagai
bagian dari proyek perangkat lunak mereka.

5.5. Mengacu pada Gambar 5.2, mengapa jarak mempersulit komunikasi? Mengapa jarak menekankan perlunya
koordinasi? Apa jenis hambatan dan kerumitan yang ditimbulkan oleh jarak?

Elemen desain: Ikon Quick Look kaca pembesar: © Roger Pressman

Anda mungkin juga menyukai