Event Website Maintenance Plan | Event Intelligence

At Buink, we recently completed an extensive event website maintenance project for our client, Connexia, utilizing our expertise in Laravel and Vue technologies. Our focus was on maintaining the functionality, reliability, and performance of the Event Intelligence App. Here’s a glimpse into the work we accomplished:

Key Activities:

  1. Release Management: Our team efficiently handled multiple release cycles, which involved closing releases, testing code on production, and ensuring smooth deployment. This process was critical in maintaining the app’s stability and introducing new features without disrupting the user experience.
  2. Site Speed Optimization: Recognizing the importance of performance, we conducted a thorough review of the site’s speed, implementing optimizations to enhance the overall user experience.
  3. Bug Fixes and Code Reviews: A significant portion of our time was dedicated to identifying and resolving various bugs, such as font-awesome compiler issues, invalid sentry variables, and login-related problems.
  4. Quality Assurance and Review: Our team conducted detailed reviews on QA environments to ensure that each release and bug fix met our high standards for quality and functionality.

Highlights:

  • Efficient Time Management: Our detailed time tracking for each task highlights our commitment to efficiency and transparency. We spent most of our time on the main project, with additional time allocated to specific releases, bug fixes, and optimizations.
  • Technical Proficiency: The project showcased our technical proficiency in Laravel and Vue, enabling us to handle complex challenges and deliver high-quality solutions.
  • Client-Centric Approach: Our focus on support plan management and regular reviews reflects our client-centric approach, ensuring that each aspect of the project aligned with the client’s goals and expectations.

Conclusion:

This project exemplifies Buink’s dedication to delivering exceptional event website maintenance services. Our blend of technical expertise, efficient project management, and a client-focused approach ensures that we not only meet but exceed our clients’ expectations.

Website Maintenance | Herc-u-lift

Recent Project Showcase: Web Development and Security Enhancement

Project Overview: Over the past several months, we have been deeply involved in the ongoing support, website maintenance, and security enhancement of a web application for Herc-u-lift. This project included a series of critical tasks aimed at improving the app’s security and maintenance.

Key Responsibilities and Achievements:

  1. Regular Builds and Updates: Conducted multiple reviews of the app build and fixed issues with the build along the way. This keeps the codebase fresh and ready for work if the need every arises to implement a fix or new features.
  2. Comprehensive Security Audits: We conducted an extensive security audit encompassing:
    • Examination of server logs.
    • Ensuring the implementation security best practices.
    • Review and update of third-party packages for security enhancements.
    • Analysis of database tables for sensitive data handling and encryption.
    • Inspection of application routes, controllers, and logic for any security oversights, particularly in authentication and authorization processes.
    • Verification of SSL certificate setups and database connections for optimal security.
    • Review application code for security issues.
    • Creation of detailed documentation for deliverables.
  3. Code and Repository Management: Focused on maintaining clean and secure code repositories. This included ensuring no sensitive is exposed in the codebase.
  4. Server and Database Security: Conducted a review for any issues.
  5. Ongoing Maintenance and Planning: Regularly cleaned up pending tasks and prepared cards for future services, demonstrating a proactive approach to website maintenance.

Impact and Client Satisfaction: The Herc-U-Lift app has significantly benefited from these efforts, showcasing enhanced performance, tighter security, and a more streamlined user experience. Client feedback has been positive.

Website Maintenance, Security, & Support | Otto

We’ve worked with Otto for many years and we continue to maintain, support, and add new features to both their web and IOS app.

Many entrepreneurs underestimate the amount of support and maintenance that web and mobile apps need. One of the most costly items needing maintenance is integrating with third party data providers. This is why you should always involve your developers in third-party decisions.

Otto did consult with us about Finicity and we’ve been very happy with their service but because it services the financial industry they’re constantly updating to the latest technology. As Finicity upgrades their api, our integration needs to be upgraded as well. To minimize the affects of third parties on our codebase, we build in a forward-thinking way to make it easier for future developers to make these updates.

We also added several new features to allow users to share their budgeting data with their financial coaches. These new features allow Otto to focus their marketing efforts on financial coaches rather than the end user. Delivering code solutions that drive business goals is what sets us apart from other providers that just do what they’re asked and don’t proactively try to understand how the code connects to the strategy.

Given that this app deals with financial data and integrates with banks all over the world, we have to stay consistently focused on security. Luckily, our client is proactive about weeding out fraud and abuse. Maybe even too proactive (if that is even possible). They asked us to make some changes that would be good to have, but that made us hesitant because there were other more important security features that we’d have to table. We pushed the team to take a step back and create a priority list of security features that would be more affordable and also more effective. This resulted in some easy changes that continue to help us catch and eliminate fraud attempts.

