Need a Mobile Website? The Advantages of Responsive Design

You’ve heard the buzz about mobile. You likely have at least one mobile device you use multiple times per day.  The actual statistics on mobile are pretty staggering:

  • There are 6.8 billion people in the world – 5.1 billion of them now own a cell phone.  (2013, Search Engine Watch)
  • 28% of Internet usage comes from a mobile phone – it is projected to take over desktop usage by 2014. (2012, Pew Research Center)
  • 50% of all local searches (e.g., Cedar Falls bank) are performed on mobile devices (2012, Google)
  • 62% of companies that designed a website specifically for mobile had increased sales. (2012, Econsultancy)
  • Thousands of screen sizes exist for mobile devices, and the number continues to grow.

So, these statistics aside, how do you decide if you should go for it with a mobile site? Take a look at your current site analytics—what percentage of your site visits are made via a mobile device? If it’s more than 10% (and that number will continue to increase) and your site is not mobile friendly, it’s worth serious consideration, depending on your goals. Compare the percentage of mobile visits to where they were year a year ago – given what you see, where do you think it will be a year from now?

Advantage of Responsive DesignWe recommend all of our clients consider responsive design for any new website we build. With responsive design, your site detects the type of device each site visitor is using. Flexible images and fluid grids then size correctly to fit the screen.

To get a feel for how responsive design works, check out the following sites on your desktop machine. As you view the site, continually make your browser window narrower and narrower and watch how the site content shifts according to your window size:

Boston Globe website
Starbucks website
Smashing Magazine website

The main advantages of responsive design are:

  • Your site is easily accessible on any type of device.
  • You only have one set of content to manage.
  • Responsive design is better for SEO than a separate, forked mobile site.

We build our mobile-friendly sites using the Sitefinity content management system. The Sitefinity system is designed to make responsive development more efficient for our team, while its intuitive interface makes it incredibly easy for to clients to manage their site content.

We believe if you’re considering a new website, implementing responsive design is a smart investment. What do you think? We’d love to hear from you in the comments below.

 

Posted in Marketing, Mobile, Sitefinity, Web Design & Development | Tagged , | Leave a comment

Far Reach Core Value #7 — We’re a Team

Far Reach Core Value #7 We're a Team

For us, being a team is about supporting and trusting each other. It’s about having the backs of the people around us as we work together to create great things.

Far Reach Core Value #7 – We’re a Team – defines teamwork as more than just sheer numbers. It’s about sharing a journey together in which we all give something of ourselves in support of the people around us.

At our Huddle focused on Core Value #7, we completed a team-building exercise called the Marshmallow Challenge. In this exercise, competing teams are given the goal of building the tallest free-standing structure that will support a jumbo marshmallow, with limited time and supplies.

This particular challenge has been studied with a variety of participants. Surprisingly (or maybe not), these studies have shown recent business school graduates perform significantly worse on the marshmallow challenge than recent kindergarten graduates.  Why? First of all, kindergartners don’t spend time trying to jockey for power.  Second, business graduates are trained to find the single best answer–they spend most of their time trying to plan the perfect structure.  They’re left with little time to execute and have to build in crisis mode. Kindergartners, on the other hand, dig in and get to work.  They prototype, they fail, they adjust.  They’re fearless.

After completing the challenge, we discussed the qualities of successful teams:

  • Harmony (no jockeying for power)
  • Cooperation
  • Open mindedness
  • Willingness to both give and receive constructive criticism
  • Offering and being open to ideas

Take a look at the video that inspired our Marshmallow Challenge:

We also discussed the team at  IDEO, a design firm that helps organizations innovate and grow. IDEO has an incredibly eclectic team, with the only common thread being creativity and expertise in how to design things. The organization is very flat, giving every team member an equal stake in success.

Check out this video from ABC’s Nightline on IDEO.

“Enlightened trial and error succeeds over the planning of the lone genius.” is the perfect summation of IDEO’s philosophy. A couple of key takeaways from the video regarding successful teamwork and innovation are:

  • Imposing time constraints, in a flexible environment like IDEO’s, drives innovation.
  • Diverse teams are the most innovative.  Don’t be afraid to make unconventional choices when building your team.

