Savvy Otter https://www.savvyotter.com/ We Code. We Create. We Innovate. Tue, 29 Sep 2020 15:36:22 +0000 en-US hourly 1 https://wordpress.org/?v=6.1.6 https://www.savvyotter.com/wp-content/uploads/2021/05/cropped-Screen-Shot-2021-05-19-at-9.23.46-AM-32x32.png Savvy Otter https://www.savvyotter.com/ 32 32 Client Spotlight: Nanak’s Landscaping https://www.savvyotter.com/2020/09/29/client-spotlight-nanaks-landscaping/ Tue, 29 Sep 2020 15:36:22 +0000 https://www.savvyotter.com/?p=1037 Client South Florida’s Nanak’s Landscaping is a renowned full-service landscape company that provides grounds maintenance and major installations for Dade, Broward, Palm Beach, Martin, and St. Lucie counties. Challenge Nanak’s was spending a great deal of time manually moving data between software systems.  The process was time consuming and error prone and not scalable.   Project […]

The post Client Spotlight: Nanak’s Landscaping appeared first on Savvy Otter.

]]>
Client

South Florida’s Nanak’s Landscaping is a renowned full-service landscape company that provides grounds maintenance and major installations for Dade, Broward, Palm Beach, Martin, and St. Lucie counties.

Challenge

Nanak’s was spending a great deal of time manually moving data between software systems.  The process was time consuming and error prone and not scalable.  

Project

Automate the process by which two of their software platforms pass information.  Specifically, integrate their payroll software with their business management software (BMS) in the following ways:

  • Push customer data from payroll system to BMS
    (names, pay rates, etc)
  • Push pay data from BMS to payroll software
    (employee IDs, pay components, hours, rates of pay, service codes)
  • Push pay burden to BMS from payroll system

Goals  

  • Eliminate the redundant and time-consuming task of moving data between systems  
  • Increase insight into data by providing extra layers such as service codes
  • Increase accuracy by calculating burden rather than “guesstimating”

Solution

The three data transfers needed to be scheduled to execute on different, independent timelines, via Windows Task Scheduler. Initially, the data did not map cleanly between the systems.  To remedy, when pulling data from the BMS, all in-scope data points were pulled from work tickets for a particular employee that were created during the designated time period and then aggregated before being sent to the payroll system. A local database was necessary to temporarily store data while it was summarized or otherwise transformed into the format needed for the recipient system. The database platform selected was SQL Server.

Outcome

The integration has given Nanak’s much better insight into their data and established the scalable process they needed to meet their rapid growth. Payroll processing time is a fraction of what it once was, and their data is more complete and timely than ever.  With this in place, they are poised not only for organic growth but also to pursue acquisitions more confidently.  

The post Client Spotlight: Nanak’s Landscaping appeared first on Savvy Otter.

]]>
Benefits of a Successful Integration Partnership https://www.savvyotter.com/2020/05/06/benefitting-from-a-successful-integration-partnership/ Wed, 06 May 2020 15:46:52 +0000 https://www.savvyotter.com/?p=957 If you’re on the leadership team of a B2B SaaS company, it probably does.  With competition in cloud software heating up and the economy slowing down, your shareholders are nervous and they’re asking you to do the impossible… again. Don’t panic… Find an Integration Partner! Many SaaS companies have found that partnering with a 3rd […]

The post Benefits of a Successful Integration Partnership appeared first on Savvy Otter.

]]>
If you’re on the leadership team of a B2B SaaS company, it probably does.  With competition in cloud software heating up and the economy slowing down, your shareholders are nervous and they’re asking you to do the impossible… again.

Don’t panic… Find an Integration Partner!

Many SaaS companies have found that partnering with a 3rd party development company allows them to get more by spending and doing less!

How, you ask? Let me explain…
“We really love your product, but it doesn’t integrate with our [insert software platform here].”

This is a common objection from B2B SaaS prospects.  They love your product, it solves their problem and they even like the price.  On the other hand, implementing your product may generate redundant entries into multiple software platforms or it could create issues that cause their reporting to be incomplete and/or inaccurate.  So, how can you overcome objections like this and push the sale across the line?