Lastly, we continue to fix small bugs found in the system. It is impossible to list all the ways bugs get into a system: sometimes bugs were introduced by the original logic specifications, sometimes when new features are specified without fully taking into account the entire system, sometimes they’re because the original code incorrectly passed the quality assurance tests, sometimes because of miscommunication, and sometimes just because of human error. But, regardless of how they’re introduced, we’re able to get them resolved quickly and effectively. Luckily, most bugs are small and affect very few, if any, users.

WordPress Website Design & Development | ClearGPS

We built a new website for an existing client. They launched a new product for Heavy Equipment Fleet Management Software and they wanted to get started on the right foot.

We started with the copy and tasked one of our skilled copywriters to capture the essence of the product offering. We wanted a good balance between sales copy, search engine copy, and general information.

The copy laid the foundation for the design. We worked closely with the client to capture a look and feel that would be professional, functional, and effective. After a couple iterations we moved on to the other pages. One thing you’ll notice in the design is how we attempted to tell the story of how the device can benefit heavy equipment.

We wanted to launch as quickly as possible and started developing before the entire design was done. Overlapping design and development have some tradeoffs but if speed is a priority, then I highly recommend that strategy.

The development stage went as planned. We engaged a very skilled developer that was a little new to WordPress. We got the benefit of his great experience in PHP and front-end development but we had to help him get up to speed on strategies we can leverage in WordPress. Although it took him a little longer than if we’d engaged a WordPress expert, the entire project came in under budget because we saved a lot in the design phase.

One highlight of our development is the way we separate the data models from the theme by using a custom plugin and custom Gutenberg blocks. I’ve talked about this before but this architecture makes it really easy for future developers to update the themes.

Another highlight is that this client decided to go with a fully custom theme. Themes we build from the ground up are much less likely to need costly updates as WordPress updates the WordPress core. To give you an example, the site that you’re reading this on has had minimal updates for the past 8 years. Sure, it probably does need a design refresh, but at least we haven’t been forced to do an update.

Lastly, this client knows the value of search engine optimization, so we ended the project by doing a full review and optimization to get our performance and seo scores to be very high. We don’t need them to be 100% because some of the factors in the score don’t actually matter that much for getting traffic, but we try to get them as high as we can within a reasonable budget. This work will set the foundation for future SEO content to attract traffic.

Outsourcing Web Development

Outsourcing Web Development: The Ultimate Step-by-Step Guide.

Whether you’ve got a great idea and are looking for technical support to make it a reality or you’re running an established enterprise and want to remove something from your managerial plate, outsourcing web development can be a smart move.  Outsourcing your web work can also be a way to stimulate a company’s growth or evolution as you access a larger talent pool with fresh ideas for reaching and serving customers. On the other hand, sometimes a period of dramatic growth, contraction, or redirection makes it necessary for an institution to change how its workload is managed and outsourcing becomes a way to stabilize a rocky boat. Outsourcing web development can also be a way to  

  • reduce the cost of labor, office space, equipment, and insurance;
  • save time on recruiting, hiring, and onboarding;
  • prevent the need for morale-depleting layoffs;
  • minimize your risk exposure;
  • focus on your core mission and competencies;
  • and improve the quality or time-to-market of your online offerings. 

Though there are numerous benefits to outsourcing, successfully delegating your web work to an outside team can be difficult. There’s a reason outsourced web development has some reputation for substandard quality, which is that many organizational leaders don’t know how to find the services they need or to avoid the common pitfalls of entrusting an essential job to people outside their institution.

At Buink, we learned to outsource web development through trial and error and then through innovation as we went from an entrepreneur looking for cheap tech labor to a web development startup committed to providing quality services to clients. If you want to avoid the setbacks we experienced on our road to discovering best practices for outsourcing web development, you’ll find this step-by-step guide invaluable. 

There are three main parts to successfully outsourcing web development. First is defining what you’re looking for. Second is finding it. Third is establishing a productive working relationship. 

Part One: Define what you’re looking for.

Part 1 – Step 1: Name the services you need. The term “web development” can mean anything from graphic design to building a database to updating code. Are you looking for someone to design your user experience and write copy? A front-end developer to code the user interface? A back-end developer to build your database? Someone to maintain your web app? Or a team to do all of the above and more? Are you an experienced project manager or will you need help supervising a team? Do you know enough about coding to know whether you’re getting a good product? The answers to these questions will determine what kind of firm or freelancers you’re looking for. As you answer them, make a list of the specific services you need. The checklist below may be helpful to make sure you’ve covered your bases. 

