Searching...
Bahasa Indonesia
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
The Mythical Man-Month

The Mythical Man-Month

Essays on Software Engineering
oleh Frederick P. Brooks Jr. 1975 322 halaman
4.01
14k+ penilaian
Dengarkan
Listen to Summary
Try Full Access for 7 Days
Unlock listening & more!
Continue

Poin Penting

1. Integritas konseptual adalah hal utama dalam desain perangkat lunak

Integritas konseptual merupakan pertimbangan paling penting dalam desain sistem.

Model mental yang koheren: Produk perangkat lunak harus menyajikan model mental yang koheren kepada penggunanya, mencakup aplikasi, strategi penggunaannya, dan antarmuka pengguna. Koherensi inilah yang menjadi faktor utama kemudahan penggunaan dan kualitas produk secara keseluruhan.

Tantangan proyek besar: Mencapai integritas konseptual menjadi semakin sulit seiring bertambahnya ukuran proyek dan semakin banyaknya pikiran yang terlibat dalam proses desain. Inilah sebabnya mengapa mengelola proyek pemrograman besar berbeda secara kualitas dibandingkan dengan proyek kecil.

Peran arsitek: Untuk menjaga integritas konseptual, sangat penting memiliki satu pikiran atau kelompok kecil yang sepakat bertanggung jawab atas desain keseluruhan. Di sinilah peran arsitek sistem menjadi sangat penting, bertindak sebagai wakil pengguna dan membuat keputusan desain yang krusial.

2. Peran arsitek sistem sangat penting untuk keberhasilan proyek

Fungsi terpenting yang dilakukan pembangun perangkat lunak bagi klien mereka adalah ekstraksi dan penyempurnaan kebutuhan produk secara iteratif.

Arsitek sebagai advokat pengguna: Arsitek sistem berperan sebagai perwakilan pengguna, bertanggung jawab atas integritas konseptual semua aspek produk yang dapat dipersepsikan oleh pengguna. Ini termasuk mendefinisikan model mental publik produk serta menentukan fungsi dan kontrolnya.

Pemecahan fokus: Agar tugas arsitek dapat dikelola dengan baik, perlu memisahkan arsitektur (aspek yang dapat dipersepsikan pengguna) dari implementasi. Hal ini menciptakan batasan yang jelas dalam proses desain, memungkinkan upaya yang terfokus di kedua sisi.

Arsitektur rekursif: Untuk proyek besar, sistem dapat dibagi menjadi subsistem, masing-masing dengan arsitek sendiri yang melapor kepada arsitek utama. Pendekatan rekursif ini memungkinkan integritas konseptual tetap terjaga bahkan dalam sistem yang kompleks.

3. Efek sistem kedua dapat menyebabkan desain berlebihan dan fitur yang melimpah

Sistem kedua adalah sistem paling berbahaya yang pernah dirancang seseorang; kecenderungan umumnya adalah merancangnya secara berlebihan.

Desain yang terlalu ambisius: Sistem kedua yang dibuat seorang perancang sering kali mengalami ambisi berlebihan dan fitur yang terlalu banyak. Hal ini disebabkan oleh meningkatnya kepercayaan diri perancang dan keinginan untuk mengimplementasikan semua ide yang tidak bisa diwujudkan pada sistem pertama.

Keseimbangan yang sulit: Saat merancang untuk pengguna yang besar dan beragam, menjadi sulit untuk menyeimbangkan kebutuhan yang berbeda-beda. Ini sering berujung pada kelebihan fitur yang mengorbankan kinerja dan kemudahan penggunaan.

Definisi pengguna: Untuk mengatasi hal ini, sangat penting mendefinisikan secara eksplisit kelompok pengguna sasaran, meliputi:

  • Siapa mereka
  • Apa yang mereka butuhkan
  • Apa yang mereka kira mereka butuhkan
  • Apa yang mereka inginkan

Menebak dan mendokumentasikan atribut pengguna serta frekuensinya dapat membantu memfokuskan proses desain dan menyoroti area yang memerlukan penelitian lebih lanjut.

4. Antarmuka WIMP merevolusi interaksi pengguna dengan komputer

WIMP adalah contoh luar biasa dari antarmuka pengguna yang memiliki integritas konseptual, dicapai melalui adopsi model mental yang familiar, yaitu metafora desktop, dan perluasan konsisten yang hati-hati untuk memanfaatkan implementasi grafis komputer.