Hint: Do NOT call your Software Development Manager. Demanding your internal development team to abandon their current sprint, spending the time and money to immediately add this feature is not the answer. For the sake of your company, please don’t do that…  Your software team is expensive and their time is valuable!

The better option… Call your Integration Partner!

Who or what is an Integration Partner?
An Integration Partner (IP) is a trusted 3rd party development company that is familiar with your product and can engage with your prospects/customers for integrations and various other development projects.

But, how can an Integration Partner increase my Monthly Recurring Revenue (MMR)?
An IP can aid by removing impediments to the sale, turning your prospect into a paying customer! Equipping your sales team with an IP should help them close more deals and increase Lead-to-Customer rates. An IP can also positively affect your MMR by increasing referral revenue. Oftentimes, SaaS companies receive referral fees from the IP for each deal they send their way.  Shareholders love new revenue streams!

OK, but I’m a Customer Success Manager.  Can an IP help with my Customer Churn numbers?
Absolutely! An IP can help increase your company’s retention rate by facilitating enhancement requests made by your existing customers. That feature they asked for 10 months ago can finally be addressed by simply introducing your customer to your IP.

You will be able to meet your customers’ expectations and make them feel appreciated without ever disrupting your internal development team’s agenda or budget.

My CFO says Customer Acquisition Costs (CAC) are too high?
Your IP can help with that too!  With most IP arrangements, the prospect (or current customer) engages directly with the Integration Partner.  Your sales representative or Account Manager makes a warm introduction to your IP and your partner takes it from there.  Your 3rd party partner will provide your customer with a proposal, making these contractual agreements between your prospect/customer and the IP.   No cost is incurred by your company and in some cases a referral fee can be collected to help offset CAC. When you have the right Software Integration Partner on standby, your Software Development Manager or CTO can keep his team lean and focused on the core product road map.

Bottom Line

Partnering with a 3rd party company to handle integrations just makes good sense.  The right IP can help you increase revenue, decrease costs and retain more customers.  The key is finding the right Integration Partner for your company.

Here are some things to consider:

* Remember, you’re looking for a partner.  The relationship should be beneficial to both parties.  The longer you work together, the greater value you will draw from the relationship.  With each deal, your development partner will become more familiar with your product and your people.  With the right partnership, you’ll  close more deals together and both improve your development efficiency. That means more deals for you and less development time and expense for your prospect/customer.

* Research and vet your partners before you ever refer a prospect or customer.  What experience do they have with integrations?  Do they have the bandwidth to assist your sales team in a timely manner?  Are they too big?  Some 3rd party vendors might consider a small integration project as a waste of their time. Look for a partner that will value each and every referral.  In any case, your partner should act as an extension of your brand, providing the highest levels of service, passion and care in every customer interaction.  It’s not a bad idea to follow up with your customers after a project and get feedback on their overall experience.  It’s ok to hold your partners accountable if they get complacent.

* The details of the arrangement should be clear to both parties.  Will you whitelist their services?  Is the arrangement exclusive?  Be sure to discuss and document any referral fee agreement before introducing your IP to your prospects or customers.

* Commit to the partnership!  Make sure your company’s sales personnel and account managers are aware of your 3rd party partnership, and have been educated on your IP’s full capabilities.  Without commitment from all parties, you’ll leave sales on the table or end up churning customers you could have saved.  Try dispersing marketing materials to your sales teams and account managers, this keeps everyone on the same page and delivering a consistent message.  At a minimum, you should add your partners to your website.  Also, make sure your partner has a support contact within your organization and that they are always made aware of any API or product updates.  In other words, give them the access and information they need to succeed.

The post Benefits of a Successful Integration Partnership appeared first on Savvy Otter.

]]>
Client Spotlight: KB360 Football https://www.savvyotter.com/2020/03/19/client-spotlight-kb360-football/ Thu, 19 Mar 2020 21:28:01 +0000 https://www.savvyotter.com/?p=927 KB360 Football is a sports-centric organization offering products and services to both aspiring collegiate athletes and the institutions that recruit them. While their intent is to expand into multiple sports, they’re currently focused on running football combines across the US. Using state-of-the-art technology and a custom ranking system, they provide athletes (grades 3-12) the tools […]