✅Envisioning a new web app or site (Startup/Business Consultant or UX Designer)

✅Envisioning a web app or site remodel (Startup/Business Consultant or UX Designer)

✅Graphic design (Graphic Designer)

✅Copywriting (Copywriter)

✅Designing user experience (UX Designer)

✅Coding graphical user interface (Front End Developer)

✅Building a database (Back-end Developer)

✅Maintaining a database (Back-end Developer)

✅Building a server (Back-end Developer)

✅Maintaining a server (Back-end Developer)

✅Building an application (Front- and Back-end Developers)

✅Maintaining an application (Back-end Developer)

✅Improving security (Front- and Back-end Developers)

✅Maintaining security (Front- and Back-end Developers)

✅Reviewing code (Full-stack Developer)

✅Remodeling code (Front– and Back-end Developers)

✅Rebuilding code (Front- and Back-end Developers)

✅Project management (Full-stack Developer)

✅Security maintenance (Full-stack Developer)

✅Identifying services needed (Business Consultant, Project Manager, or Full-stack Developer)

✅Identifying best languages and frameworks for project (Project Manager, Full-stack Developer)

Keep in mind that most web development teams have at least four members: a project manager, back-end developer, front-end developer, and designer. Depending on the size of the project, your project manager may also be your tech lead. The tech lead is your MVP and needs to have some experience in all aspects of web development. He or she is accountable to manage the tech team and make sure it delivers what the client wants. Also, someone on the tech team needs to be tasked with security. Sometimes the team lead takes this role; other times a fractional lead is hired. Either way, time and money need to be allocated for a developer to ensure that your proprietary information and customer data is protected from bad actors.

You will also need someone to review code. If you have the expertise, you might want to do this yourself. Otherwise, the tech lead, project manager, or another developer will need to be assigned this job. In our early days of using freelancers, we were frustrated by the amount of time it took to review their work, but, because we consistently found needed edits, we also knew we couldn’t skip this step. After more than a decade in the business, we understand that reviewing code is a time-consuming but essential part of web development. At Buink, we review every line of code written by our developers. We’ve found this adds about 10 percent to the upfront cost but in the end saves 20 to 40 percent of the project’s expense as bugs are found and clumsy code is revised to be clean and readable.

Part 1 – Step 2: Determine which technology you will use. If you have experience in web development, you probably already did this while listing the services you need. If you’re not techy, at this point you may have figured out, for example, that you need a back-end developer to improve the security of your mobile app, but you don’t know what tools he or she will use to do the job. Why do you need to know? Because the people you hire need to be competent in the languages and frameworks your web products require. Both web development shops and freelancers specialize in various aspects of web development. If you hire a construction company to build your house, you don’t normally hire one that has only built greenhouses, and if you want new carpet in your home, you don’t hire a tiler. Often non-techy people don’t realize that web products are as dissimilar as greenhouses and homes, carpet and tile. A tiny home builder may be able to learn as he goes and build a mansion, but a general contractor experienced in building large homes is undoubtedly more likely to build a mansion on time, on budget, and to the customer’s satisfaction. Similarly, your project will go better if you find a developer or agency that specializes in the technology you’re currently using or want to use. 

So what specialties are there in web development? Front-end developers write the code for what users will interact with on their screen, usually in the languages of HTML, CSS, or JavaScript. Back-end developers typically use Python, Java, NodeJS, Ruby, C#, and PHP to write code for retrieving information from a database and sending it through an application to the user interface. Full-stack developers are experienced in both front- and back-end programming. If you’re developing a mobile app, you’ll need to consider whether you need someone who’s experienced in building for iOS (for Apple devices), which is usually done in the Swift language, or Android, which is usually written in Java or Kotlin. Cybersecurity engineers specialize in keeping data secure from hackers and have an arsenal of tools from nmap to Nikto. Depending on your security needs, you’ll need a developer adept with certain technologies. Web developers also specialize in the frameworks they use. Frameworks allow them to bypass repetitive coding tasks; they’re analogous to the carpenter’s nail gun, which makes it possible to hammer nail after nail quickly and with minimal muscle power. Different types of web products are built with different frameworks.

