Five Practical Tips for Replatforming and Sunsetting of a Legacy Application

Replatforming can be a huge and somewhat intimidating undertaking, but it doesn’t have to be. By using a realistic timeline, creating a thorough project blueprint, and having a bit of flexibility, you’ll be reaping the benefits of your new application before you know it. Here are five practical tips for your replatforming efforts:Have a planDon’t laugh… it may seem obvious, but far too often, I’ve seen teams jump into a replatforming effort, and completely skip the planning phase. (I’ve done it myself, if I’m being honest.) It’s easy to fall into this trap in order to try and save some time. However, if we were to step back from the “ease” of the situation and assess the “why” of our goals, we’d quickly identify the inefficiencies, existing struggles, bad ideas, and bad practices that all lead to extra development time, which is most likely why we’re contemplating a replatforming to begin with. When we approach the replatforming effort with this mindset, it becomes crystal clear that we don’t know everything that we need inside and outside of our replatforming effort. I begin every replatforming by answering several key questions: 1. Why are we doing this, and what problems are we trying to solve? (The real reasons, not the industry buzzword reasons.) 2. What are my goals and desired results? 3. How will success be measured? 4. How will this effort impact existing users? 5. How will this impact existing dev team(s)? 6. How will we respect the business and existing user needs during this process?In other words, I know I’ll still have to get bug fixes and hot items to production in the legacy stack while managing the efforts of replatforming. Once my questions are answered, I approach the problem the same way I approach a brand-new set of requirements. After all, this project is just like any other that I’ve done before. There’s a start, there’s a destination, and my number one job is to formulate a complete plan so I can give my team the exact directions they need to get to our destination, with no wrong turns, no detours, and no roadside emergency calls to AAA.Manage scope creepI really enjoy legacy replatforming efforts, because I’m usually armed with user insight that I wouldn’t have if I were developing a brand-new product. Odds are, I’ve received an earful from users, developers, and the client alike regarding the pain points of the existing application. Because of this, I tend to know exactly what I’m getting myself into.There’s a catch, though. Once the project begins, the requirements are locked in – solid – with zero exceptions. This is the second largest trap I’ve seen so many teams fall into over the years (the first being overall lack of planning). We get a quarter of the way through, someone points out a pain point we didn’t know about – often because of poor planning – and we take it upon ourselves to remedy this pain point during the replatforming effort. First of all, had we planned accordingly, we’d already know about this pain point, and it’d be accounted for. Secondly, by taking on this initiative mid-flight, I’d be willing to bet this month’s paycheck that this “easy fix” wasn’t planned properly and will take two, three, or even four times as long as expected. Anytime you hear a developer say, “oh, that’ll be easy – sure, no problem,” don’t listen. We all know that person. I’ve been that guy. More than once. I have the t-shirt, and the scars. They don’t know the effort yet, so don’t trust them when they say, “it’s easy.” You’ll be let down more often than not. Scope creep will kill a replatforming effort quicker than video killed the radio star. Because we’ve planned accordingly (hint, hint), we’ve locked our requirements in, we know the plan, and we’re going to protect the plan – and say no to new requirements – until we’re done. I make my developers and stakeholders all agree to this upfront, and I remind them of this agreement every step of the way. This replatforming effort is going to net us the architecture we need to respond more quickly to business demands and add new features quicker with lower effort; we can worry about all the “wish list” items when we’re done. Do it in phasesPart of the planning process should include a clear strategy on how we can release our new, shiny efforts into production as we complete them. This means breaking down the project into chunks, and addressing any architectural needs and concerns that will allow both the legacy app and new app to coexist.  You don’t want to replatform in isolation, waiting until we’re “completely done” to release it all in one big ceremony. By releasing updates continuously everyone stays engaged, especially key stakeholders.This won’t be an easy task, but we as engineers are creative problem solvers – we make the seemingly impossible possible. It’s a big ask, but I’ve never met a situation where my team and I weren't able to find a way to make it happen. I’ve made React live with Angular, .NET play with Java, Python feed Ruby on Rails – you get the point. Where there’s a will, there’s a way – it just requires creativity.Learn from past mistakesWe’ve all heard the quote “insanity is repeating the same mistakes and expecting different results.” One could argue that the exact same thing could be said about replatforming. Remember back in our planning where we identified the “why” – why is this needed, why are we doing this, why is what we have currently not working for us? We need to clearly identify the pain points of our existing application and use these discoveries as an opportunity to grow from our past mistakes. These pain points, of course, stem from poor decisions, poor architecture, deep coupling, poor naming conventions, and other bad practices that might have crept into our existing code base. I’ve found, if nothing else, past decisions tell me what not to do this time around. To be clear, I’m more focused on developer experience here. If there are any low hanging user experience pain points I can remedy without affecting my effort or deliverable, sure, why not. But, my main focus is, and will always be, developer experience as part of this process. If I can use the replatforming to improve developer experience, new features get developed quicker, bugs get resolved faster, more code gets to production, and my team has more fun along the way. By taking inventory of the existing pain points in areas such as our current architecture and infrastructure, I have a clear starting point of all the roads I definitely don’t want to travel down. Examining the “why” behind each point will help to guide my decision-making process moving forward to ensure we choose the right technologies and solutions to the problems at hand.Don’t rush itI often meet with stakeholders who are hesitant to invest in replatforming because they have a hard time seeing the value in redeveloping something that is currently making money and “works just fine”. After all, they don’t know what it’s like to work in the legacy application day to day – they’re not the engineers, but once the engineering side of the house finally persuades the business side of the house to give permission for the replatforming, the stakeholders often concede by saying, “fine, but you have until [too short of a timeline] to get it done.” The project is already sunk before it’s started. Corners will be cut and poor decisions will be made, not on purpose, but because there won’t be plans in place to manage the needs of the existing product while replatforming in tandem, and your development team will end up overworked, burned out, and software entropy will start creeping in.When planning your replatforming engagement, stakeholders and engineers alike should be realistic about the timeframe, and leave time for the unknowns, surprise production bugs, proper tooling up of new technologies, and life in general. The best way to protect any project is to keep your developers engaged, and give them enough time to set the company up for success. Only then will they be able to deliver a codebase that will support the company for years to come, engineered with continual growth in mind. NEED HELP REPLATFORMING? LET'S TALKAbout the author:Wes Dollar is a full-stack engineer with 21 years of experience in website & web-based software development. He has served as a business analyst & tech lead for clients ranging from startups to Fortune 500 companies. He has a passion for providing solutions to complex problems in a manner that is intuitive and easy for the end-user to use & understand. Most of his career has been spent on the open-stack side of the fence, where he has made many contributions to the Laravel (PHP) ecosystem. He is an HTML5/CSS3/JavaScript expert with strict compliance to W3C standards & 508 accessibility. He specializes in ecommerce & conversion rate optimization through UX design and also specializes in developing business systems, processes, and integrations.