Integritas konseptual melalui metafora: Antarmuka Windows, Ikon, Menu, dan Penunjuk (WIMP) mencapai integritas konseptual dengan mengadopsi metafora desktop yang sudah dikenal dan memperluasnya secara konsisten ke lingkungan komputer.

Menyeimbangkan kekuatan dan kemudahan penggunaan: Antarmuka WIMP berhasil menyeimbangkan kekuatan bagi pengguna berpengalaman dengan kemudahan bagi pemula:

  • Menu menyediakan opsi yang mudah ditemukan bagi pengguna baru
  • Pintasan keyboard menawarkan efisiensi bagi pengguna mahir
  • Antarmuka memungkinkan transisi yang mulus antara kedua mode tersebut

Penegakan standar: Keberhasilan antarmuka WIMP di berbagai aplikasi dicapai melalui:

  • Pembangunan antarmuka ke dalam memori baca-saja
  • Komitmen dan persuasi manajemen
  • Kritik dari pengulas terhadap produk yang tidak sesuai standar

Pendekatan ini menunjukkan kekuatan penggabungan langsung dalam menegakkan standar arsitektur.

5. Model waterfall memiliki kelemahan; pengembangan inkremental lebih unggul

Kesalahan dasar model waterfall adalah menganggap proyek berjalan sekali melalui proses, arsitektur sudah sangat baik dan mudah digunakan, desain implementasi solid, dan realisasi dapat diperbaiki saat pengujian berlangsung.

Keterbatasan model waterfall:

  • Mengasumsikan kemajuan linier melalui tahap-tahap
  • Menempatkan pengujian sistem dan pengguna di akhir
  • Tidak memperhitungkan umpan balik yang diperlukan dari tahap sebelumnya

Manfaat pengembangan inkremental:

  • Memungkinkan pengujian pengguna lebih awal
  • Menyediakan sistem yang berjalan di semua tahap
  • Mendukung strategi pembangunan sesuai anggaran
  • Meningkatkan semangat tim melalui kemajuan yang terlihat

Penyempurnaan progresif: Mulailah dengan sistem kerangka dasar yang berfungsi dari ujung ke ujung, kemudian tambahkan dan sempurnakan modul secara bertahap. Pendekatan ini memungkinkan pengujian dan adaptasi berkelanjutan berdasarkan umpan balik pengguna dan kebutuhan yang muncul.

6. Manajemen proyek efektif memerlukan dokumentasi dan tonggak yang jelas

Tonggak harus berupa peristiwa konkret, spesifik, dan terukur yang didefinisikan dengan ketajaman yang tajam.

Dokumen penting: Sekelompok kecil dokumen yang terdefinisi dengan baik berfungsi sebagai alat penting dalam manajemen proyek:

  • Tujuan
  • Manual pengguna
  • Jadwal
  • Anggaran
  • Struktur organisasi
  • Alokasi ruang

Karakteristik tonggak:

  • Konkret dan terukur
  • Didefinisikan dengan jelas untuk menghindari ambiguitas
  • Digunakan untuk melacak kemajuan dan mengidentifikasi keterlambatan

Alat komunikasi: Dokumen dan tonggak ini memiliki banyak fungsi:

  • Memfokuskan pemikiran dan memperjelas diskusi
  • Mengkomunikasikan rencana dan keputusan kepada tim
  • Menjadi dasar pelacakan status dan peringatan dini masalah

7. Rekayasa perangkat lunak menghadapi tantangan unik dalam produktivitas dan kompleksitas

Sistem perangkat lunak mungkin adalah yang paling rumit dan kompleks di antara segala sesuatu yang dibuat manusia.

Kompleksitas inheren: Sistem perangkat lunak secara alami kompleks karena sifatnya yang abstrak dan kebutuhan untuk menyesuaikan dengan berbagai institusi dan sistem manusia.

Paradoks produktivitas: Sementara produktivitas manufaktur perangkat keras meningkat pesat, produktivitas pengembangan perangkat lunak tidak mengalami peningkatan yang sebanding. Hal ini terutama disebabkan oleh sifat pengembangan perangkat lunak yang sangat memakan tenaga kerja.