This is a broad overview of popular web development specialties and tools. When you dig into the details of a specific project, it is many times more complicated. So how do non-techy people figure out what skill sets they’re looking for? The obvious answer is they ask someone who knows. If you have in-house web developers, solicit their expertise in transitioning to outsourced web development. This can be a touchy situation if the employees are going to be laid off, but most professionals understand that companies need to evolve to stay competitive and will give you good advice if they are treated with fairness and respect. In this case, you may consider keeping one in-house web development manager to liaison with the agency or manage your freelancers. 

If you don’t have a trusted tech employee or colleague, contact web development shops and ask them how they would do your tasks. They will have different ideas because there’s always more than one way to engineer something. The more professionals you talk to, the more you’ll know about different options for getting your web work done and what specialties you’re looking for. Buink would love to help with this step. Contact us for a free phone or video chat consultation so we can help you identify the best technological tools to build or maintain your websites and web apps.

Part 1 – Step 3: Specify your budget and time constraints. Before you can shop in earnest, you need to set a budget and deadlines. Successful outsourcing begins and ends with clear, precise language. Words like “small” and “fast” will not serve you well. You must know how much you’re willing to spend, when you want a prototype ready, when you want the project completed, and when you absolutely must have all the bugs fixed. Once you’ve created a budget and deadlines, you can consider different strategies for getting what you need within those constraints. 

Part 1 – Conclusion:

You’ve completed the first phase of outsourcing web development when you’ve gone from asking something like, “I need a web developer to build me a new app to promote my business and I want it done on a low budget by the end of the year” to saying “I need a UX Designer to reimagine my current app and communicate that vision to a graphic designer and a full-stack developer experienced in Javascript and NodeJS so they can remodel my current application utilizing our existing database. I need a project manager to oversee this process, review code, and hold the team accountable to having the app functional by the end of October and ready for publication before the new year. I want to retain one coder to maintain the app on a part-time basis. I need to complete this project for less than $75,000 with $10,000 reserved annually for maintenance.” When you can explain what you need with this degree of specificity, you are ready for part two.

Part Two: Find a team.

Part 2 – Step 1: Consider all tradeoffs. We want it all and we want it for free, but in the end everything has a price and everyone has a price limit. To successfully outsource your web development, you must always consider the tradeoffs between cost, quality, and speed of delivery. Your individual expertise and availability, organizational goals, budget, and deadlines are important factors in determining which tradeoffs to make.

Decide how much experience you want: Web development is a high growth, high-demand industry and thus experienced web developers expect six-digit salaries. Less senior developers might be adequate for your job, but their code will probably not be as readable or scalable as someone who’s been coding for decades. If you’re building an MVP, you might hire a less experienced team, sacrificing some quality to keep your costs down. On the other hand, if you’re building a production ready app, you’ll want to pay for the best code you can afford. Once your web product is running, it’s extremely expensive to rebuild it, often more expensive than it was to build it in the first place. If you’re planning to grow your customer base, you will be wise to invest in forward-thinking code.

Decide whether you want to use freelancers or an agency. A freelancer does work for many clients on a part time or short term basis. For tax and government regulation purposes, they are self-employed. In the startup world, it’s popular to hire freelancers as fractional employees, meaning they work for a handful of companies on a part time basis. The advantage for the startup is paying only a fraction of a professional’s compensation. The advantage for fractional employees is earning a higher hourly rate and the opportunity to gain experience in a variety of businesses and industries. Hiring a fractional freelancer is economical because you’ll be paying for the exact resource you need for the amount of time you need it. You will pay a higher hourly rate, but your overall cost will be lower. A disadvantage of hiring fractional or short term freelancers is you will have to recruit, hire, and manage them yourself.  If you do not have the expertise to recruit or manage a technical team or you neglect to set aside time to do so, you’re likely to receive a product that is subpar or not what you envisioned. However, if your schedule is open and you know how to provide specs and review code, you can save money by hiring freelancers.

If you choose instead to hire a web development company, you will not have to find, screen, hire, manage, lay off, or fire employees. The agency will handle all the human resource work; all you’ll do is pay a bill. When you hire a web shop, you will probably pay more per hour for the billed work, but you will save on overhead costs. The time and expertise of the human resource manager and project manager is part of the service and will be reflected in the price. Hiring an agency also protects you from delay and lost investment if a member of the tech team quits. When this happens, the agency should have a record of the developer’s work and be able to provide a quick replacement. A freelancer, on the other hand, can leave you high and dry if he or she decides to drop the job.