Is Now the Time for Diversifying Your IT Outsourcing Portfolio?

COVID-19 and related actions have created huge disruptions not only to the economy, but also to the way in which IT services are delivered. Country-level lock downs have forced an almost universal work-from-home model upon the IT industry. Unfortunately, this de-facto standard creates the risk for huge service disruptions to companies around the world.Short term, companies across industries are scrambling to keep operations stable and prepare for the worst. Longer term this may have an impact on how companies here in the U.S. manage their IT outsourcing portfolio, perhaps opting for more in-house and in-country resources than what they've used over the last 10 years. COVID-19 has certainly provided a bit of a warning on the risk of putting all your eggs into one basket.Mitigating RiskYou can mitigate risks in a way a financial manager would – by diversifying.  Diversification has long been the rule for investment decisions, but many companies using outsourcing have tended to rely on a limited number of geographic regions and related IT providers. This is largely due to the availability of low-cost labor in these regions. In fact, more often the focus has been on the efficiency of the resource supply chain vs. its resiliency.So, what are the major considerations that companies should look at when re-evaluating their provider portfolio for diversification and risk mitigation? There is certainly a long list, but here are three key areas that rise to the top:Location RiskGiven the large amount of work that’s been shifted overseas, the term ‘outsourcing’ has almost become synonymous with ‘offshoring’. This is due to the availability of highly skilled, low cost labor in other countries outside of the U.S. With that lower labor cost comes areas of risk that need to be factored in for each location being considered:Infrastructure – this is more than just technology and communications infrastructure, which is critical.  It also includes healthcare infrastructure and local community infrastructure.  Weaknesses in any of these areas may inhibit performance, especially in times of crisis or natural disaster.Political/Economic stability – in recent years, there’s been an increase in terrorist activity, trade disputes and political tension around the globe. Locations should be evaluated for the potential risks in these areas. Security – depending on the country being considered, there can be differences in the rule of law that affects intellectual property protection, or the susceptibility of data breaches and loss.Agility and ResilienceThe COVID-19 pandemic has magnified the issue of needing to stay agile and operate with resilience.  Businesses should have an optimistic outlook, but be prepared for anything. In that vein, in addition to having the necessary technical skills and capabilities, providers need to show these characteristics:Contract flexibility – contracts by there nature are meant to protect mutual business interests, but that doesn’t mean they should be one-sided or ‘one size fits all’. The trend is toward shorter-term contracts, with flexible scope. Subscription or ‘as-a-service’ models – just as with software, the next framework for IT services is subscription based. This allows scaling up and down as the customer needs more volume, when the customer needs less volume, or when the customer has new needs.Business continuity and disaster recovery preparedness – it should go without saying that any provider, especially those with remote delivery capability, has a well-thought out and tested plan for business continuity and disaster recovery when something like COVID-19 happens again.Cost EffectivenessWith an economic downturn likely (hopefully a short one), cost containment will be even more critical.  Just as critical is the need to balance cost and risk. While labor is a major cost component for IT outsourcing, there are other hidden costs that need to be evaluated. Depending on the location of delivery, there can be significant costs associated with things like:Currency fluctuations Additional resources needed for offshore project management oversightVisa or travel restrictions and related resource availabilityTime delays due to time zone, language and cultureProviders need to be evaluated on not only hourly rates, but the other hidden costs or risk factors that may be inherent in their specific delivery models.Right now, and in the short term, companies need to do what’s necessary to ensure stable and profitable business operations. That means making whatever resource and process adjustments are needed, with minimum disruption. As the COVID-19 crisis begins to subside (which it will), it makes sense for companies to revisit their IT outsourcing strategy to better balance cost savings with risk mitigation. This means balancing the use of in-house employees, local contractors, on-shore delivery and offshore locations.Rural Sourcing is arguably the leader in onshore or domestic software development outsourcing.  This model strikes the right balance between cost savings and risk mitigation. With remote development centers exclusively located throughout the United States, Rural Sourcing leverages untapped, highly skilled technology talent in Middle America cities to provide world-class solutions to our clients. Our unique model eliminates the obstacles of time zones, distance, language and geopolitical risk.NEED HELP? LET'S TALK.About the AuthorAs Chief Client Officer for Rural Sourcing, Scott Monnig is responsible for one of our core values, ‘Change the Experience.’ He and his team are client-facing, colleague-centered and delivery-focused to ensure that our clients are delighted with our services. Scott works across our Sales, Sales Engineering and Delivery teams to ensure common practices and drive rigor that results in excellent outcomes.With 30+ years of hands-on technology leadership experience, Scott has led high-performing teams, technology groups, and business divisions through dozens of enterprise initiatives, systems development and digital innovation. He has also led organizational transformation initiatives with a recent focus around Agile, DevOps and Cloud transitions driven by rapidly growing digital demands across a number of industries and organizations.Scott is a graduate of the University of Missouri, where he earned a B.S. in Computer Science.