The post Client Spotlight: KB360 Football appeared first on Savvy Otter.

]]>
KB360 Football is a sports-centric organization offering products and services to both aspiring collegiate athletes and the institutions that recruit them. While their intent is to expand into multiple sports, they’re currently focused on running football combines across the US. Using state-of-the-art technology and a custom ranking system, they provide athletes (grades 3-12) the tools needed to showcase their talents to coaches and recruiters.

KB360’s Challenge:

Founders, Keith Blackmon and Keilone Gordon, have been involved in football most of their lives. Having themselves been athletes at the collegiate and professional level, respectively, they understand how to prepare an athlete for collegiate athletics and have been applying their decades of experience and knowledge to running football camps and combines in Houston, TX.

Over the years, they noticed the frustration that athletes, parents and even coaches and recruiters were experiencing with the products and services available in the world of football recruiting. For instance, most athlete ranking programs rely, at least in part, on the opinions of a select few individuals. However, feedback from the coaching and recruiting community indicated that they prefer to have objective, data driven information about the athletes.

There has also been expressed frustration with the methods used to capture the data. Recruiters are finding themselves questioning the accuracy of the data where in a hypercompetitive sport landscape, fractions of a second matter. They wondered how accurate a 40-yard dash time could be if a parent or coach is using a stopwatch to record it. Whenever possible, recruiters want to remove the potential for human error.

Keith and Keilone themselves doubted if their business was scalable nationwide given their heavy reliance on personnel and manual processes. In short, they felt the market was asking for less subjectivity, improved accuracy and increased efficiency.

KB360’s Project Goals:

  • Remove subjectivity from athlete stack rankings
  • Improve accuracy of data
  • Reduce the time and cost spent preparing for and conducting a football combine
  • Make the process more fun, engaging and readily available for the athletes

KB360 developed a vision for a unique combination of products and services that, utilizing technology, would change the college football recruiting industry and take their business to the next level. They shared that vision with Savvy Otter in late 2018 and, after several rounds of consultations and discovery meetings, agreed that we were the right partner for the job.

Why KB360 chose to partner with Savvy Otter:

  • Consultative style and willingness to bring fresh ideas to the table
  • Experience developing complex web applications
  • Experience integrating and developing with APIs and web services
  • Willingness and ability to support a SaaS style company post development

Savvy Otter Solution:

Savvy Otter developed a comprehensive set of applications that collectively could deliver on their vision. The 4 main segments of the project included:

  1. A marketing website, KB360Football.com
  2. A web application to handle registration, user data and admin functions
  3. An API tie-in with a hardware/software vendor
  4. A desktop application running on Microsoft Surface devices

The marketing site, built on WordPress for it’s easy content management features, also serves as the access point for the member and admin portals. The portal (web application) handles the bulk of the processing and data maintenance and is written in .Net with a SQL Server database. To help with athlete engagement, Savvy developed an athlete profile page displaying things like pictures, videos, social media links and dashboards with analytics and rankings.

One of the toughest challenges Savvy had to address was the lack of internet access at some of the combine sites. When KB360 staff members are at KB360 Combines, they need an offline solution to ensure continuity of data flow and speed of data entry and retrieval. They require a device capable of not only capturing but also storing literally hundreds of pictures and videos per event. To that end, Savvy recommended a windows application running on Microsoft Surface devices. This allows for media management (pictures and video of events) and data management that can be synced before and after the event, once a standard internet connection is detected and a “sync” operation is performed.

Savvy delivered the software suite to KB360 Football in mid-2019. With their new software in place, they’ve been able to easily attract and register new combine participants, efficiently run large scale combines (with or without internet access) and launch a SaaS style membership platform for athletes. They’ve already been approached by several top collegiate football programs who are eager to access their second to none, objective data driven recruiting database. KB360 has plans to launch their recruiting service in late-2020, Savvy Otter will continue to support them as they evolve and grow their business.

