What is it like to work with Eagle? Perhaps the best answer is to say something about how we view our work and what we consider important.

Respecting the user

This sounds simple, and in a way it is—but how often do software developers really make the quality of the end-user experience their top goal?

Creation of software is exploration. It’s a joint exploration by the customer and the developer. It requires attention, patience, and an unbending search for optimal user experience. It may require a deeper understanding of your business rules and processes. It may involve refinement or reformulation of goals.

When this exploration yields a design and then an implemented system, its success is measured by the quality of the end-user experience. Software should connect each user so comfortably and efficiently with the business process that it is delightful to use—always supporting the user’s needs in a natural, effortless and productive way.

Software can attain this quality only when customer and developer begin with respect for the user—when the needs of direct and indirect users are the ultimate priority. It can’t be achieved as an afterthought or an item on a checklist. It has to be the foundation of the development process, from the first moment to the last.

Understanding

Respect for the user experience requires a thorough understanding of the goals and practices of the user. It requires intimate knowledge of what developers call “the problem domain.” In any business there are a unique vocabulary, a local world view, practices and processes that have evolved to meet the specific needs of the business.

A software application doesn’t necessarily try to mimic an existing business process—on the contrary, a new application often offers opportunity to clarify, improve, make more robust and flexible, and perhaps at the same time to simplify. But whether an application closely follows existing practices or is part of significant change in the business process, it can be successful only if the developers have come to a clear and true understanding of the problem domain.

Again, this may seem both obvious and simple, but it is not. Anyone who has helped design software has seen the real challenge of creating a clear, consistent and valid description of the problem domain. In any existing business, whether it be strictly human-based or already computerized in some form, elements of the problem domain include documents, information structures, information content, processes, goals, standards, users, information consumers and donors. Facing these elements, one encounters impediments to clarity in many forms, such as:

  • terms having multiple meanings or used inconsistently
  • terms no one can accurately define
  • inconsistent decision-making
  • processes done in a certain way, but no one knows why (even though there may be a good reason for it)
  • incomplete or incorrect understanding of relationships
  • confusion about levels of abstraction, points of similarity, points of distinction

A thorough and orderly understanding of these elements of the problem domain is essential to successful software development. To gain this understanding, several things are required. First, to realize one does not understand it—and this applies in some degree to the customer as well as the developer. Then to acknowledge there are no shortcuts to understanding—it is the essential beginning point for all software development and must be an explicit part of any methodology.

Relationship

For our part, our aim is to offer open and collaborative support of your goals. We should be the medium through which your expressed needs and desires are transformed into software that works beautifully in the real world.

This is never as easy as it sounds, and we know we must contribute patience, endurance, and intellectual rigor to the process. We must also bring a respect for your budget as well as the time demands on your personnel. We know our obligation is to “make it happen,” and to do so within the constraints of money and time that make the project worth doing.

Project management

The preceding points—respect for the user, understanding, and a supportive relationship—are essential to how we work, but they don’t happen by themselves. The force that keeps these elements alive is project management. “Project management” sounds dull and mechanical. It’s not. It’s the heart of the effort to develop quality software. And it’s the role of the project manager to continually keep the entire team—developers and stakeholders alike—close to the principles which lead to successful software development.

But project management requires more than keeping the team to essential principles. It must be able to measure progress in a valid way, both in terms of result and cost. This, too, is a challenge, as everyone knows. To meet this challenge, Eagle has developed proprietary project management methods and software. We believe this has given us exceptional insight and control of project progress and costs.

Track record

All of this sounds like promises. They are. Promises of what you can expect when you work with Eagle. But they are not just promises, they are also a description of how we have worked with all our customers. Eagle has developed hundreds of business applications over the years for scores of different customers. We have delivered every time. If you are considering Eagle as a resource for your software needs and would like to check our track record, let us know. We’ll be glad to put you in touch with some of the many people and companies we have worked with. And we’ll hope to include our work with you as a success story, too.

Copyright (c) 2005-2014 by Eagle Research, Inc.
"Software for the Internet age" is a registered trademark of Eagle Research, Inc.

Home    |    About Eagle    |    Services    |    Experience    |    Methodology    |    Something Different    |    Site Map    |   Contact Us