Cyberattacks Never Stop: Why Penetration Testing Should Always Be on Your Radar

Microsoft. Facebook. Capital One. These are just three out of the long list of corporate behemoths that have fallen victim to cyber security breaches in the last year alone. And now, with hackers actively targeting essential services providers, no one is truly safe. What can your organization do to avoid becoming a victim? The answer is simple: penetration testing.What is penetration testing?The National Cyber Security Center describes penetration testing as “A method for gaining assurance in the security of an IT system by attempting to breach some or all of that system’s security, using the same tools and techniques an adversary might.” A penetration test attempts to exploit any vulnerabilities in your system, and add context to what the risk is to your organization.There are five different types of penetration tests: white box (the hacker is provided with a small amount of information ahead of time regarding the security target), black box (also known as a blind test, where the hacker isn’t given any information ahead of time), internal (the hacker completes the test from within the organization’s network), external (the “attack” is carried out from a remote location to go up against the company’s external facing technology), and covert (a test where no one in the company knows that it’s happening). The types of tests your organization will need depends on the regulations you’re subject to, and the goals you have for the test.No matter what type of penetration testing your organization undertakes, below are my top five reasons why you need it sooner rather than later.1. To test the effectiveness of your security controlsPart of the process of establishing a formal information security program is using an industry recognized framework. The most popular frameworks are NIST 800-53, the NIST CSF, and the CIS Controls. As organizations adopt these controls and frameworks, it’s a good practice to have a penetration test performed to test effectiveness of the implemented controls.2. To test the effectiveness of your incident response teamA penetration test is a great way for organizations to test their incident response team’s ability to respond quickly and efficiently after a potential cyber emergency. This can be done by performing an unannounced penetration test to simulate an actual cyber incident, or by working with the team in what’s called a Purple Team engagement. Purple Team engagements involve the penetration testers working with the incident response team while walking through an actual attack to determine where improvements can be made.3. As part of a third-party attestation statement of your security programIn some cases, an organization will need to satisfy the requirements of a client or partner’s vendor management program. In cases like these, the partner or client may request proof that their network and systems are secure. A penetration test can be performed in order to provide that verification in what’s known as a third-party attestation statement.4. To ensure compliance with regulatory requirements and security frameworksCompanies subject to regulations such as PCI, GLBA HIPAA, and SOX are periodically audited to ensure they’re in compliance. In these situations, a third-party auditing firm will perform a penetration test based on the corresponding regulatory requirements. After the test is complete, a report is provided to the client, which may be requested by the regulatory governing body for review.5. To discover vulnerabilities in software or web applications that you’ve developed.Organizations that develop their own software or web applications should be performing penetration tests as part of the development process, and further down the road, too. This is especially true for web applications. Some organizations will have a penetration test performed when the application is first launched, but fail to test after further updates and configuration changes have been made. It's those subsequent updates and reconfigurations that often lead to a compromise of the application. If you’re using third party code, modules or plug-ins for a web application, you may not be making updates or configurations to your web application, but the providers of those third party solutions may be introducing vulnerabilities in their products that you’re completely unaware of. This is why regular penetration testing is so important for web applications.Penetration testing is one of the best ways to assess your company’s vulnerability to cyberattacks. By engaging in one of the five types of this crucial testing process, you’re able to protect your company from a potentially debilitating attack. The longer you wait to take this necessary precaution, the longer your system is susceptible. Contact us today to take the next step toward digital security.NEED HELP? LET'S TALK.About the Author:Joe Sullivan is a principal consultant at Rural Sourcing in Oklahoma City with over 20 years of experience in information security. He helps develop the company’s security consulting services and the teams that provide them. Over his career, Joe has worked in incident response, penetration testing, systems administration, network architecture, forensics, and is a private investigator specializing in computer crime investigations. Joe also teaches information security classes for the SANS Institute.