Tantangan:

  • Ketidaknampakan: Perangkat lunak tidak memiliki representasi geometris alami
  • Perubahan: Perangkat lunak terus-menerus mengalami tekanan perubahan
  • Kepatuhan: Perangkat lunak harus menyesuaikan dengan berbagai sistem dan konvensi eksternal

8. Mitos bulan-manusia: menambah tenaga kerja pada proyek yang terlambat justru memperlambat

Hukum Brooks: Menambah tenaga kerja pada proyek perangkat lunak yang terlambat justru membuatnya semakin terlambat.

Alasan mitos ini:

  • Waktu adaptasi bagi anggota tim baru
  • Peningkatan beban komunikasi
  • Fragmentasi tugas

Implikasi:

  • Perencanaan dan estimasi awal yang cermat sangat penting
  • Proyek harus disusun untuk meminimalkan ketergantungan antar bagian
  • Strategi alternatif (misalnya pengurangan ruang lingkup) harus dipertimbangkan sebelum menambah tenaga kerja

Strategi mitigasi:

  • Menggunakan tim kecil yang terampil (misalnya model tim bedah)
  • Pembagian tanggung jawab yang jelas
  • Praktik komunikasi dan dokumentasi yang efektif

9. Kode yang mendokumentasikan diri sendiri dan dokumentasi yang tepat sangat penting

Agar dokumentasi tetap terpelihara, sangat penting agar dokumentasi tersebut dimasukkan dalam program sumber, bukan disimpan sebagai dokumen terpisah.

Praktik dokumentasi diri:

  • Gunakan nama variabel dan fungsi yang bermakna
  • Sisipkan komentar dalam kode
  • Manfaatkan fitur bahasa yang meningkatkan keterbacaan

Jenis dokumentasi:

  • Dokumentasi pengguna: Gambaran umum, tujuan, petunjuk penggunaan
  • Dokumentasi teknis: Arsitektur, keputusan desain, detail implementasi

Strategi dokumentasi:

  • Tulis dokumentasi bersamaan dengan pengembangan kode
  • Gunakan alat yang menghasilkan dokumentasi dari kode
  • Tinjau dan perbarui dokumentasi secara berkala seiring evolusi sistem

Manfaat:

  • Memperbaiki pemeliharaan
  • Memudahkan adaptasi anggota tim baru
  • Mengurangi risiko hilangnya pengetahuan saat anggota tim keluar

Terakhir diperbarui:

FAQ

What's The Mythical Man-Month about?

  • Focus on Software Engineering: The book delves into the complexities and challenges of managing large software projects, highlighting the unique aspects of software engineering.
  • Essays and Insights: It is a collection of essays by Frederick P. Brooks Jr., based on his experiences with the IBM System/360 project.
  • Key Concepts: Introduces critical ideas like "Brooks's Law," which states that "adding manpower to a late software project makes it later."

Why should I read The Mythical Man-Month?

  • Timeless Relevance: Despite its 1975 publication, the insights remain pertinent as many software engineering challenges persist today.
  • Management Techniques: Offers valuable management strategies and philosophies to improve project outcomes and team dynamics.
  • Influential Work: Considered a classic in software engineering literature, it has shaped the thinking of generations of developers and managers.

What are the key takeaways of The Mythical Man-Month?

  • Importance of Planning: Effective planning and realistic scheduling are crucial for software project success.
  • Conceptual Integrity: Maintaining a unified vision and design is essential for a coherent software product.
  • Communication is Key: Clear communication among team members and stakeholders is vital to avoid misunderstandings.

What is Brooks's Law, and why is it significant?

  • Definition of Brooks's Law: States that "adding manpower to a late software project makes it later," highlighting inefficiencies in team expansion.
  • Communication Overhead: More people increase communication needs, leading to delays.
  • Focus on Quality: Emphasizes the need for skilled individuals over sheer numbers in team composition.

What does the term "Mythical Man-Month" mean?

  • Concept of Man-Month: Refers to the flawed assumption that human labor can be measured in interchangeable units like "man-months."
  • Misleading Metric: Highlights the misconception that more workers will proportionally decrease project time.
  • Effort vs. Progress: Argues that effort does not equate to progress, especially in complex projects.

What is the "Second-System Effect" mentioned in The Mythical Man-Month?

  • Definition of the Effect: Engineers tend to over-design their second system, adding unnecessary features and complexity.
  • Historical Context: Uses OS/360 as a case study, where excessive features led to inefficiency.
  • Advice for Engineers: Maintain simplicity and focus on essential features to avoid this pitfall.

