{"id":555,"date":"2026-04-15T15:19:08","date_gmt":"2026-04-15T07:19:08","guid":{"rendered":"https:\/\/five.co\/?p=555"},"modified":"2026-04-15T15:19:26","modified_gmt":"2026-04-15T07:19:26","slug":"5-lessons-on-software-development-the-mythical-man-month","status":"publish","type":"post","link":"https:\/\/preview-php85.dzine.org\/five\/blog\/5-lessons-on-software-development-the-mythical-man-month\/","title":{"rendered":"The Mythical Man Month: 5 Lessons About Software Development"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">The Mythical Man Month: 5 Lessons For (Aspiring) Software Developers and Vibe Coders<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u201cAll programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers.\u201d\u200a<\/em>\u2014\u200aFrederick P. Brooks (The Mythical Man Month)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img width=\"1080\" height=\"1080\" src=\"https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/Five.Co-All-Programmers-are-Optimists.png\" alt=\"Five.Co - The Mythical Man Month - All Programmers are Optimists\" class=\"wp-image-902\" style=\"object-fit:cover;width:300px;height:300px\"\/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">The Mythical Man-Month by Fredrick P. Brooks was first published in 1975. It is probably the most widely read book about software development worldwide. And though much time has passed since its first publication, the fundamental issues that it tackles are still very much the same today as they were back then: <strong>a lot of programming projects suffer from management and process problems<\/strong>. To manage these problems, many decision-makers have turned to Brooks&#8217; book to get advice on how to manage software development projects more efficiently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The opinions that Fred Brooks offers have informed the decisions in software project management for several decades now, making the book worth a read even nowadays. But for those strapped for time, here is a TL;DR: <strong>The Mythical Man-Month: 5 Lessons About Software Development &#8211; which lessons does the book hold for (aspiring) software engineers and vibe-coders today?<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">2026 Update: The Mythical Man-Month and Vibe Coding<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vibe coding has fundamentally changed what it means to create software: writing code is faster and cheaper than ever. However, as Brooks&#8217; argues in his book, writing and releasing software is more than just generating lines of code. It is a structured process that goes from <strong>idea <\/strong>to <strong>analysis <\/strong>to <strong>requirements <\/strong>to <strong>code <\/strong>to <strong>documentation<\/strong>, and ultimately, to <strong>releasing the software to users. <\/strong>We believe that vibe coding makes Brooks&#8217; insights even more relevant, as the controlled release of software in a structured process is essential to bringing vibe-coded projects into production safely.  <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\n\n\n<div class=\"wp-block-image wp-image-556 size-medium\">\n<figure class=\"aligncenter\"><img width=\"207\" height=\"300\" src=\"https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/The-Mythical-Man-Month-207x300.jpg\" alt=\"The Mythical Man-Month: Lessons for Software Engineering\" class=\"wp-image-556\" srcset=\"https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/The-Mythical-Man-Month-207x300.jpg 207w, https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/The-Mythical-Man-Month.jpg 344w\" sizes=\"(max-width: 207px) 100vw, 207px\" \/><figcaption class=\"wp-element-caption\"><span style=\"font-size: 8pt;\">The cover of &#8220;The Mythical Man-Month&#8221;, written by Frederick P. Brooks<\/span><\/figcaption><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Lesson 1: Software development is fun (mostly).<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s start on a positive note about software development. Though Brooks presents many thought-provoking opinions, his basic assertion is simple: software development is fun.\u00a0According to Brooks: it\u2019s the \u201c<em>sheer joy of making things<\/em>\u201d and \u201c<em>of always learning<\/em>\u201d. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the same time, there are also downsides to writing software. According to Brooks, the \u201c<em>woes of the craft<\/em>\u201d are that \u201c<em>one must perform perfectly<\/em>\u201d, fulfilling requirements set by other people. And of course, everyone dreads finding and fixing bugs. Using Brook\u2019s words: \u201c<em>with any creative activity [i.e. software engineering] come dreary hours of tedious, painstaking labor [i.e. fixing bugs], and programming is no exception\u201d.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Lesson 2: Software development takes time. But time is limited.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">One of the most important lessons from Brooks book is in regard to time. Especially large programming projects suffer from time overruns. This creates the obvious problem of having unhappy project stakeholders. But more than that, it creates another bigger problem: what if the software that is being built is already obsolete by the time it gets completed?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Brooks says that the greatest woe of software engineering is that \u201c<em>the product over which one has labored so long appears obsolete upon (or before) completion<\/em>.\u201d Developing software is one thing. Developing good software quickly is something else entirely.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Lesson 3: Brooks&#8217; Law: &#8220;Adding manpower to a late software project makes it later&#8221;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Arguably the most famous statement in the entire book is Brooks&#8217; Law. It says that adding manpower to a late project makes it even later. Put differently: certain things just take time. As Brooks says: <em>\u201cthe bearing of a child takes nine months, no matter how many women are assigned to it.\u201d<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">According to Brooks, writing software in teams requires communication. And the larger the team, the larger the burden of communication. That\u2019s why a project that takes 6 months for 1 developer does not translate into a project that takes 3 months for 2 developers, or 1 month for 6 developers. The relationship between project duration and manpower is non-linear.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Brooks&#8217; uses many helpful charts inside his book to illustrate this point. This is what Brooks&#8217; law looks like visually inside the Mythical Man Month. The message is simple: as the number of workers increases on the X-axis, additional time savings flatten out on the Y-axis (taken from The Mythical Man Month).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img width=\"300\" height=\"243\" src=\"https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/Brooks-Law-300x243.png\" alt=\"Brooks Law On Software Engineering\" class=\"wp-image-557\" srcset=\"https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/Brooks-Law-300x243.png 300w, https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/Brooks-Law.png 492w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">The result is that adding manpower is not a good solution for getting delayed projects back on track. Just the opposite: there&#8217;s a high chance that adding additional manpower will make the project even later.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Lesson 4: Design systems for ease of use. And document them well.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">According to Brooks, product architects have primarily two jobs: First, \u201c<em>the architect of a system, like the architect of the building, <strong>is the user\u2019s agent<\/strong>. It is his job to bring professional and technical knowledge to bear in the unalloyed interest of the user<\/em>.\u201d And secondly, the written specification of a product \u201c<em>describes and prescribes every detail of what the user sees. As such,<strong> it is the chief product of the architect<\/strong><\/em>\u201d. Good software is well-documented software, developed <em>and <\/em>documented from the vantage point of the end-user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What does poorly documented software mean? Poorly documented software is software that comes with outdated, incomplete or misleading documentation. And it is as much a problem today as it was at the time when Brooks wrote the Mythical Man Month. The reasons for this are manyfold: few developers enjoy documentation, or have the skills to document the software they have written properly. Or features are being built faster than the documentation team manages to document them (a problem that vibe-coding, or AI-assisted development, only exacerbates). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Whatever the reason: good software means well-documented software.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Lesson 5: Build great software by getting your requirements and tables right.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">According to Brooks, <em>\u201cthe hardest single part of building a software system is deciding precisely what to build\u201d. <\/em>And that\u2019s a decision to take <em>before<\/em> you start building:<em> \u201cNo other part of the <strong>conceptual work<\/strong> is so difficult as establishing the detailed technical requirements\u201d<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once requirements have been gathered (and are set in stone), it\u2019s time to code. And here, according to Brooks, getting your database right is critical.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">According to Brooks \u201c<em>the heart of a program<\/em>\u201d lies in its \u201c<em>representation of the data or the tables<\/em>\u201d. He says that: \u201c<em>Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won\u2019t usually need your flowcharts; they\u2019ll be obvious.<\/em>\u201d Put differently: get your Entity-Relationship Diagram right&nbsp;<em>before&nbsp;<\/em>writing any code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The lesson here is to fail fast, fail cheap&nbsp;<em>and&nbsp;<\/em>fail early. If you do get something wrong, get it wrong conceptually when the cost of fixing the problem is still low.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drawing on another book on software engineering, \u201cSoftware Engineering At Google\u201d, curated by <a href=\"https:\/\/medium.com\/u\/604429499c18\" data-href=\"https:\/\/medium.com\/u\/604429499c18\" data-anchor-type=\"2\" data-user-id=\"604429499c18\" data-action-value=\"604429499c18\" data-action=\"show-user-card\" data-action-type=\"hover\" data- rel=\"nofollow noopener\" target=\"_blank\">Titus Winters<\/a>, the cost of rectifying mistakes increases dramatically, the later you are in your development:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\n\n\n<div class=\"wp-block-image wp-image-558\">\n<figure class=\"aligncenter\"><img width=\"300\" height=\"143\" src=\"https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/Software-Engineering-Defect-Cost-300x143.png\" alt=\"Software Engineering - Defect Cost\" class=\"wp-image-558\" srcset=\"https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/Software-Engineering-Defect-Cost-300x143.png 300w, https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/Software-Engineering-Defect-Cost-768x365.png 768w, https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/08\/Software-Engineering-Defect-Cost.png 875w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><figcaption class=\"wp-element-caption\"><span style=\"font-size: 8pt;\">The cost of rectifying defects rises dramatically the more advanced a project is. (Taken from Software Engineering At Google\u200a\u2014\u200aLessons Learned from Programming Over\u00a0Time).<\/span><\/figcaption><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">In the Mythical Man Month, Brooks makes a similar point by highlighting the importance of the conceptual work in a software development project.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Writing Good Software. And Writing It&nbsp;Well.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Writing good software is more than producing code.<\/strong> And though more than 50 years have passed since it was first published, the Mythical Man Month still holds many valuable lessons on how to successfully manage software development projects. Written in short essays, it\u2019s a relatively easy read (some of which can be skipped in my opinion, as not every chapter is still applicable to today&#8217;s software development projects).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, if you\u2019re tired of looking at your IDE, why not give it a read? \ud83d\udcd6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a free pdf download, visit the <a href=\"https:\/\/web.eecs.umich.edu\/~weimerw\/2018-481\/readings\/mythical-man-month.pdf\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">University of Michigan\u2019s website here.<\/a> For a free download of \u201cSoftware Engineering at Google\u201d, another excellent resource, visit <a href=\"https:\/\/abseil.io\/resources\/swe-book\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">abseil \/ Software Engineering at Google<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Mythical Man Month: 5 Lessons For (Aspiring) Software Developers and Vibe Coders \u201cAll programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers.\u201d\u200a\u2014\u200aFrederick P. Brooks (The Mythical Man Month) The Mythical Man-Month by Fredrick P. Brooks was first published in 1975. It is probably the most [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":560,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_uag_custom_page_level_css":"","footnotes":""},"categories":[21],"tags":[],"class_list":["post-555","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/blog10@2x.png",2560,800,false],"thumbnail":["https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/blog10@2x-150x150.png",150,150,true],"medium":["https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/blog10@2x-300x94.png",300,94,true],"medium_large":["https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/blog10@2x-768x240.png",768,240,true],"large":["https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/blog10@2x-1024x320.png",1024,320,true],"1536x1536":["https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/blog10@2x-1536x480.png",1536,480,true],"2048x2048":["https:\/\/preview-php85.dzine.org\/five\/wp-content\/uploads\/2022\/09\/blog10@2x-2048x640.png",2048,640,true]},"uagb_author_info":{"display_name":"Dominik Keller","author_link":"https:\/\/preview-php85.dzine.org\/five\/author\/f1v5_ed3_my\/"},"uagb_comment_info":0,"uagb_excerpt":"The Mythical Man Month: 5 Lessons For (Aspiring) Software Developers and Vibe Coders \u201cAll programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers.\u201d\u200a\u2014\u200aFrederick P. Brooks (The Mythical Man Month) The Mythical Man-Month by Fredrick P. Brooks was first published in 1975. It is probably the most&hellip;","_links":{"self":[{"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/posts\/555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/comments?post=555"}],"version-history":[{"count":2,"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/posts\/555\/revisions"}],"predecessor-version":[{"id":17597,"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/posts\/555\/revisions\/17597"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/media\/560"}],"wp:attachment":[{"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/media?parent=555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/categories?post=555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/preview-php85.dzine.org\/five\/wp-json\/wp\/v2\/tags?post=555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}