5 Cons of Offshoring

Offshoring and outsourcing are two popular business models that have grown in recent times as businesses look to reduce costs, streamline processes, reach organizational goals and reap the benefits of specialization.While there are benefits to offshoring, many organizations have learned that there are several cons, as well. If you're considering offshoring for your business, read on for everything you need to know.What's the Difference between Offshoring and Outsourcing?Before diving into the disadvantages of offshoring, it's important to understand the differences between offshoring and outsourcing. In recent years, these two terms have been used interchangeably because some of the aspects of each of these processes are present in the other.Outsourcing is a practice used by companies to transfer portions of work to outside suppliers rather than completing it internally. Companies may be motivated to outsource work for a variety of reasons. The most significant factors usually relate to cutting costs and reducing internal infrastructure.Outsourcing is an "umbrella" term, and while the process has been used for years in functions like accounting and legal, it has become wildly popular in software development and support.What is Offshoring?Offshoring happens when you relocate the work to a different country and is a form of outsourcing.What is an Example of Offshoring?An example of offshoring would be when a company from within the United States works with a company located in India or China for a specific project. So, offshoring is always outsourcing – but not all outsourcing is offshore. Make sense?In many cases, these companies look to take advantage of a much cheaper labor market. However, there are several hurdles and risks involved with offshoring. Some of the offshoring issues can be seen listed below.SEE OUR VALUE COMPARED TO OFFSHOREDisadvantages of Offshoring JobsTime Zone DifferencesOne of the biggest disadvantages of offshoring is the time zone differences. Many offshoring companies operate within a 5-12 hour difference from their client. Work schedules may need to be adjusted to accommodate time zone differences when working with offshore companies.Furthermore, unless your offshore partner commits to staffing late night shifts that work with your company's time zone, you may have to wait for responses from the offshore staff. These time differences can also lead to lengthy delays in project deadlines as both companies struggle to accommodate one another. Misaligned work schedules cause internal friction as the staff must tolerate unnatural working hours that do not provide the responsiveness and speed required in the digital economy.Communication and Language IssuesWhen working with a company from a different country, it is usually safe to assume that most people on your team speak English as a second language. When working with someone who natively speaks another language, this can make communication and collaboration a unique challenge even if they speak English with relative proficiency. For example, some accents are difficult to understand when speaking another language. So, even though a team can speak English very well (which is impressive in and of itself), that does not mean that communication will be as smooth as it is when communicating with someone who is a native speaker, another factor in a list of offshoring issues.Cultural and Social DifferencesEven if the language barrier can be overcome or minimized, an overseas team can have cultural and social practices that you will have to accommodate.For example, if you contract an agency from India, they can have up to sixteen public holidays a year depending on their regional location. Couple that with the United States' ten public holidays, and that is twenty-six days a year that rarely coincide. While members of the team might tolerate Christmas Day conference calls, it's more "Bah, Humbug" than "Happy Holidays." So, you must consider the impact of the fragmented calendar during the project and how it will affect your deadline.Work styles will also exhibit social differences. For example, it is considered acceptable and expected for a North American worker to be assertive and straight-forward. However, this is not always the case in other cultures which view the employer-employee relationship very differently. These cultural variations dilute the valuable input and feedback loops expected in Western business, creating an increased potential for offshoring issues to arise.The discrepancies in cultural and social practices can also lead to a lack of understanding of complex business problems. This in turn leads to business and personal misunderstandings and challenges that would not be the case when everyone on a team has a similar overall business dynamic.Disadvantages of Offshoring to IndiaCritics of offshoring note that the level of unemployment of the local economies in America increase. For example, if you outsource jobs to India, one of the disadvantages of offshoring to India is there is less opportunity and open positions for qualified Americans, which can hurt the national economy and livelihood of cities and towns across the country.By choosing a provider in the US, that creates more open positions for qualified local individuals and keeps more money circulating here as opposed to sending it overseas.ProximityThinking about visiting your offshoring partner? This could be difficult considering the distance, costs, and time spent traveling to an overseas location. If meeting with your partner and having any face time is essential to your company, offshoring may not be the right fit for your business' needs.Geopolitical UnrestThe unstable political climate in prominent outsourcing countries can cause increasing geopolitical risks for businesses. The Philippines, one of the world's most popular outsourcing locations, is frequently a victim of political unrest which seems to flare up without warning. This is true of many developing countries that are generally go-tos when looking to outsource work.Whether the issue is a government shutdown, military coup, riots over an election, or pressure involving drug cartels – all of these "far away" issues could quickly become much more real when your project or business is directly impacted because of the fallout.An Offshoring Alternative: Onshoring within the United StatesFortunately, there's no need to look overseas for quality software services. A simpler and more effective outsourcing alternative is onshoring. Onshoring is a business practice where companies source services from within their own country.Onshoring offers improved communication and increased productivity between both parties, while still working to reduce costs. It also eliminates the risks of compromised IP and data, geopolitical uncertainty, and contextual misalignment.For example, a company located in Los Angeles or New York City can reduce costs by contracting services from a company located in smaller cities in Middle America, where living costs and prices are much lower.The blend of finding quality talent at an affordable price point is quite advantageous for companies located within the United States. By working with a company located in the same country, both parties will benefit from more convenient time zones, faster and cheaper business travel, and easier collaboration.Rural Sourcing: The Nation's Leading Onshoring PartnerIf you’re looking for an onshore alternative for your organization's IT solutions, Rural Sourcing can help. As the leader in domestic sourcing, Rural Sourcing's innovative domestic model eliminates the obstacles of data security, IP protection, political concern, time zones, distance, language barriers, and more. We help keep jobs in the United States, and provide high-quality work at a fraction of the price of providers in major metro areas.With development centers strategically located throughout the United States, Rural Sourcing provides world-class solutions for organizations across various industries including pharmaceutical, healthcare, high-tech, insurance, and consumer & retail goods. Get in touch with us today to learn more about our capabilities, and to see how we can help your business outsource responsibly and economically without compromising quality.NEED HELP? LET'S TALK.