The post Client Spotlight: KB360 Football appeared first on Savvy Otter.

]]>
In 2020, Content is Still King… This is Why https://www.savvyotter.com/2020/02/26/in-2020-content-is-still-king-this-is-why/ Wed, 26 Feb 2020 13:58:53 +0000 https://www.savvyotter.com/?p=916 It is often said that content is king. While we typically aren’t one for a cliché, this modern proverb does have a point. In a sea of Websites, social media posts, and more – quality content is the standard for getting noticed online. This is why so many businesses across all markets are adopting a […]

The post In 2020, Content is Still King… This is Why appeared first on Savvy Otter.

]]>
It is often said that content is king. While we typically aren’t one for a cliché, this modern proverb does have a point. In a sea of Websites, social media posts, and more – quality content is the standard for getting noticed online. This is why so many businesses across all markets are adopting a content management system (CMS) In 2020.

A CMS is a scheme that facilitates the creation, maintenance, and spread of digital content. Some may wonder why they need a robust system in place to create and promote content on their company’s digital channels. We’re here to explain why:

It Saves Time, So it Saves Money
While writing, editing, repurposing, formatting, and promoting content may seem simple… Well, maybe it isn’t so simple! Content management takes considerable time and effort to implement effectively and efficiently. This is why so many company’s employ a CMS. Rather than spending your time curating your content, a CMS can help streamline the process and allow for you to focus on running your operation.

It Boosts SEO Efforts
Like many other companies online; your company probably puts a high value on SEO Performance. Content management is one of the top ways to boost your search engine relevance, as sites like Google and Bing tend to reward websites that offer quality content. The more you post online about the services or products you offer, the more likely your website will be discovered on the first page of search results!

If you want to learn more about content management, we recommend reaching out to a local software developer that you trust. Getting noticed online is more important now than ever. Quality content not only tells the story of your business, but also proves to viewers and search engines alike that you deserve recognition online!

 

The post In 2020, Content is Still King… This is Why appeared first on Savvy Otter.

]]>
Mobile App vs. Mobile Responsive Website – What’s the Difference?  https://www.savvyotter.com/2019/10/07/mobile-app-vs-mobile-responsive-website-whats-the-difference/ Mon, 07 Oct 2019 14:55:03 +0000 https://www.savvyotter.com/?p=849 Does your business need a mobile app? Or a mobile responsive website? Let’s find out! A common comment from clients is “We need a mobile app!” And, some of them are right – they could benefit from an app. However, often times, what clients actually need is a mobile responsive website. Drawing a distinction between […]

The post Mobile App vs. Mobile Responsive Website – What’s the Difference?  appeared first on Savvy Otter.

]]>
Does your business need a mobile app? Or a mobile responsive website? Let’s find out!

A common comment from clients is “We need a mobile app!” And, some of them are right – they could benefit from an app. However, often times, what clients actually need is a mobile responsive website. Drawing a distinction between the two may seem like petty semantics, but they’re actually quite different. Which is better? Well, that depends. Every business’ goals and needs are different. So, a better question to ask yourself is, “Which is more appropriate for my business?”  

Here are some of the factors you should consider:

Your audience

A responsive website is available to all devices that have access to the internet. Mobile apps are only available on smartphones and tablets but can access certain functions without an internet connection. 

Compatibility can also limit your reach. Mobile apps have to be developed for multiple platforms and devices to reach a wide audience. Responsive websites are generally available on all major browsers and devices.

Ease of Use

A mobile app requires download and installation before it can be used. A responsive website does not. High frequency users may prefer the one tap of opening a mobile app, even if it does require an initial download. However, occasional users may think it’s a hassle. 

A responsive website is also easier to update and maintain. When new versions and bug fixes are released, mobile app users will not get the benefits until they update to the new version of the app. Website users will automatically receive updates on their next visit to the site. No action required. 

Functionality 

Backed by the power of the internet, responsive websites can offer a myriad of features and functions for your target user. However, if your service or product offering intends to utilize native smartphone options – such as the camera, microphone or push notifications – mobile apps tend to work better.

Cost / Budget

Generally speaking, developing a mobile app is more expensive than building a responsive website or web app. There are fewer experienced mobile developers in the marketplace than web developers, which causes their average development rates to be higher. On top of that, mobile app development potentially involves developing for multiple platforms. If you want to reach a wide audience, you’ll want to make sure your app is available in both iOS and Android versions (maybe Windows too). Depending on the desired functionality of the app, that could mean developing multiple apps which will increase your development costs significantly.