It’s important to note that one can use multiple compensation strategies within a team. In fact, compensation diversity can drive better decision-making because compensation affects the way an employee finds solutions to problems. For example, equity employees work for nothing upfront but receive a share of profits and thus will think further ahead than contract or hourly employees. Equity employees are seldom a promising option, though, because most developers need a steady income; also government regulation of equity employees can be difficult to navigate. Still, it’s worthwhile to consider offering some equity to senior team members so they will invest more skin in the game.

Determine your tolerance for offshoring: Many businesses save money by using programmers from less developed countries where compensation is lower. There are capable programmers in nearly every corner of the world, but offshoring has its risks and downsides. Many people–including us at Buink–have found offshoring to be more trouble than it’s worth; thus developers in first world countries remain in high demand. 

The most obvious challenge in offshoring is the language barrier. We’ve all had frustrating conversations with offshore customer service agents who speak limited English. Good communication is key to successful outsourcing, so be wary of signing up with a team that isn’t easy to talk to. While less obvious than a language barrier, different cultural norms can also be a hurdle to collaborating effectively. Another significant challenge with offshoring is the time difference. If you’ve had trouble getting a hold of busy professionals in your own time zone, imagine how hard it can be to get in touch with professionals in faraway time zones. It can take days to have what would normally be a ten-minute chat as you wait a whole day between replies. Some offshore companies adjust their schedule to accommodate clients in other parts of the world, but the challenge is never entirely removed, especially if you’re located in the western hemisphere, opposite from the low-cost tech hubs in eastern Europe and Asia. 

Last but not least, offshoring makes taxes more complicated and business contracts more difficult to enforce. Holding offshore developers accountable if they steal proprietary code can be nearly impossible. So while the cost savings of offshore outsourcing can be significant, the risks are greater than they are with domestic outsourcing. You will need to spend more time on documentation and, in the event of a contract violation, legal fees. If you’ve lived in the country of a prospective offshore shop or are fluent in the shop’s native language, you’ll be better equipped to deal with the challenges of offshoring. 

While many people in the business world value personal relationships built through face-to-face conversation, others are satisfied with virtual communication so long as the time zones and language barriers don’t hamper it. For these people, nearshoring is a good option. Nearshoring means outsourcing to a nearby region or country where the time zone, language, and cultural differences are minimal and less likely to disrupt your workflow. 

Within each of these choices–entry-level or experienced, freelancer or agency, offshore or domestic–there are hybrid options available. For example, you might find a web development shop located in your country that hires some offshore programmers or you might decide to use a programmer fresh out of college but hire an experienced developer to review his or her code.

Part 2 – Step 2: Learn to effectively screen candidates. From more than a decade of recruiting and hiring developers, we’ve discovered some important principles for finding effective employees. When candidates respond to your job posting, beware the jack-of-all-trades. There’s a mythical creature we call the amazing, technicolor dream coder who lives in his parents’ basement. Though he’s inexperienced, his genius qualifies him for any computer-related job. This mythical creature exists only in our imagination. The reality is that building software is a lot like building a physical structure. There’s no substitute for experience, and to construct a building, a variety of tradesmen are needed from the plumber to the electrician, and some buildings will also require a welder and glazier. Similarly, web development calls for various specialties. Again, it’s important to have a basic understanding of what technology is needed for your web products so you can find people who specialize in those languages and frameworks. Only hire someone who can “figure it out” if you want to pay for on-the-job learning and will be satisfied with jimmy-rigged code.

Learn to differentiate competence from mere confidence. When evaluating job candidates, it’s often tricky to distinguish between confidence and competence. Our filters ask questions about experience and expertise in several different ways–for example, to rank their ability compared to others or describe their confidence at completing an imaginary task–in order to expose the overconfident applicant. For example, if an applicant ranks himself as an expert in a language with which he has no experience, unless he has a lot of experience in a closely related language, that is a bright red flag. Like all people, computer engineers are sometimes poor judges of their own capabilities. If you don’t know how to code, you should consider learning to at least read code. Learning to read code is not as difficult as many imagine it will be, and once you know how to code you will be better equipped to recognize competent developers.

Portfolios, ratings, and work samples are more valuable than degrees or references. At Buink, we tried hiring computer science grads from an Ivy League university and found them incapable of coding to our standard. Next we tried using third-party testers and found their tests to be too focused on the theory of coding rather than the practice. Finally we created our own test, which was simply writing the kind of code we bill for. The time required to take tests can deter job applicants, so we guarantee work for those who pass our test. Occasionally we bypass testing if the developer has extensive experience and can point to past projects of high quality. 

