[{"data":1,"prerenderedAt":123},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:arrow-up-right":8,"i-lucide:moon":10,"i-lucide:sun":12,"i-lucide:rss":14,"i-simple-icons:github":16,"i-simple-icons:linkedin":18,"post-\u002F2013\u002Fcontinuous-development-is-better-than-chunks-that-never-happen":21,"surround-\u002F2013\u002Fcontinuous-development-is-better-than-chunks-that-never-happen":110,"i-lucide:arrow-left":119,"i-lucide:arrow-right":121},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19,"hidden":20},"\u003Cpath fill=\"currentColor\" d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z\"\u002F>",true,{"id":22,"title":23,"body":24,"category":93,"comments":94,"date":95,"description":30,"excerpt":94,"extension":96,"image":94,"meta":97,"navigation":20,"path":98,"readingTime":99,"seo":100,"stem":101,"subtitle":94,"tags":102,"wordCount":108,"__hash__":109},"posts\u002F2013\u002Fcontinuous-development-is-better-than-chunks-that-never-happen.md","Continuous Development Is Better Than Chunks That Never Happen",{"type":25,"value":26,"toc":89},"minimark",[27,31,34,37,40,51,54,57,60,83,86],[28,29,30],"p",{},"I wanted to take a moment to rant about the way we develop (web application) projects.",[28,32,33],{},"Suppose you work in a small software development company with several clients, where the workflow looks something like this:",[28,35,36],{},"New Project -> Develop Project -> Deploy Project -> New Project",[28,38,39],{},"Makes sense? Construction of houses - yes. Software development - not so much.",[28,41,42,43,50],{},"The above process doesn't have a working maintenance and development phase. Sure, you fix the occasional bug or two, but that's not enough. Technology changes frighteningly fast. We didn't have ",[44,45,49],"a",{"href":46,"rel":47},"https:\u002F\u002Fgetbootstrap.com\u002F2.3.2\u002F",[48],"nofollow","Twitter Bootstrap"," two years ago, yet by now it has conquered the web. Projects with any kind of vision should be continuously developed, refactored, upgraded and tinkered with. New technology (where appropriate) should replace the old, more features could be added to improve the system. Instead, we just drop the code in production and leave it in cryogenics for years - and when the inevitable time comes to upgrade your PHP to version 5 the ship has sailed - it's cheaper to rebuild the project from scratch.",[28,52,53],{},"Why do we not exercise our projects after the initial development? The reason, of course, is money - or lack thereof. Smart, tech-savy customers realize the need to keep up with technological advances, the benefit of improving the existing system and are willing to pay. Unfortunately for the development company, money is money... and sometimes, more often than not, you'll have to deal with people who just don't see it that way.",[28,55,56],{},"To be fair - not every project needs constant tinkering. I'm speaking mainly about information system with a large degree of visibility and constantly changing business environment.",[28,58,59],{},"I'd like to say that this is a purely business problem and the reason we have the sales department. Sadly, no. In my opinion, the problem boils down to...",[61,62,63,67,70,73],"ul",{},[64,65,66],"li",{},"Culture - nationality and the state of software development in the area",[64,68,69],{},"The developers not being able to \"dumb it down\", speak the users language and\u002For \"sell it\" to the management",[64,71,72],{},"Not being able to produce examples from the real world",[64,74,75,76,82],{},"\"Old fashioned\" clients who want to pay a fixed amount for their sandwich and ",[77,78,81],"span",{"style":79,"dataMceMark":80},"text-decoration: underline;","1","no more"," - waterfall vs agile",[28,84,85],{},"Overcoming those obstacles is a team effort and needs the support of everyone involved, including the client - who should be educated by the team as to why it's actually more cost-saving \u002F efficient \u002F easier to work in incremental steps and spread the cost over time.",[28,87,88],{},"Many of the projects I've worked with deserve additional development - be it more features or improving the existing parts that were overlooked during initial development: efficiency, code smells and ease of use. When you're on the open market it's often the non-functional requirements that determine who gets paid.",{"title":90,"searchDepth":91,"depth":91,"links":92},"",2,[],"Software Development",null,"2013-01-20","md",{},"\u002F2013\u002Fcontinuous-development-is-better-than-chunks-that-never-happen","about 2 minutes",{"title":23,"description":30},"2013\u002Fcontinuous-development-is-better-than-chunks-that-never-happen",[103,104,105,106,107],"development","work","customer","business","money",466,"_4hE8q-yw4odrLX5avfVMzEjj8sRK1O-23xgGdJG6zI",[111,115],{"title":112,"path":113,"stem":114,"children":-1},"Give Meaningful Gifts","\u002F2012\u002Fgive-meaningful-gifts","2012\u002Fgive-meaningful-gifts",{"title":116,"path":117,"stem":118,"children":-1},"On Befriending Acquaintances","\u002F2013\u002Fon-befriending-acquaintances","2013\u002Fon-befriending-acquaintances",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":120},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":122},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1790886934124]