The Bottom Line

So, which should you choose? Maybe both? (We joke!) The fact is that both options have pros and cons and can play a valuable role for your business. The key is to let your vision and strategy drive your innovation choices. The tools you choose for your business should be guided by your broader business strategy. If your software vendor isn’t asking about your business goals for the project, that is a red flag! Be sure your development team understands your objectives (and budget) before the first line of code is written.  

The post Mobile App vs. Mobile Responsive Website – What’s the Difference?  appeared first on Savvy Otter.

]]>
Savvy Otter Named One of the Top Software Development Companies in Birmingham https://www.savvyotter.com/2019/08/29/savvy-otter-named-one-of-the-top-software-development-companies-in-birmingham/ Thu, 29 Aug 2019 16:26:00 +0000 https://www.savvyotter.com/?p=834 Savvy Otter is honored to be named one of the top software development companies in Birmingham by the Birmingham Business Journal. Companies are ranked by the number of their local employees within the metro area. Our team of experienced developers and industry leaders offers a variety of services including: web application development and support, content […]

The post Savvy Otter Named One of the Top Software Development Companies in Birmingham appeared first on Savvy Otter.

]]>
Savvy Otter is honored to be named one of the top software development companies in Birmingham by the Birmingham Business Journal. Companies are ranked by the number of their local employees within the metro area.

Our team of experienced developers and industry leaders offers a variety of services including: web application development and support, content management, secure portals, software integration, and much more.

We’re honored to be recognized among the top companies in the emerging tech market of Birmingham. To see the list in full, click here.

The post Savvy Otter Named One of the Top Software Development Companies in Birmingham appeared first on Savvy Otter.

]]>
Improve Your Efficiency and Productivity with Software Integration https://www.savvyotter.com/2019/05/23/improve-your-efficiency-and-productivity-with-software-integration/ Thu, 23 May 2019 15:52:34 +0000 https://www.savvyotter.com/?p=789 Modern businesses use a LOT of software!  A study by Intermedia found that, on average, medium sized businesses in the United States use 14.3 different applications.  Whoa! For enterprise organizations, that number is even higher. The increase can be partly explained by the rise of “best of breed” software and SaaS (software as a service) […]

The post Improve Your Efficiency and Productivity with Software Integration appeared first on Savvy Otter.

]]>
Modern businesses use a LOT of software!  A study by Intermedia found that, on average, medium sized businesses in the United States use 14.3 different applications.  Whoa! For enterprise organizations, that number is even higher. The increase can be partly explained by the rise of “best of breed” software and SaaS (software as a service) in popularity. Add legacy systems, mobile apps and on-premise databases to the mix and things can get pretty hairy.  The problem is not the number of apps per se, but that they are not able to work harmoniously with one another.  Big deal, right?

WRONG!  The use of multiple disparate apps can lead to poor communication, poor data, reduced collaboration and redundant processes.  So, what do you do with all these apps? Well, if you’re waiting for a vendor to replace all of your applications with one amazing platform, you’ll probably be waiting a while.  Like…forever. A better solution is software integration.

One of the developer nerds here at Savvy Otter might tell you that software integration is “the process of aggregating diverse sub-systems to combine to form one coherent multi-functional system.”  A slightly more layman definition would be the process of merging two or more software systems so that data/functionality flows between them smoothly. I like to say it is making apps “play nice” with one another.  Regardless of your preferred definition, here are a few benefits to software integration:

More Efficient = Better Productivity
If your company utilizes several siloed applications, there is a good chance you’re spending time re-entering information in several places.  For instance, let’s say your sales team uses an application to track their pipeline. Once they make a sale, all of that prospect information has to now be reentered in as customer data in the accounting system.  It’s also likely entered again in the project management application and again in the invoicing software. Same info entered four times. If these systems were integrated, this time consuming double entry (or in this case quadruple entry) could be avoided.  Rather than enter the same data into each software program, integration allows data to be entered once and then correlated across all of the other applications. Redundant tasks increase errors and take time away from more important core duties. If you want to compete in today’s business world, you have to be efficient.  Integrating your applications can reduce redundant, labor intensive and manual tasks and give your company a competitive edge.

