Monthly Archives: September 2012

How You Can Gain an Unfair Advantage

You’ve always had competition. In today’s environment, if you come in second, you run the risk of losing the race altogether.

But who says you have to settle for last place, or even second best? Here’s a little insight into what many of your competitors are doing, and how you can gain an unfair advantage…

1) Many of your competitors are determined to run their businesses using pre-packaged software. The trouble is, they spend more time trying to adapt their business processes to conform to the software instead of tailoring their software to accomodate their way of doing business. So the tail ends up wagging the dog. Employees gripe. Management gets frustrated by less-than-optimum productivity levels. And software that’s supposed to make life easier, actually ends up costing more than it’s worth.

2) Others have become hopelessly mired in custom software minutia. They tried designing massive custom software solutions to address every last need. They’ve invested inordinate amounts of time, energy and money writing up detailed specifications. They’ve spent countless hours reviewing specifications, polishing presentations for key decision makers, and ironing out every last detail. As a result, they blew past any realistic budgets or timelines long ago. And the pie-in-the-sky software solution everyone is banking on never actually materialized. Or it’s become so bloated and complicated as a result of trying to handle every conceivable scenario, that end users throw up their hands in frustration.

That’s why you have an unfair advantage. You’ll be taking an entirely different approach. You recognize that there truly IS a better way. You’re not going to be manhandled by pre-packaged software. Nor are you willing to get bogged down by bloated, impossibly-complicated custom software that never gets off the ground.

Instead, you’re going to start small. While you’ll always have the big picture in mind, you’ll start by identifying individual processes that could benefit the most from custom software. You’ll collaborate with a developer you trust, tackling one processs at a time.

The benefits of this approach are threefold: 1) Turnaround time will be a matter of weeks, not months or years. Your developer will be communicating with you on a regular basis–asking questions, demoing each feature, confirming that it meets your requirements. 2) The cost for individual components will be lower. You won’t be tying up huge down payments without having anything to show for it until a massive project is complete. 3) You’ll start realizing a return on your investment as soon as the first component has been implemented. And you’ll see continued improvements in ROI as each new component goes live.

At I/O Technologies, we believe custom software should make your life easier sooner than later. Give us a call to discuss how we can help you gain a competitive advantage and leave your competition in the dust.

What sets us apart from our competition.

Most programming companies will claim they write quality code. But after reviewing literally millions of lines of other programmers’ code, I believe I can say with some credibility that quality programming is scarcer than one might expect. Over the past 17 years, we’ve been asked to take over support and development of many applications written by other programmers. Some were well-written and reflected considerable attention to detail. Most resembled a bowl of spaghetti—overflowing with non-standard naming conventions, unnecessary indirect references, non-normalized database structures, and a copy-and-paste approach to coding that demonstrates precious little regard for future enhancements or support. When we inherit such projects, we’ve usually been able to revise them, bring them to a successful conclusion, and deliver a superior product that our customers will use for years.

When developing a new application from the ground up, we start by designing normalized data structures. Then we create a set of reusable classes and procedure code so the completed application will have a standard look and feel. Using standard naming conventions is a requirement for all programmers working at our company. So is the use of embedded commentary. As a result, future programmers will quickly be able to understand the purpose and functionality of a given section of code months or even years after it was first written.

Over the years we’ve acquired a considerable level of experience identifying what personal traits, test scores and interview results are predictors of a great programmer. And it shows: although our current staff is relatively small, I don’t believe you’ll find a more creative, intelligent or cohesive group to work on your project.

I realize we’re not much to look at: We don’t offer a polished sales presentation. You probably wouldn’t voluntarily choose to socialize with our geeky programming staff members. Winning friends and influencing people isn’t our strongest suit. But if you’re looking for a solid partner who’s been around the block a few times, who’ll listen to your needs, pay attention to detail, and demonstrate genuine concern for your company’s continued growth and success, I believe we’re worth a closer look.

Introducing Contact! – A Free Contact Manager

Running a business (or household) successfully requires careful
attention to detail. Several years ago we started developing a
contact manager to help us keep track of customers and prospects.
We’ve tinkered with it over the years–adding functionality here
and there as needs warranted and time allowed.We use this software in our office every day, and believe others
may benefit from it as well. So we’re giving it away to our
customers, friends, and anyone else who might find it useful.

Download a fully-functional version, install, and you’ll be up
and running in no time!

Download Now

For detailed instructions on how to install Contact!, click here.  (Requires Adobe Reader).

Here are just some of the features now available in the current version of Contact!:
Easy to use – this contact manager doesn’t bog first-time users down with complicated rules on how to use it.
Multi-user enabled. Simple to install on multiple workstations.
Drag-and-drop files into the attachments grid to associate them with individual contacts.
Add unlimited number of notes for each contact.
Sort/Search contacts by first name, last name, company, city, zip, and date entered.
It’s Free! This is NOT try-before-you-buy software. It’s 100% free. Click here to view the license agreement.