Rural Sourcing Colleagues Share Their Best Advice for Working Remotely

For many of us, working from home is the new normal, especially for those in the tech world. While some are pros at working remotely, others are still getting used to their new workspace complete with new seating arrangements, new “coworkers” and new distractions. That’s why Rural Sourcing colleagues put their heads together to assemble some advice for adjusting to a work from home lifestyle. Below are their top tips.Create a workable desk environmentSitting on the couch, in the recliner, or at the kitchen bar sounds appealing, but isn't a suitable long-term work area. When you work for long periods of time in/on furniture that isn't designed for that kind of use, it starts to take a physical toll on you. It also limits your ability to use accessories that you normally use at your work desk, such as multiple monitors and a separate keyboard and mouse. Even if you don’t have a home office, ensure that your makeshift one has accessibility to everything you need to be efficient.    Take periodic physical breaksWithout colleagues in the office to interact with, it’s tempting to just sit at your desk all day. However, this won’t do your body any favors. Go outside and walk the dog, or spend a few minutes drawing with sidewalk chalk with the kids. Everyone in your house (pets included) will benefit.Have a quiet place for customer callsAt this point, customers are generally aware that most people are working remotely (and chances are, they are too), but too many barking dogs or crying children become a real distraction for working calls. If it’s not possible to find a quiet space in your house, the “branch office” (aka your car) can work in a pinch.Stay connected, creativelyBeing physically distanced from your coworkers doesn’t mean you can’t keep up the same camaraderie you’ve always had. A few unique ways our colleagues have managed to stay connected are by going on virtual walks together, Zoom ‘happy hours’, and taking each other on video tours of their homes. When all else fails, unplugA 2019 study found that the biggest struggle people had with working remotely was being able to unplug. Long days are necessary sometimes, but working extra hours over an extended period of time will leave most people feeling burned out, and unable to do their best work. It’s important to know when to unplug at the end of the day. With so much uncertainty surrounding how long this “new normal” will last, make sure you’re looking out for your well-being in the long-term, not the short-term.Figuring out the best remote work environment for you (and your family) will probably take some time. However, by utilizing these tips, you’ll be able to stay productive and connected as everyone adjusts to life working from home.NEED HELP? LET'S TALK.