Better Data
The ability to gather timely and accurate data is becoming increasingly important in today’s business landscape.  When you have multiple siloed applications, that often means you have multiple overlapping and unintegrated databases.  The result of which is reporting that is prone to inaccuracy or at least takes longer to extract and aggregate. Integrating those systems can help your company avoid making critical decisions slowly, or worse, based on inaccurate information.  

Improved Communications
As companies grow, they often become more decentralized and disconnected.  Accounting, HR, Marketing – these departments need to communicate effectively, but typically use their own department specific applications.  We recently had a client approach us for help streamlining their performance review process. One issue they faced was that if a raise was given to an employee during their performance review, the payroll department was not finding out about it.  By integrating the two applications, salary changes made in the performance review application, once approved, were automatically reflected in the payroll system. Additionally, HR and supervisors were automatically notified ensuring all departments were on the same page.  By integrating the software, departments become more connected and are able to communicate and share data better.

Integrating your company’s software applications can save time and money by improving communication throughout your organization and making workflows and employees more efficient and productive.  It can also help to improve the quality of your data and the speed at which you can access it. Better data leads to better decision making!

Your software should make your life easier.  If your company is struggling to keep up with it’s growth because of an assortment of disconnected apps, call your local software developer today.  

The post Improve Your Efficiency and Productivity with Software Integration appeared first on Savvy Otter.

]]>
Errors, like Thanos, are Inevitable (and Where to Track Them) https://www.savvyotter.com/2019/05/21/errors-like-thanos-are-inevitable-and-where-to-track-them/ Tue, 21 May 2019 16:21:17 +0000 https://www.savvyotter.com/?p=777 Here are some questions you should be able to ask and easily answer about errors that occur in your web application. What are the top errors that have occurred over a given period of time, like today, the last week or month? Similarly, what are the top web pages/screens where errors occur over a given […]

The post Errors, like Thanos, are Inevitable (and Where to Track Them) appeared first on Savvy Otter.

]]>
Here are some questions you should be able to ask and easily answer about errors that occur in your web application.

  • What are the top errors that have occurred over a given period of time, like today, the last week or month?
  • Similarly, what are the top web pages/screens where errors occur over a given period of time? And is it the same error occurring on the page or 10 different ones?
  • When did a particular error first occur?
  • What errors only first appeared or disappeared so far after the last application update?
  • How recently has a particular error occurred?
  • What browser are users using when an error occurs?
  • Who are the users that are affected by errors?
  • On what server are errors occurring most/least?
  • Do certain errors occur only on particular hosts?
  • What action was the user taking in the application when the error occurred?
  • Because error counts vary by application usage, how many errors occur per page view?
  • Etc.

These are impossible to answer if you’re not tracking errors at all (obviously). If you own or manage such an application, one of the best things you can do is start tracking errors, or possibly start a rewrite because the vendors that write such applications tend to have impossibly buggy code. I don’t know why that goes hand-in-hand exactly but I’ve a theory or two. If you’re logging errors to a log file somewhere on your server, good news – the questions are now only nearly impossible to answer. Supposing you’ve captured all the data you’ll need, you’ll need to aggregate it somehow and that’ll take some work.

What you ultimately need is to track errors in a database. I know, I know… some errors might be that the database server is not available and so even attempting to store error information in a database might itself generate an error. Don’t let that hold you up. If it’s a concern, then you can mitigate that. The value here is being able to answer the questions above for the 99.99% of the errors that won’t prevent the errors from getting into that error tracking database. You’ll know about that 0.01% of errors in other ways or you’re not doing application monitoring correctly.

Five years ago I put together the database structure below to help Pixsys Technologies get better visibility into their application errors. Not only that, we started sharing the “errors per page view” metric with management/owners. Thus started the process of managing that metric and holding ourselves accountable. And today, I cannot feel comfortable building an application without having this error tracking structure in place. Below is what that database structure looks like.

Sample Error Tracking Database Structure

 