What are your favorite team-building exercises?  What qualities do you think make a team stronger?   Please let us know in the comments below.

 

Posted in Core Values, Entrepreneurship, Fun | Tagged , , , | Leave a comment

Custom Software Development, Part 2: The Process

Custom Software DevelopmentWe began our series on custom software development last time with a discussion on why we don’t believe in fixed bids.   This time, we’ll go into more depth on the various phases of our custom software projects.

As we mentioned last time, we begin with a high-level estimate.  If a client decides to move forward based on this estimate, we then ask to be paid a reasonable sum to complete a thorough analysis of the project requirements.   Here’s a break-down of our entire custom software development process, beginning with the analysis:

1.       Analysis

During the analysis phase, we develop a more accurate (but not exact) estimate of the effort required to complete the project.  We do this by developing user stories – brief statements describing the functionality the software needs to provide.  User stories are written using this formula:

“As a <role>, I want <goal/desire> so that <benefit>”

Working with the client to develop these user stories, we also create the user acceptance tests tied to each user story.  These tests tell the designer and developer how the client will confirm whether each individual user story has been implemented correctly once development is complete.

During analysis, the project may be broken down into phases (releases).   We work with the client to help prioritize what functionality should be included in each release.  The project team also goes through each and every user story together to ensure as many questions as possible are answered up front.  It’s from these elaborated user stories that our estimates are derived.

At the end of the analysis phase, the project team has a good picture of what the project entails and the client has clear documentation of the scope of work and a better estimate of resource requirements, timeline, and cost.   At this point, we proceed with the project or (although we’ve never had this happen) the client is free to take the analysis documentation and move forward with another vendor.

2.        Design

The design phase of the project involves both technical and user interface design. On the technical side, our system architect works with the developers to determine and document the best overall application architecture. This includes details about what technologies will be used for the various parts of the application and how they will communicate with each other.

Our designer creates the user interface for the custom software.  Wireframing is important in this phase – wireframes are rough layout and process sketches that allow the client to confirm the interface will look and work as they expected.  It’s very common during this phase, as the product comes to life visually, to realize there are additional user stories needed or other requirements that fall outside the original project scope.  (More on Change Control in just a bit.)

3.       Development

The development of the software is broken down into smaller units for a couple of reasons.  First, this allows any bugs to be caught early in the development process, and to be more easily traced back to the source of the issue.  Second, it lets us deliver functionality to the client in pieces along the way, and gather feedback more frequently.  This confirms whether we are on the right track at a point when it’s easier (and less expensive) to make adjustments rather than if we’d waited to do this at the very end.

4.        Testing

 Occasionally, clients believe they’ll save money by doing the software testing themselves.  While we certainly offer clients the opportunity to review and sign off on the final product before release, we won’t take on projects that don’t include our own testing process in the scope of work.   We’ve found our own tools and trained testers are critical in ensuring a system meets all requirements, as many bugs as possible are caught and fixed prior to launch, and the system works properly in its intended environment/s.

5.        Client Review

 After we’ve completed thorough testing and before the software is deployed, the client has the opportunity to review the system in a test environment.  This offers a final chance for feedback.  Any bugs the client finds at this point are fixed.  However, if the client feels additional functionality is needed, and it wasn’t included in the original scope, we’ll need to implement our Change Control process (described below).

6.       Deployment

 After the client signs off on the product, the final version is deployed and ready to use.  We continue to monitor the error logs to make sure all is well, and check in regularly with the client.   In addition, our team has a wrap-up meeting after every project to gather feedback and continually improve how we do things.

Change Control Process

We’ve mentioned before that software projects are unpredictable, and changes inevitably come up during the process.  If an out-of-scope change arises at any point during a project, we communicate the following in writing to the client:

  • Estimated effort to implement  the change
  • Impact on the timeline if done in the current release
  • Impact on resource allocation if done in the current release
  • Estimated cost
  • Our perceived priority
    • Show Stopper (needs to be completed in current release)
    • Nice to Have (could be completed in a future release)
    • Future Enhancement