Tech leads need to be fluent on all fronts of web development, including the business side. He or she is like the general contractor who must be able to direct and evaluate the subcontractors’ work while keeping an eye on costs, schedules, and customer satisfaction. This multifaceted skill is especially difficult to measure; past experience and good reviews are your best bet for predicting success in this role. Websites like Upwork and Guru connect you with freelancers that have been reviewed and rated by clients. The ability to leave a bad review is the best insurance against shoddy work. The reference system is an artifact of the 20th Century as online ratings paint a more accurate picture of a product or service’s quality. 

Watch out for extreme attitudes and incompatible values. There’s a school of coders who disparage some of the most utilized coding languages in the world that millions of computer programmers, organizational leaders, and consumers have found to be the most efficient tools to build their websites. This school overlaps with the cadre of coders who only want to use the latest technology, even when an older technology can get the job done more efficiently. We pass over candidates who exhibit these attitudes because the best developers have the humility to understand the value of tried and true tools as well as the innovative mindset necessary to adopt new technology when it will bring a return on investment. It’s also common to find developers who invariably recommend rebuilding software rather than remodeling it. Remodeling may be less fun than building from scratch, but it’s usually more economical, and so we look for coders who show a flexible, resourceful approach to engineering.

Watching out for extreme attitudes goes along with looking for people who share your values. Remember that hobbies are not values. It doesn’t matter what your employees do in their free time; it matters how they approach their work. Some organizations emphasize teamwork and have an egalitarian feel; others demand long hours and a commitment to growth; some institutions are inventive and open to risk; others have more risk-averse missions. Of course, every organization depends on the integrity of their workers to be successful in the long term. Carefully define your organization’s values and look for candidates who name these values as their priorities and exhibit through their actions that they mean what they say.

Be picky. An incompetent or dishonest freelancer is a huge liability. It’s more efficient to spend time searching for candidates than cleaning up after bad hires. After years of honing our hiring process, only about one percent of applicants make it through our initial filters and are referred to our hiring manager, and about half of them will pass our test and be hired. Of those hired, approximately one quarter become a long-term member of the team. This is because it’s not enough to know how to code; we need developers who can code consistently, take feedback, improve, communicate with team members, and meet deadlines. 

Part 2 – Step 3: Look for an agency that is responsive and transparent. Pricing and delivering an ongoing, customized service is many times more complicated than pricing and delivering a physical, standardized product. For this reason, reviews and ratings are an essential tool in selecting a web development agency. Websites such as UpCity, Sortlist, and ZoomInfo offer business listings with ratings.

Other than reviews and ratings, the best way to judge whether an agency will be an amenable business partner is how amenable they are while you’re in the shopping stage. If an agency responds to your inquiry with an automated reply or takes a long time to get back to you, you should keep looking. The agency representative should be easy to reach and willing to discuss your project specifically. If the agent is reluctant to describe in detail how the company would handle your work both technically and organizationally, keep shopping. Good engineering requires more than good engineers; an engineering team needs a clear system for communicating goals, delegating tasks, avoiding duplication of work, and resolving problems. Prospective outsourcing partners should be able and willing to explain their work flow systems. Ask them about their chain of command and chain of communication as well as the technology they use to make sure projects are completed on time and on budget. The best web agencies will be proud of how they do business and happy to explain these things.

It’s equally important the agent explains in detail how his or her company prices its services. If an agency sets a fixed price for a project, that price will necessarily include a large profit margin because the agency is assuming all the risk of going over budget; when they run the risk of losing money on some projects, they must make a large profit on others or they will soon be insolvent. Conversely, when the agency bills you for time and materials, you are shouldering the financial risk and the price should be comparatively lower. Hybrid options–a fixed price for some services and hourly rates for others–splits the financial risk between the agency and the client. Ask agencies about billing options, why they bill the way they do, and how they compensate their employees. 

Last but not least, ask agencies about their security protocols. Keeping your company’s and customers’ data secure is crucial to your success; a customers’ trust, once lost, is difficult to regain. Furthermore, companies can face legal liabilities if they do not handle their customers’ data carefully and ethically. All computers with access to your code should have antivirus software. Few people, just one if possible, should have access to a live server, and access should require two-factor authentication. Passwords should never be shared and should be frequently changed. Additionally, project managers should keep separate coding environments for software developers, testers, and deployers.  Highly valuable, sensitive data should also be protected with security applications that scan for vulnerabilities. Open code is generally considered to be secure since it benefits from crowdsourcing scrutiny, meaning security holes are rapidly identified and filled. However, even products built from open code can be hacked and therefore must be carefully protected.