Tables:

  • Exception Signature – Captures the “fingerprint” of an error. Necessary because many error descriptions are artificially unique because they reference something like a particular value causing the error. We want there to be one entry in this table for something like a Primary Key violation on table Employee, not one entry for each value that violates the constraint. Scrubbing error messages to generate the “fingerprint” is the magic here and is likely where you’ll spend 90% of your time setting this up.
  • Exception – Captures the occurrence of the error described in the Exception Signature table.
  • Exception Web Context – Captures information particular to the user of a web application like their IP address (be careful of GDPR concerns), the URL, referrer, session ID, querystring and form data being sent to the web page, and so on.
  • Exception Web Context User Agent – The user agent tells us about the browser and OS in use at the time. We keep each unique user agent value in this table to avoid duplication.
  • Exception Web Context Url – The web address of the page the user was on when the error occurred. We keep each unique URL value in this table to avoid duplication.
  • Client – A table to allow us to track errors that occur across various clients. It is sometimes useful to know only client X sees a particular error.

Closing Thoughts

Feel free to copy as much or as little as you want from this database structure. This is sort of like “how to make a PB&J sandwich” in terms of intellectual property. Nothing proprietary other than just having this in place. That said, I don’t always have a lot of time to code some days. But there are cases where I have an hour or 45 minutes between meetings with the evil marketing folks about my blog assignments, and I can easily go to this database and find the best way to make that hour count.

The post Errors, like Thanos, are Inevitable (and Where to Track Them) appeared first on Savvy Otter.

]]>
Client Spotlight: Landscape Workshop https://www.savvyotter.com/2019/04/24/client-spotlight-landscape-workshop/ Wed, 24 Apr 2019 15:59:35 +0000 https://www.savvyotter.com/?p=713 Landscape Workshop (LW) is a full-service grounds management company that provides professional service and expert landscape maintenance for outdoor commercial spaces. As one of the largest landscaping companies in the United States, LW’s footprint spans the Southeast with over 600 employees throughout their nine branch locations. Landscape Workshop’s Challenge: LW needed a better way to […]

The post Client Spotlight: Landscape Workshop appeared first on Savvy Otter.

]]>
Landscape Workshop (LW) is a full-service grounds management company that provides professional service and expert landscape maintenance for outdoor commercial spaces. As one of the largest landscaping companies in the United States, LW’s footprint spans the Southeast with over 600 employees throughout their nine branch locations.

Landscape Workshop’s Challenge:

LW needed a better way to perform and manage their performance review process.  The previous process was managed by their Human Resources department and involved using spreadsheets to track the scheduling and creation of the reviews, as well as their status in the performance review process.  The process was time-consuming and relied heavily on emailing and printing paper applications. Additionally, information from the reviews that needed to be entered into their payroll system, such as pay raises, had to be done manually.

Project goals include:

  • Reduce the time spent filling out forms
  • Improve tracking of review status
  • Capture data and add basic reporting
  • Integrate with / inform their payroll software, ADP

LW researched “off the shelf” performance review software but found that they were often too expensive and failed to accommodate their unique needs.  They needed a solution that fit their budget and that could be in place by their next review period.

They chose to partner with Savvy Otter due to our:

  • Proven expertise in designing and implementing complex web applications
  • Adequate bandwidth to handle a project with a serious timeline
  • Experience integrating with Enterprise systems
  • Consultative style of service and demonstrated business acumen

Savvy Otter Solution: 

Savvy Otter created an integrated custom platform to automate and improve the Landscape Workshop performance review experience.  The application catered to the unique needs of four different internal user groups: Administrators, HR Managers, Supervisors and Employees.  Due to the sensitive nature of the content, it was important to maintain confidentiality between team members and a proper chain of custody.

With the new software in place, Landscape Workshop have significantly reduced the time needed to complete their performance reviews so they can get back to helping their customers and growing their business. The application’s reporting features have provided valuable metrics and insights that are vital to LW’s growth and support their comm

itment to continuous improvement. The security features of the software ensure confidential and sensitive information is protected.

The Outcome:

Savvy Otter delivered the software to Landscape Workshop on time and on budget.  All objectives were met and both management, as well as rank-and-file employees, are thrilled with the improved experience. Today, LW owns a one-of-a-kind software package designed just for them. Tomorrow, they own their competition!