The client then has the opportunity to ask questions before signing off on the priority level, timeline, and cost. The client may also decide the change is not worth making after seeing the impact to the project. This process is a great way to weed out things that don’t really add value to your product.

Adding Value to Your Investment

Custom software is a major investment, and we work to ensure we’re adding as much value to that investment as we can.  It’s the reason we’re up front from the very beginning about the dangers of fixed bids.  It’s the reason we don’t just go through the motions and do exactly as you tell us–we speak up and offer our own suggestions and ideas to make sure your goals are being met.  It’s the reason we’re responsive throughout the process (and beyond) and why we make sure to explain the technical in a non-technical way.

We hope this post helps you better understand our process of custom software development.   If you have project ideas of your own, please contact us.  We’d love to hear from you.



Posted in Custom Software Development | Tagged | Leave a comment

Custom Software Development Part 1: Project Bids

Custom Software Development

We’ve worked on a good number of custom software projects over the past five years.  In the process, we’ve learned quite a bit about structuring these projects for success in order to minimize the stress and risk for our clients (and ourselves!)   The custom software development process we’ve fine-tuned over the years ensures a quality outcome, minus the project-derailing surprises along the way.

In this and an upcoming post, we’ll cover this process.  Today, we’re starting with project bids and why we do things the way we do.  The first important point we need to make is this—and it may be obvious–custom software projects have three interdependent variables:  scope, time, and cost.   If the scope of the project increases, the time it takes to complete increases, which means cost goes up.  There’s no way around it.

At Far Reach, we don’t commit to fixed bids on custom software projects, and here’s why.

Custom software projects are not 100% predictable.  Not even close.  A fixed bid pretends they are and leaves you with these possible outcomes:

1.)    The developer loses out:  Inevitably, unexpected discoveries come up or new ideas arise that would add real value to the product.  Thus, the project takes more time than projected and the developer loses money – too many of these, and the developer is out of business.

2.)    The client loses out:  Experienced developers forced into a fixed bid situation will “pad” the bid, and often by quite a bit, because they know better and have no choice.  In this instance, the client may end up paying more than necessary.

3.)    Both lose out:  This, frankly, is the most common outcome.  The developer is forced into a situation where she must focus on time spent rather than fully understanding the problems and their best solutions.  The developer is forced to cut corners.  The project maybe comes in at budget, but the product is inferior.  No one wins in this situation.  We certainly don’t want our reputation tied to an inferior product.

And, above, we mention the possibility that the developer loses money on the project. Are you thinking that’s not a concern for the client?   Think again.  Custom software is just that—custom.  No two developers would build a product in exactly the same way.  The same developer that builds the custom application is the same one you want maintaining it, if at all possible.   It will save you money and hassle in the long run.  For this reason, you want your developer to run a successful operation and be around for the long haul.

For these reasons, we charge our clients for the true effort that goes into creating their software, with clear communication about scope and budget along the way.  We believe there’s no other way for a client to get their money’s worth, and for us to put out a product of which everyone involved is proud.

For every potential project, we begin with a proposal that offers a high-level estimate and confirmation that we understand the goals of the client.   The estimate includes the following:

  • Project management
  • Business analysis
  • Design
  • Development

-Technical analysis / design
-Initial project setup
-Development / cutup
-3rd party license fees
-Unit testing
-Test site setup (if applicable)
-Deployment to production

  • Testing and bug fixes

This initial proposal gives the client a general idea of the potential budget of the project, and whether or not it makes sense to proceed.  If the client decides to move forward, the next step is typically an analysis phase to further refine the scope of the project and the resources required.  Next time, we’ll cover the analysis phase more thoroughly, along with the rest of our development process and why it adds value to our projects.

Have you been involved in a custom software project as either a developer or client?  What was your experience?   We’d love to hear about it in the comments below.

 

Posted in Custom Software Development | Tagged , | Leave a comment