Security concerns is a common reason people give for choosing not to outsource their web development, but if you find a company that has strict security protocols, consistently enforces those protocols, and is willing to include security agreements in their contracts, then you can responsibly entrust your code and data to that company. 

When discussing these topics–engineering strategies, workflow protocols, pricing, and security–ask hard questions about what might go wrong and how the company will respond in foreseen and unforeseen circumstances. How quickly can the agency replace a team member who isn’t performing to your satisfaction? What happens if a team member quits? What happens if the project gets behind schedule? What happens if there’s a data breach? Transparency is key in a long term business relationship, so don’t settle on an agency that doesn’t readily communicate about any aspect of the business relationship.

Part 2 – Conclusion: Once you’ve formed or found a team of reputable professionals who are experienced in the necessary languages and frameworks and can clearly explain how they will do your work within your budget and timeframe, you are ready to hire out your first web development task.

Part 3: Establishing a productive relationship.

Part 3 – Step 1: Commit gradually. As in romantic relationships, in outsourcing it’s also foolish to make big commitments until you know your partner well. Start by outsourcing a small task and see how well the freelancer or agency handles it. If you find yourself becoming overly anxious to remove web development from your to-do list and thus tempted to dive into the deep end, remind yourself that premature commitments often lead to expensive, frustrating experiences. Outsourcing means trusting others to do your work and trust is built gradually over time.

Part 3 – Step 2: Make thorough business contracts. Just as good fences make good neighbors, good contracts make good business partners. A business contract establishes clear rules of the road so that what starts out as a promising collaboration bears the promised fruit. Tedious as it may be, legalese is an important tool for making sure everyone knows exactly what’s expected and what will happen when things don’t go as expected. Even the best professionals are humans; they will make mistakes. Protect yourself and your institution from their mistakes with a legally binding contract that includes a non-disclosure agreement. Have your contract written or reviewed by a lawyer experienced in intellectual property law.

Reputable web development agencies will want to sign a business contract to protect themselves. At Buink we use one standard contract for all clients, which was written by lawyers, reviewed by several venture capital firms, and refined over the years. We are willing to edit our contract when clients make suggestions that will benefit all clients going forward, but we do not customize our contract for individual clients since all our business contracts are for the same type of service. Customization is therefore, at best, a waste of everyone’s time and could open the door to making legal mistakes that create trouble for all involved.

Err on the side of over communicating. Communication is the paramount principle of successful outsourcing. Visualize your project from the beginning to the end and tell the agency representative or freelancer your every expectation. Do not surprise them midway through. Though outsourcing may free up some of your time, you are still a crucial member of the web development team as the resident expert of your organization. 

Business leaders often overestimate how well engineers will understand business generally and their business in particular. You must budget time to review the team’s work and provide feedback. Maybe you’re in the habit of keeping judgment to yourself; there are times when it’s best to do so, but this is not one of them. This is the time to be vocal about your opinions. Your complaints will keep the team on track and prevent larger problems. If it’s a competent team, they will expect this and adapt quickly to your feedback. Over time, they will probably need less feedback as they gain understanding of your plan and preferences. 
Part 3 – Conclusion: Learn from failure. Few things in life go well on the first try. Knowing how to outsource is a learned skill and comes with a learning curve. You will need to make adjustments as you go, perhaps changing out one of the team members or asking for revisions to the business contract. If your first attempt doesn’t go well, take time to evaluate what went right, what went wrong, and formulate a plan for doing better next time. Think of each attempt as an experiment. It may have cost you something, but you also learned something in the process that can ultimately bring a return on investment.

Website Maintenance & Support | Event Intelligence

We launched our support plans at about the time we finished developing phase one of this web application. This client opted for a support plan that allowed us to not only maintain their codebase and fix any bugs that popped up, but also add some improvements to the existing functionality.

In addition, they opted for weekly error monitoring which allowed us to catch issues quickly and fix them even before the users reported them. There were several instances where we saw an error, found the fix, and implemented the fix all before anyone (maybe even the end user) knew there was a problem.

This client also opted for a support plan that included a security audit. Given that we push clients to control all their own accounts (like hosting, codebase, etc.), the security audit gives us a good chance to review everything and make sure to close any loopholes that may have been left open by developers or the client. In this case, we did recommend that the client turn on two-factor authentication on the server account to make it very hard for unauthorized access. We also found a couple logs that indicated possible vulnerabilities. They didn’t end up being security issues, but if they were, the support plan would have saved the day.