The post Client Spotlight: Landscape Workshop appeared first on Savvy Otter.

]]>
The Importance of Clean Code https://www.savvyotter.com/2019/02/27/the-importance-of-clean-code/ https://www.savvyotter.com/2019/02/27/the-importance-of-clean-code/#respond Wed, 27 Feb 2019 22:06:38 +0000 https://www.savvyotter.com/?p=693 We Swim in Clean Code is something of a slogan you’ll see upon visiting our website. I don’t remember the exact genesis – there were lots of ideas floating around when we were creating the site content, and, honestly, being Savvy Otter, the phrase was probably a gimmie from the start. But the thing is, […]

The post The Importance of Clean Code appeared first on Savvy Otter.

]]>
We Swim in Clean Code is something of a slogan you’ll see upon visiting our website. I don’t remember the exact genesis – there were lots of ideas floating around when we were creating the site content, and, honestly, being Savvy Otter, the phrase was probably a gimmie from the start. But the thing is, it’s not just marketing text. Definitely not.

Spend any time in these halls and you’ll come to realize we believe in the art of software construction, doing it right, but while not getting into an endless (and wasteful) cycle of perfectionism. That said, one of the tenets at the center of this belief is that code is written once, yet is read 10,000 times. Ok, I’m exaggerating a little, but not much. The consequence of that reality is that code needs to be easy to read and understand by ALL who have the fortune or misfortune of seeing it. Put another way, code should be optimized for reading and understandability and, perhaps counter to what some might think, NOT for keystroke speed / shortest time to finish line. Here’s a few points about the characteristics of clean / unclean code.

Unclean Code is

  • Hard to understand. It slows everyone down. The mental effort understanding it takes away from the task at hand – usually trying to track down some bug (as you’ll see below), but also hurts you when trying to make improvements / changes. Successful projects require predictable outcomes and an important part of that equation is efficiency. People, for some reason (you know the ones – those with pesky expectations and all that), would rather pay developers for productive work and get unhappy when progress is slower than expected. Slogging through unclean code is 100% a contributing factor.
  • A place where bugs hide. I’ll likely make a post on a later date about the value of code inspections, so I won’t spoil that, but I will say that it’s often impossible to spot bugs in unclean code. The converse is that it is super super easy to spot them in clean code. The number of times someone asked me to build software with lots of bugs is so astonishingly low even a unsavvy otter could count that high. That number is 0.000000 – with 6 decimal places.

Clean Code is

  • Spoiler – Easy to understand. The intent is clear. You can read this code and quickly do the mental task of making sure it does the thing it’s supposed to do. You feel safe to concentrate on your task and can worry less about breaking things as you go. You’re probably 37 times faster than you’d otherwise be. Your projects don’t get bogged down. Clients are happy and handing out high fives like banks handout lollipops – or they used to. By the way, if you want to make fast friends – I’m a sucker for a Charms Pop. And yes I slipped in a dad joke there. Guilty.
  • If I’m being 100% intellectually honest, the other benefits really follow from “easy to understand”.  So… Clean Code is also
    • Less forgiving of bugs. Bugs can’t hide in code that is easy to understand. When someone reads that code many common bugs are trivial to spot.
    • Easier to modify without breaking it. We’ve seen companies and individual struggle with this. They go to fix / change something and in the process create 10 problems along the way. When this becomes a pattern code quality can be a factor. The code is not clean.
    • Faster. Literature points to clean code executing up to 89% faster than unclean code. Ha ha. No. That would be amazing though if true. By faster, I mean teams can work faster in a code-base that is clean. Faster teams – faster projects – kept timelines – better outcomes.

I cannot say enough about clean code and why it’s so vital, but the tyrannical marketing person who’s holding a gun to my head to finally commit this post is already itching for my next assignment, so… luckily people write books on this subject and have done the topic better justice – in my 20 years writing software, I’ve read more than a few and some of those I’ve read multiple times. If you’re interested in learning more, consider looking at these.

Code Complete – click here to purchase 

 

Clean Code – click here to purchase

 

 

The post The Importance of Clean Code appeared first on Savvy Otter.

]]>
https://www.savvyotter.com/2019/02/27/the-importance-of-clean-code/feed/ 0