Three Reasons the U.S. is Built for Remote Success

We’re in what may be a ‘new normal’. COVID-19 has forced businesses around the globe, that are able, to adopt remote work policies for their employees. For many companies, this is uncharted territory.In the U.S. tech industry, remote work isn’t a stretch. Companies have been experimenting with the idea for quite some time with increasing levels of success. But to be successful in a remote working environment, there are certain critical infrastructure and cultural points that must be met. As a result, the U.S. geography is well positioned to succeed in a remote work environment.InfrastructureThe U.S. has great infrastructure. From reliable power grids to fast internet, and soon to be faster with 5G, we are leading in many areas that are critical for success in a modern work environment.Internet speeds and availability are two of the key points that demonstrate America’s strong position. According to data, U.S. broadband speeds are some of the fastest in the world. Beyond speed, there is nearly ubiquitous access to high-speed internet, which showcases an infrastructure that can handle the shifting workforce needs.In many popular offshore areas, data and development centers have dedicated broadband pipelines, but during a crisis when a center must close, there are limited options to maintain operations. Quite simply, there is not enough infrastructure to support a remote working environment at scale.The U.S. has the infrastructure to be successful, meet customer needs and innovate.Distribution of WorkforceIn the U.S. there is tech talent throughout the country. That means you can find technology professionals from the East to the West Coast and all the “flyover states” in between. Just look at Rural Sourcing. We have six software development centers in Middle America—outside of the traditional tech hubs.Our talent isn’t clustered in massive centers. We’ve found that having smaller centers, maxing out at 150 colleagues, is the ideal size to promote collaboration, innovation, and culture. We have talent spread out across the country, allowing us to provide a stable, high-quality, and committed workforce. That means less risk and better results.Smaller Learning CurveRemote work is nothing new for the U.S. A Gallup study finds that 43% of U.S. employees work remotely some or all of the time. Culturally, we have embraced the model for a number of years. Not at this scale, but the learning curve is small for a remote work culture.Beyond the volume of people already working remotely, numerous studies have shown that remote workers are more productive and profitable than in-house employees. The workforce is there and able to meet customer needs.Whether the remote work is a temporary or permanent fixture of our economic landscape, the onshore development model is well positioned to thrive. We are ready and able to get the job done—on time, on budget and in your backyard.NEED HELP? LET'S TALK.

Five Ways For an Easier Transition to AWS

While living in the Cloud has become the new normal for many companies, there are still plenty out there that have yet to make the move. It’s a huge effort for your development team, with a lot of room for error. That’s why I’ve assembled these five crucial steps to help you work through a successful AWS implementation. Even if you’re not involved in setting up the architecture, this guide will help you gain a much deeper understanding of AWS functions. Create a plan, but be willing to pivotFail to plan and you plan to fail, right? No successful AWS implementation happens without a solid plan in place, but remember that things do (and will) come up: third party dependency problems, requirements changes, even service outages. When you’re getting started, some important questions to ask include “what are the application’s goals?”, “what kind of traffic will it have?”, “how is the app going to be built?”, and “where will your team be located?”. Perform Infrastructure as Code to avoid the human error element that comes with doing things manually. And anticipate failure and have a procedure in place to respond, be it disaster recovery or remediation documentation.Make security a top priority These days, large corporate security breaches are pretty much guaranteed to make the news. So, keep your company happy (and off of CNN) by making sure your AWS implementation is secure. To start, use AWS Identity and Access Management (IAM) to create a security identity. If you don’t have one in place, it’s hard to get everyone on your team to do their part. And when everybody isn’t doing their part, gaps can get overlooked. You’ll also want to prepare for security events ahead of time. For example, if an unknown user or strange traffic pattern arises, do you want an automated or human response? Or both? The sooner you get your eyes on a security problem, the sooner you can get it solved and potentially lessen severity.Manage costs... ahead of timeKeeping your costs in check is an important part of the implementation process. Over provisioning of resources is all too common, as well as the unexpected costs in transferring data in and out of the Cloud. If your need for resources fluctuates throughout the year, a consumption model can help. By adopting this type of operating model, you utilize auto-scaling and only pay for the resources that are required. Just be careful, though. With the benefits of auto-scaling come a few drawbacks: if only the application scales up, the infrastructure that supports it could potentially become a bottleneck, and cause delays or timeouts; or if the database isn’t scaling at the same rate as the web application, this could cause connection issues while the read/write operations struggle to keep up.Ensure reliabilitySure, the AWS SLA is reliable, but what can happen in the procedures that take place between you and AWS? Network problems, power loss… you’ll want to test your recovery procedures in advance so you can automatically recover from any failures in the future. Another way to ensure reliability is to stop guessing capacity. I’ve heard time and time again from clients that “it’ll never be more than x amount,” and then sure enough, it ends up over the estimate. Now you’ve been impacted, whether that’s the extra amount of time spent, or a dollar amount lost. If you’re on a consumption model with auto-scaling, it just gets done.Optimize overall performanceRather than having your team learn how to host and run a new technology, that technology can be consumed as a service. For example, NoSQL databases, media transcoding, and machine learning require expertise that isn’t always available on every team. AWS has services that can be consumed while the team continues to focus on product development and business value, instead of trying to master something new. Another way to optimize site performance is by using serverless architectures: they’re easy to deploy, low cost, scalable, and allow for continuous improvement. Finally, be sure to use some “mechanical sympathy.” That means understand and deploy technology that best aligns with what you’re trying to achieve. For example, consider data access patterns when selecting database or storage approaches. You don’t want to choose completely opposing technologies for your stack.AWS implementation can be a big undertaking, but with the right team in place and a well-thought-out strategy, transitioning to the Cloud is easier than you think. Learn more about how Rural Sourcing has helped clients implement AWS for their organizations by visiting our Results page.LEARN MORE ABOUT OUR AWS CAPABILITIESAbout the AuthorBrian Carter is a senior consultant in Rural Sourcing’s Augusta Development Center. As a solutions architect, Brian has several years of experience designing and implementing engineering solutions for IaaS, SaaS, FaaS, and PaaS, primarily in Amazon Web Services, followed by projects in Microsoft Azure. He also has experience developing batch, web, and desktop applications utilizing Java and its ecosystem. Leveraging his time spent as a software engineer, Brian architects innovative solutions uniquely tailored to each project.