About I/O Technologies, Inc.

Founded in 1994, I/O Technologies Inc. provides software solutions for businesses large and small. We offer a wide range of products and services designed to empower people through great hardware and software – any time, any place.

Dave Martin
dmartin@iotechno.com
262-437-3239 x101

I/O Technologies Inc Logo

Input / Output Solutions for Business.

I/O Technologies, Inc.
W157N11647 Fond Du Lac Ave
Germantown, WI 53022
800-318-8529Web: http://www.iotechno.com
Blog: http://blog.iotechno.com

Bridging the Gaps Between Islands of Data

We’ve seen it many times. As a company grows, intelligent people within the company want to manage their data in ways that will help them do their jobs. What could be wrong with that? Not a thing. People can do some pretty amazing things with spreadsheets and database applications. As companies grow – especially from small to mid-size – the tendency for departments and individuals to create these data islands increases.

There’s one problem. These islands of data are just that: islands. Data is only as useful as it is accessible by the right people at the right time. Sometimes data can get stranded and inaccessible. Smart CEOs and managers take steps to ensure that both the input of data and output of data continue to be available.

Granted, there are definite advantages to independent data marts running within an organization.

  • They help bypass corporate bureaucracy and red tape.
  • They empower individuals to manage their workload, sometimes in very creative ways.
  • And they allow for changes to applications and macros can be made on the fly.

Unfortunately, the list of potential disadvantages is lengthier:

  • Uncontrolled data access. If you put the application on the network without security, anybody can see everything. On the other hand, perhaps your company’s decision makers make poor choices, not knowing the data is already available.
  • Poor communication between the data island and corporate data warehouse.
  • Data and application failure danger, especially if running on a standalone computer.
  • Limited awareness of what all is happening with data within the organization. What happens when Joe Wizard takes an extended vacation, or leaves the company altogether? What if his data is password protected? What if an employee or manager spends hours re-creating a report that already exists in a different system?
  • Poor documentation. Sometimes it’s difficult to know how to run an application, and the impact that changes to data will have in other areas.
  • Departmental turf wars that arise as work groups challenge the accuracy of each other’s data or the effectiveness of their applications.
  • Redundant Data. As the number of islands grows, the amount of redundant data can grow uncontrollably across your company. And no wonder. Each island requires its own, typically duplicated, copy of the detailed corporate data.

What’s the solution?
At a minimum, explain your corporate policy, outlining the need for software applications to be documented and shared with management. This may even fall into the realm of Sarbanes-Oxley requirements for your company.

Rather than fight with the geniuses who built individual applications, embrace their creativity! Ask for their input on how to incorporate updates into your corporate database. Designing effective applications from scratch can be a daunting task. Why not use what has already been created as the starting point for discussion?

Data consolidation doesn’t have to be expensive, or impede the ability of people to be more productive. If done right, it will actually help everyone across the company see the data they need, when and where they need it.

The advantage of writing up detailed design specifications.

In order for us, or anyone else to provide you with an accurate proposal, your company would benefit greatly by having a detailed design specification drawn up, then using it as your road map for the actual software development work. It can serve as a great reference point and benchmark.

What is a design specification?

A design specification is a document which describes what a completed application will look like. It spells out the required characteristics to be considered for awarding a programming contract-including sufficient detail to show how the application is to be created.

A completed software design specification should do all of the following:

  • It should be able to adequately serve as overview for programmers, giving them enough information and understanding about a project so they can get up to speed quickly, and won’t feel overwhelmed when asked to create or modify source code.
  • It should serve as the blueprint that designers and programmers use to benchmark whether they’re designing the application in keeping with the original intentions of the design team.
  • It needs to be as detailed as possible, but must not impose such a burden on the programmers and implementers that it becomes overly difficult to create or maintain.
  • Finally, it needs to explain what will not be included in the finished product. This will help ensure that all project stakeholders are on the same page.



Advantages

Using a design specification will ensure that:

  • Your company’s expectations are documented, and agreed to by all decision-makers within the organization
  • All major design issues are unearthed and addressed
  • Your time and effort isn’t wasted by repeatedly explaining project requirements to multiple developers
  • Priorities and timelines for all the desired features and components can be established
  • Objective cost/benefit analysis can be performed
  • The resulting proposal(s) can be compared against a single standard. It’ll protect you from having to compare quotes on an apples-to-oranges basis.
  • Your company’s expectations will be met by the developer who ultimately develops your new system



Seven-Step Method

The procedure we follow when writing a system design specification includes these steps:

  1. Preliminary investigation – thorough review of all documentation and other materials provided by client
  2. Conduct interviews of key personnel as identified by management.
  3. Define project scope and constraints
  4. Create comprehensive system specification document
  5. Present results and recommendations to management
  6. Adjust specification per management feedback
  7. Deliver final specification document to management



The Next Step

After these steps are performed, you now have a tool you can use to solicit detailed proposals from as many developers as you like.