{"id":6010,"date":"2013-05-07T08:45:07","date_gmt":"2013-05-07T13:45:07","guid":{"rendered":"http:\/\/www.mrc-productivity.com\/blog\/?p=6010"},"modified":"2022-11-22T10:54:55","modified_gmt":"2022-11-22T16:54:55","slug":"6-strategic-development-questions-that-many-overlook","status":"publish","type":"post","link":"https:\/\/www.mrc-productivity.com\/blog\/2013\/05\/6-strategic-development-questions-that-many-overlook\/","title":{"rendered":"6 strategic development questions that many overlook"},"content":{"rendered":"<p><a href=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2010\/11\/Education.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2010\/11\/Education.jpg\" alt=\"Education\" width=\"76\" height=\"100\" class=\"alignleft size-full wp-image-725\" \/><\/a>I\u2019ve noticed a lack of long-term, strategic thinking in the business application development world. Many businesses build applications for current needs, but ignore the future.<\/p>\n<p>It usually goes something like this: A manager says, \u201cI need an application that does X, Y, and Z. When can we have it?\u201d The developers rush through the project, deliver the application, and everyone\u2019s happy. <\/p>\n<p>Or, at least they\u2019re happy for a year or so. Then the business changes, technology advances, and new trends roll around. Now, the application must also support A, B, and C. But it can\u2019t. It wasn\u2019t built for change. It wasn\u2019t built for the future. <\/p>\n<p>Now what happens? They need new apps. All of the previous work is now wasted because they didn\u2019t build the initial app with the future in mind.<\/p>\n<p>That leads to the obvious question: \u201cHow do you build applications for the future?\u201d How do you build applications that adapt to change? <\/p>\n<p>The answer: It starts with asking the right questions from the get-go. Ask strategic, long-term questions before you build your applications. To give you an idea of what to ask, I\u2019ve come up with a short list of strategic questions to consider before building a business web application. While I\u2019m sure there are others, these are all key questions which will help you build applications that last:<a name=\"20130506\"><\/a><!--more--><\/p>\n<h3>1. How will this integrate with other applications and services?<\/h3>\n<p>Unfortunately, integration is often ignored if it\u2019s not an initial requirement for the project. After all, why design an application for integration with other services\/apps if nobody asks for it?<\/p>\n<p><strong>Here\u2019s why<\/strong>: A few years down the line, suppose the sales department implements a new CRM system, and wants it to integrate with the application. Or, suppose a new web service rolls out that would dramatically improve your application. That\u2019s when you start wishing you designed the application for integration. <\/p>\n<div style=\"width: 530px; padding: 10px; background-color: #e6f1f2; line-height: 20px;\"><strong>Key take-away<\/strong>: Even if you have no current integration plans, who knows what the future holds? Always build for future integration. How? I can\u2019t get into everything in this post, but here\u2019s one major tip: Avoid using proprietary languages and platforms. Instead, stick with open programming languages and tools built on open standards and frameworks.<\/div>\n<h3>2. Will this support new platforms and devices?<\/h3>\n<p>In an increasingly mobile world, you must now build applications that work across all platforms and devices. As if that\u2019s not difficult enough, you must also consider future devices and platforms as well. For instance, which mobile platform will be popular in three years? Who knows? But your applications must support them. <\/p>\n<p>Why? If you ignore mobile devices, you risk delivering a product that users won&#8217;t use&#8230;and wasting a bunch of time and money in the process. Here&#8217;s a brief story which illustrates this point nicely:<\/p>\n<blockquote><p>&#8220;Prior to OnSIP, I worked on a website redesign project, and developing a mobile solution was not a part of the plan,\u201d says Jason Salsiccia, Project Manager at <a href=\"http:\/\/www.onsip.com\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red;font-weight: bold\">OnSIP<\/span><\/a>. \u201cThe reason for this was budget and time constraints. When launch time came, almost all of the feedback we got was that the site was unusable. It presented a truly awful user experience on smart phones and tablets, which now more than ever are the devices from which most people experience the Internet. The question I should have asked was, &#8220;What is our mobile strategy? Is what we&#8217;re building useful if people need a large monitor to use it?&#8221; We chose to ignore the necessity of mobile devices to satisfy our constraints, but in the end we realized we didn&#8217;t have anything viable. Fixing the mistake cost even more time and money than it would have if we had a mobile strategy planned from the beginning.&#8221;<\/p><\/blockquote>\n<div style=\"width: 530px; padding: 10px; background-color: #e6f1f2; line-height: 20px;\"><strong>Key take-away<\/strong>: Don\u2019t build applications that only work on a single platform or OS. Instead, build for the web. After all, no one knows what the mobile OS landscape will look like in 3 years. No one knows what types of devices will exist. However, one thing is certain: The web will exist&#8230;which makes it the safest platform for application development.<\/div>\n<h3>3. Will this support multiple databases?<\/h3>\n<p>Here\u2019s a common mistake made by many companies: They build applications that only work with their current database. <\/p>\n<p>For instance, we see this quite a bit in the IBMi world. Companies turn to an IBMi-specific development tool, or use an IBMi-specific language for their applications. However, this only locks them to that platform. If they decide to support MySQL in the future, they need new applications.<\/p>\n<div style=\"width: 530px; padding: 10px; background-color: #e6f1f2; line-height: 20px;\"><strong>Key take-away<\/strong>: Develop applications that run on any database or platform. Sure, you might only run a single database right now, but who knows what the future holds? Build your applications with a tool and language that supports everything, not just your current database.<\/div>\n<h3>4. How will this be maintained?<\/h3>\n<p>Sure, there\u2019s always the temptation to cut corners during development just to speed up application delivery. Be careful&#8230;maintaining a poorly-designed application is both difficult and time-consuming.<\/p>\n<blockquote><p>\u201cIf a company invests their time and resources in building a database, they need to consider ease of future maintenance and development,\u201d says Randall Agee, Founder and CEO of <span style=\"color: red;font-weight: bold\">Allshore Global Resources<\/span>. \u201cIf not, the database could become obsolete in a matter of years. This not only costs the company more in the long-run, it can disrupt business depending on how heavily they relied upon this program.\u201d<\/p><\/blockquote>\n<div style=\"width: 530px; padding: 10px; background-color: #e6f1f2; line-height: 20px;\"><strong>Key take-away<\/strong>: When building web applications, consider long-term cost\/effort over the short term. Building it right the first time may take a little longer up front, but will save countless hours in future maintenance.<\/div>\n<h3>5. Will this scale to a billion users?<\/h3>\n<p>I know&#8230;most applications will never have a billion users. Most will never have a million users. My point is this: What if you\u2019re wildly successful? What if your company grows faster than anyone thought? Will your applications grow with you, or will you need new applications?<\/p>\n<div style=\"width: 530px; padding: 10px; background-color: #e6f1f2; line-height: 20px;\"><strong>Key take-away<\/strong>: Don\u2019t bet against yourself with your applications. Don\u2019t build applications that only support your current users. Build applications that will grow with your company.<\/div>\n<h3>6. What if we move to the cloud?<\/h3>\n<p>Maybe your company hosts your own applications in-house. Maybe you think that will never change. Never say never. Who knows&#8230;in 3 years, maybe a new manager will come in and decide that everything must move to the cloud. When\/if that happens, do you really want to re-create all of your applications?<\/p>\n<div style=\"width: 530px; padding: 10px; background-color: #e6f1f2; line-height: 20px;\"><strong>Key take-away<\/strong>: You don\u2019t know what the future holds. Build applications that port anywhere. How? It all comes down to <a href=\"https:\/\/www.mrc-productivity.com\/blog\/2013\/03\/application-architecture-ignore-at-your-own-risk\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red;font-weight: bold\">architecture<\/span><\/a>. What makes good architecture? While many options exist, we prefer Java and its n-Tier architecture. It provides a portable foundation that will move anywhere&#8211;in-house or on the cloud.<\/div>\n<h3>Wrap up<\/h3>\n<p>If I could sum this whole article into one key point, it\u2019s this: You don\u2019t know what the future holds. Don\u2019t build applications to simply meet current needs. Build applications that not only serve your present needs, but prepare you for future needs as well. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve noticed a lack of long-term, strategic thinking in the business application development world. Many businesses build applications for current needs, but ignore the future. It usually goes something like this: A manager says, \u201cI need an application that does X, Y, and Z. When can we have it?\u201d The developers rush through the project, &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.mrc-productivity.com\/blog\/2013\/05\/6-strategic-development-questions-that-many-overlook\/\"> <span class=\"screen-reader-text\">6 strategic development questions that many overlook<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","slim_seo":{"title":"6 strategic development questions that many overlook - mrc&#039;s Cup of Joe Blog","description":"I\u2019ve noticed a lack of long-term, strategic thinking in the business application development world. Many businesses build applications for current needs, but ig"},"footnotes":""},"categories":[8],"tags":[13,88,15],"class_list":["post-6010","post","type-post","status-publish","format-standard","hentry","category-education","tag-application-development","tag-strat","tag-web-development"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/6010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/comments?post=6010"}],"version-history":[{"count":26,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/6010\/revisions"}],"predecessor-version":[{"id":13803,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/6010\/revisions\/13803"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/media?parent=6010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/categories?post=6010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/tags?post=6010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}