The Best Places to Work in Tech

Silicon Valley. New York City. San Francisco. Read any of the countless articles about where to find the best tech jobs, and it’s more than likely that cities like these will be at the very top. With endless entertainment, dining, and cultural opportunities, it’s no wonder that so many people choose to live in these areas. But with a large number of amenities, comes a big drawback: a very high cost of living. That’s why I’d like to make the case that our six development center communities have just as much to offer as their larger counterparts, at a much lower cost for our colleagues. Take a look at my list for the best places to work in tech.Jonesboro, ArkansasOur very first development center is located almost smack dab in the center of Middle America. Home to Arkansas State University, Jonesboro has housing that’s an enviable 26% lower than the national average. It’s also a city full of natural beauty, with Craighead Forest Park and Crowley’s Ridge Nature Center providing ample opportunities for exploring the great outdoors. Augusta, GeorgiaWhile most people know Augusta as the city of the Masters golf tournament, to us, it’s home to over 120 of our colleagues. Located on the Savannah River, the city has tons of history, and was even the state capital at one time. A recent exciting addition to Augusta’s economy is a number of film and TV productions taking place, thanks to the filming tax credits offered by the State of Georgia.Mobile, AlabamaSan Francisco and New York City aren’t the only tech hubs located on the ocean! You’ll find Mobile right on Alabama’s beautiful Gulf Coast. The city has a booming culinary scene, with Dauphin Street (Mobile’s answer to New Orleans’s Frenchman Street) and its many restaurants and bars. Looking for a family-friendly Mardi Gras experience? You’ll definitely want to visit Mobile during their annual celebration, which is the oldest in the U.S.Albuquerque, New MexicoHow does an average of 310 sunny days a year sound to you? In Albuquerque, great weather and lots of natural beauty make it a city you’ll want to get out and explore. Home to the Sandia Mountains, which offer breathtaking views and skiing opportunities, Albuquerque also has myriad art galleries, and hosts the country’s largest balloon festival.Oklahoma City, OklahomaOklahoma City has gone through an incredible transformation over the past 10 years, especially downtown, with additions including the Devon Energy Center, a 50-story office building; The Jones Assembly, a restaurant, bar and live music venue; and Scissortail Park, which hosts farmer’s markets, concerts, and is the home of the USRowing National High Performance Center, a U.S. Olympic and Paralympic Training Site. With a cost of living that’s 15% below the national average, OKC offers our employees a great value.  Fort Wayne, IndianaIn this city of over 250,000 people, endless entertainment options is just one of the reasons we decided to call Fort Wayne home to our newest development center. Lots of unique festivals, including the annual BuskerFest dedicated to street performers, and a thriving arts scene mean there’s no shortage of things for you and your family to do. In fact, named it the #1 place to raise a family in the United States.Beyond the many amenities offered by our development center cities, our one-of-a-kind culture provides opportunities for you to cultivate a rewarding career in tech. With challenging and exciting projects in a highly collaborative and supportive environment, Rural Sourcing is committed to creating high-quality jobs throughout Middle America.Looking for your next tech role in one of these fantastic cities? We’re hiring! Check out our careers page to learn more about what’s waiting for you at Rural Sourcing.