As part of the support plan, the client was able to reach out and get immediate help when a couple issues affected their customers. We answered several emails and got issues fixed right away.

Now that the application has hundreds of people using it every day, small bugs started popping up. It was nice to have a budget to get those fixed quickly. Some bugs were related to unconventional usage and others were just difficult to test for. But it was nice for the users to log in and magically find things working as expected.

In addition to bug fixes, we were able to increase the page speed of several pages. This type of work isn’t typically included in a support plan, but sometimes we’ll make a judgement call to make improvements if the budget allows and if we think users will benefit from it.

WordPress Website Development & Design | Heavy Equipment Website

We finished most of this website rebuild months ago but we did some final touches including some SEO improvements these past couple months. We won’t mention the name of this client at this time because they’ve since decided to redesign the site again before launching (long story).

The over all project was to take their old site, give it a facelift, improve its performance, increase it’s traffic, and make it easier to add content. I think we accomplished all of those goals.

We put a lot of thought and energy into making the site easy to maintain and most, if not all, of the content can easily be edited by the client without needing to pay a developer. The client can add carousels, tabbed sections, buttons, product sliders, product showcases, story showcases, and category showcases. This helps them create beautiful and functional pages all without developer time. The more content they create, the more traffic they’ll get, so making the site easy to maintain also drives our goal to increase traffic.

One highlight of this project is our use of Gutenberg blocks and enforcing a hard separation between data related code (found in the plugin section of the site) and view related code (found in the theme section of the site). This is something that we’ve seen very few of our competitors do, but that provides lots of benefits. For instance, it will give future developers the ability to manage the data and view separately, making re-skinning easy. A lot of time and money is invested in creating the content, so we don’t want to risk loosing that investment when the company needs another facelift.

Part of this project was to allow users to dynamically see the product information and inventories in the client’s legacy ERP system. We created a custom WordPress plugin to manage that integration. This integration makes the site more valuable for potential customers and in-turn more valuable for the company.

Another benefit of this site is document management. This client has a lot of documents that they share with their clients and these documents need to be updated often. To help them with this task, we created a documents post type to give documents their own section. This will allow them to manage these documents with ease.

We also created several different page templates that the client can use to add pages at-will. These templates include: About Us Page, Blog and Blog Filter Pages, Business Owner Page, Career Page, Document and Document Single Page, Customer Stories, Front Page, Location Contact Page, Products Page, Sales Product Page, Search Page.

We ended the project with a little SEO structure work. We optimized the site code and images to signal to search engines that we’re a credible place for users. We did some work making sure we don’t have any broken links when we launch the new site. We also implemented some code to make sure images are sized right and served in next-gen formats. Lastly, we improved the page speed so the site loads fast. As you approach perfect browser scores you get diminishing returns, but we’re happy with the scores we ended with:

Compensation Diversity | The Successful Non-technical Leader

This article continues the discussion on tips for non-technical founders. You can check out all the tips in our free Guide to Tech Projects for Non-technical Leaders.

The five most common ways to compensate developers are: equity only, low salary + equity, salary, high hourly (fractional gigs), fixed bid.

The option you choose is going to be based on your budget. 

If you have no budget, then your only option is to offer equity. This option sounds good on paper but you may run into legal issues about wage laws. In addition, it will drastically slow your speed to market because the developer will probably have to hold a day job and work on your project on the side. It also drastically lowers the probability that you’ll find help.

If you have a large budget, the conventional wisdom is low salary + equity, but I found that companies can get much further by reserving salary for resource developers and bringing in the lead people on a fractional basis. This is where it is good to find that amazing technicolor dream coder and give him some golden handcuffs with salary + equity. 

If you have a small budget, your best bet is going to be fractional all the way. You can still build a team (surprisingly well in this gig economy) while only engaging the exact resource you need for a given task. You’ll pay a higher hourly rate, but you may actually save money by using the least expensive resource for any given task.

The biggest mistake I see startups make is focusing on only one compensation strategy for the whole team. I recommend what I call compensation diversity because the compensation models attract a very high diversity of thought on how work should be done. They aren’t always in line with each other, and this tension leads to great decisions.

If you found this article helpful, check out all our tips and tricks by downloading our free Guide to Tech Projects for Non-technical Founders.

If you need hands on help with your project, Buink has years of experience managing and completing technical projects on time, under budget, and with a high level of quality. Contact Buink today.