[{"data":1,"prerenderedAt":190},["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\u002F3-reasons-why-one-off-projects-become-your-dirty-little-secret":21,"surround-\u002F2013\u002F3-reasons-why-one-off-projects-become-your-dirty-little-secret":177,"i-lucide:arrow-left":186,"i-lucide:arrow-right":188},{"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":159,"comments":160,"date":161,"description":162,"excerpt":160,"extension":163,"image":160,"meta":164,"navigation":20,"path":165,"readingTime":166,"seo":167,"stem":168,"subtitle":160,"tags":169,"wordCount":175,"__hash__":176},"posts\u002F2013\u002F3-reasons-why-one-off-projects-become-your-dirty-little-secret.md","3 Reasons Why One-Off Projects Become Your Dirty Little Secret",{"type":25,"value":26,"toc":152},"minimark",[27,37,43,46,54,59,66,76,79,83,104,112,123,126,130,143,146,149],[28,29,30,31,36],"p",{},"I am not a fan of one-time projects that ",[32,33,35],"a",{"href":34},"http:\u002F\u002Fblog.toggl.com\u002F2013\u002F04\u002F3-main-reasons-why-work-in-a-tech-start-up-is-never-done","\"get done\" at some point",", most often a few months after the project contract is signed.",[38,39,40],"blockquote",{},[28,41,42],{},"Here's your software and thank you for doing business with us. Goodbye.",[28,44,45],{},"Granted, such is the demand of many companies who think they do not have the resources or need for a longer commitment, but the fact remains: software, be it your \"simple\" homepage or business-critical internal application, is not a one-off expense, it's a continuous investment.",[28,47,48,49,53],{},"Businesses who demand small, one-time budgets, get what they pay for... and although the result might satisfy the initial requirements, it lacks this little ",[50,51,52],"em",{},"something"," that really drives the developers and makes the users smile. As time passes, the project is quietly shuffled under the carpet. Here's why.",[55,56,58],"h2",{"id":57},"_1-the-bugs-wont-die","1. The Bugs Won't Die",[28,60,61,62,65],{},"There are bugs in the code, no matter how well you've tested it (you ",[50,63,64],{},"did"," test it, right?). The bugs range from annoying to especially nasty ones that could flush your days work. The user submits bug reports that...",[67,68,69,73],"ul",{},[70,71,72],"li",{},"a) get put into a long queue ",[70,74,75],{},"b) don't get sent to the original developer at all since the contract demands money to fix the bug",[28,77,78],{},"As time goes by, the more flexible party - the user - adjusts to the sub-optimal conditions to the point where the bugs become part of the workflow. Billy the intern might scratch his head at the complicated labyrinth of workarounds, but the veteran users know better.",[55,80,82],{"id":81},"_2-the-interface-looks-like-crap","2. The Interface Looks Like Crap",[28,84,85,86,90,91,90,95,90,99,103],{},"I really appreciate the way the Web has transformed, both technologically and aesthetically, over the past decade. Modern sites have done extensive usability testing and adjusted their interface to both look pleasing and be usable. Unless, of course, you didn't have the budget to hire any of those fancy-pancy, not-needed-here design \u002F UX people. Or re-hire them to overhaul and improve. There ",[32,87,89],{"href":88},"http:\u002F\u002Fwww.lasering.ee","are"," ",[32,92,94],{"href":93},"http:\u002F\u002Fwww.koopia.ee","sites",[32,96,98],{"href":97},"http:\u002F\u002Fportal.ok.ee","who",[32,100,102],{"href":101},"https:\u002F\u002Fwww.piletimaailm.com","could"," greatly benefit from this.",[28,105,106,107,111],{},"The design should be iterated constantly. Take a look on how ",[32,108,110],{"href":109},"http:\u002F\u002Feesti.ee","eesti.ee"," has changed in ten years.",[28,113,114,119],{},[115,116],"img",{"alt":117,"src":118},"2003","\u002Fcontent\u002F2013\u002F06\u002Feesti.ee-2003.png",[115,120],{"alt":121,"src":122},"2013","\u002Fcontent\u002F2013\u002F06\u002Feesti.ee-2013.png",[28,124,125],{},"Unusable interfaces cause frustration and drive the users away. Ugly interfaces look unprofessional and in the end, have the same effect.",[55,127,129],{"id":128},"_3-the-world-has-moved-on","3. The World Has Moved On",[28,131,132,133,137,138,142],{},"Inline CSS was cool - ten years ago. The ",[134,135,136],"code",{},"global"," keyword was used quite often - when people didn't know any better. Zip archives were the norm for deployment - when ",[32,139,141],{"href":140},"http:\u002F\u002Fjenkins-ci.org","Jenkins"," didn't exist.",[28,144,145],{},"The world of software development moves fast. People are talking and collaborating (at least in the open-source world) and finding new and better ways for doing things. The point - you can hardly leave something to the server to collect dust. Third party libraries need updating, the code needs refactoring and new technologies and platforms (smartphones, tablets, retina displays) need supporting.",[147,148],"hr",{},[28,150,151],{},"Your software project needs constant love and attention to grow into a viable, usable and revenue-generating application. Lack of funding or motivation can doom a project into a quiet death.",{"title":153,"searchDepth":154,"depth":154,"links":155},"",2,[156,157,158],{"id":57,"depth":154,"text":58},{"id":81,"depth":154,"text":82},{"id":128,"depth":154,"text":129},"Software Development",null,"2013-06-22","I am not a fan of one-time projects that \"get done\" at some point, most often a few months after the project contract is signed.","md",{},"\u002F2013\u002F3-reasons-why-one-off-projects-become-your-dirty-little-secret","about 2 minutes",{"title":23,"description":162},"2013\u002F3-reasons-why-one-off-projects-become-your-dirty-little-secret",[170,171,172,173,174],"project","development","essay","software","software lifecycle",508,"JywnNXj3E9R-LRx4XP6iJWdHvTvXlfyZn62zzVypO0s",[178,182],{"title":179,"path":180,"stem":181,"children":-1},"Teensy Moonica, The 8-Legged Gift for A Developer","\u002F2013\u002Fteensy-moonica-the-8-legged-gift-for-a-developer","2013\u002Fteensy-moonica-the-8-legged-gift-for-a-developer",{"title":183,"path":184,"stem":185,"children":-1},"On Compulsory Military Service I","\u002F2013\u002Fon-compulsory-military-service-i","2013\u002Fon-compulsory-military-service-i",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":187},"\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":189},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1790886934010]