Considering Nearshoring? Why Not “Here Shoring?”

Nearshoring has grown over recent years. While companies in India used to be the preferred choice for outsourcing as they offered the lowest cost alternative, many organizations have shifted their investments to near shore organizations to address time zone challenges. Nearshoring is a type of offshoring that occurs when an organization decides to outsource work to companies that are geographically nearer, such as a U.S.-based company working with a firm in Central or South America.Although nearshoring does have its advantages, onshoring (aka “here shoring”) allows you to keep your investment, your team, and your security right here in the U.S. Keep reading to understand the difference between these two outsourcing models, and discover why “here shoring” may be the right one for your company.Pros and Cons of NearshoringBy far, the biggest benefit of nearshoring is that the organizations are physically closer, reducing time zone discrepancies. Fewer time zone differences allow teams to make faster decisions to stay on schedule and reduce delays. However, while nearshoring solves most time zone barriers, it doesn’t tackle the most difficult challenges that operating in an international context – usually with developing countries – presents. Different countries will have varying national holidays, languages, cultural differences, and business practices that can prove to be a challenge to efficient communications.It’s also important to consider any new laws and regulations you’ll need to adhere to when working with a company in another country. Frankly, nearshoring is illusory in its ability to solve the tough problems of delivering high-quality software, cost effectively, at the required speed with an acceptable amount of risk.Onshoring: A Cost-effective Alternative to NearshoringAlthough nearshoring allows two companies to be in more similar time zones, this doesn’t solve all problems with overseas outsourcing – just one of them. When you “here shore,” you cut down not only on time zone concerns, but also language and cultural barriers, as well as preserve the rules of U.S. law over IP and data security. You’ll also support jobs here in your own country, so you can feel good about the career opportunities your engagement will create. Besides that, wouldn’t you rather work with someone right here in the U.S.? Especially, if you can do it in a cost-effective way?Rural Sourcing: America’s Leader in Onshore “Here Shore” Software DevelopmentTo help companies lower their costs and create high-quality software, Rural Sourcing’s innovative onshore model allows you to benefit from talented, qualified IT teams living right here in mid-sized and small cities across the United States. By “here shoring” with us, you’ll eliminate time zone challenges, language barriers, cultural differences, and get U.S. business/industry knowledge to speed up deadlines and improve collaboration. To find out how “here shoring” can benefit your organization, get in touch with our team today.NEED HELP? LET'S TALK.

Changing the Client Experience

“Change the experience” is one of Rural Sourcing’s core values, and we’re constantly striving to do just that for our clients. From establishing our team-based account management process (TBAM) for optimal client communication, to our client-focused Innovation Framework, we know that when our clients succeed, we succeed. That’s why we recently doubled down on this crucial commitment. Scott Monnig, our former EVP of Professional Services, has been promoted to the newly created role of Chief Client Officer (CCO). Scott has proven his ability to navigate complex projects by building a foundation of trust with many of our largest clients. Scott’s organization helps us deliver with more intimacy and effective communication with our clients than can be provided by offshore or nearshore organizations.Creating a great client experience has always been at the forefront of everything we do. So how do we do it? We start by engaging our entire organization. Our colleagues are co-located in our development centers across Middle America, and by doing this, we’re not just a collection of individuals, but a true team. We bring thoughtful engagement, innovative thinking, and strong delivery; concepts that we’ve learned from 13 years as a pioneer in this space. To us, changing the experience for our clients isn’t just a turn of phrase, it’s a commitment to providing the best and brightest ideas from the best and brightest people.Scott Monnig, Chief Client OfficerIn today’s fast-moving tech world, our clients require a nimble, agile approach, coupled with the ability to be proactive and respond quickly. That’s why we rely on consistent and continuous collaboration with our clients and across our six development centers. This collaboration brings fresh ideas that not only move our clients’ business objectives forward, but also results in serious growth. In other words, we don’t just do what our clients ask us to do; we enact a proactive strategy from the beginning, so they feel supported, inspired, and ready to conquer their goals, knowing they’ve partnered with the right team.It’s because of our talented team that we’ve been experiencing serious growth at Rural Sourcing. Colleagues here, including Scott, care deeply about our clients, and work diligently to help them succeed. With the creation of his new role, I’m confident that Scott will continue to drive our value of changing the experience for our clients, and our colleagues.LEARN MORE ABOUT OUR TEAMS