How does The Mythical Man-Month address the challenges of team communication?

  • Communication Overhead: Adding more people increases communication needs, leading to inefficiencies.
  • Team Structure: Smaller teams are often more effective due to reduced communication complexity.
  • Documentation and Meetings: Proper documentation and regular meetings ensure alignment among team members.

What is the "surgical team" concept introduced in The Mythical Man-Month?

  • Definition of Surgical Team: A small, skilled group of programmers led by a "chief programmer" to maintain project integrity.
  • Focus on Conceptual Integrity: The chief programmer ensures the overall design and implementation.
  • Efficiency in Development: Aims to reduce communication overhead and increase efficiency through cohesive collaboration.

How does The Mythical Man-Month suggest handling schedule slippage?

  • Recognize Small Delays: Small delays can accumulate, so they should be addressed promptly.
  • Use of Milestones: Establish clear milestones to track progress and identify delays.
  • Communication with Stakeholders: Open communication about potential delays is crucial for managing expectations.

What does Brooks mean by "self-documenting programs"?

  • Definition of Self-Documenting Programs: Programs designed to be understandable without extensive external documentation.
  • Techniques for Self-Documentation: Use meaningful variable names, clear structure, and inline comments.
  • Benefits of Self-Documentation: Easier maintenance and modification, leading to better long-term software quality.

What are the best quotes from The Mythical Man-Month and what do they mean?

  • "Good cooking takes time.": Emphasizes the importance of allowing sufficient time for quality software development.
  • "Plan to throw one away.": Suggests that initial versions are often flawed and should be seen as prototypes.
  • "Conceptual integrity is the most important consideration in system design.": Advocates for a coherent vision in software design.

How does Brooks suggest improving software productivity?

  • Focus on Essential Tasks: Prioritize conceptual clarity and design integrity over mere implementation.
  • Incremental Development: Advocate for early user feedback and iterative refinement.
  • Effective Team Management: Well-structured teams with clear roles can significantly enhance productivity.

Ulasan

4.01 dari 5
Rata-rata dari 14k+ penilaian dari Goodreads dan Amazon.

The Mythical Man-Month adalah karya penting dalam manajemen rekayasa perangkat lunak yang tetap relevan meskipun telah diterbitkan puluhan tahun lalu. Para pembaca menghargai wawasan Brooks mengenai perencanaan proyek, struktur tim, serta tantangan dalam pengembangan perangkat lunak berskala besar. Banyak konsep, seperti Hukum Brooks dan pentingnya integritas konseptual, masih sangat berlaku hingga saat ini. Namun, beberapa pengulas mencatat adanya referensi teknologi yang sudah usang serta penggunaan bahasa yang bias gender. Nilai abadi dari buku ini terletak pada kebijaksanaan yang tak lekang oleh waktu mengenai faktor manusia dalam pengembangan perangkat lunak, menjadikannya bacaan wajib bagi para profesional di bidang tersebut.

Your rating:
4.48
108 penilaian

Tentang Penulis

Frederick Phillips Brooks Jr. adalah seorang ilmuwan komputer dan insinyur perangkat lunak asal Amerika Serikat yang dikenal luas karena perannya dalam mengelola pengembangan keluarga komputer IBM System/360 serta paket perangkat lunak OS/360. Kemudian, ia menjadi profesor di Universitas North Carolina di Chapel Hill, tempat ia mendirikan departemen ilmu komputer. Pengalaman Brooks selama bekerja di IBM menginspirasinya untuk menulis buku berjudul "The Mythical Man-Month," yang kemudian menjadi karya klasik dalam literatur rekayasa perangkat lunak. Karyanya memberikan pengaruh besar dalam bidang arsitektur komputer dan manajemen proyek perangkat lunak. Brooks telah menerima berbagai penghargaan atas kontribusinya, termasuk Penghargaan Turing pada tahun 1999. Pendekatannya dalam pengembangan perangkat lunak menekankan pentingnya kesederhanaan, integritas konseptual, serta pemahaman terhadap faktor manusia dalam rekayasa.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Personalized for you
Ratings: Rate books & see your ratings
100,000+ readers
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on May 13,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Loading...
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →