Cost

A1. Do you give fixed-price bids?

We can give fixed-price bids in cases where project requirements and scope are well-understood. But although a fixed-price bid in theory guarantees a known cost for a project, this approach has limitations and is not necessarily in your best interest.

When a software developer agrees to a fixed-price, it is in relation to a specified scope of work. Whenever scope is clear and unlikely to change, fixed-price can be a good approach. But that’s not typically the case. Most business applications begin from a desire by the customer to explore the possibilities of the new application, including such questions as: How can I get the most leverage from the new software? What new information can be available to me? How can I reduce workload and improve efficiency of my staff? How can I improve service for my customer? How close to "real time" can my view of my business be?

On the other hand, after the requirements and external design have been documented and accepted, the remaining scope of a project is much more predictable. At this point we often give a fixed-price or not-to-exceed estimate for the remaining design and implementation work. If additional features or changes are requested, we can simply track them as separate tasks from the main project. This approach gives you the protection of a firm cost estimate , but retains the flexibility to make changes if necessary.

A2. Why is custom software so expensive?

The answer is a bit more complicated than the question. All software is expensive, and in an absolute sense, of course, custom software is usually much less expensive than product software—it's obvious that an application like Microsoft Word or Excel costs many millions of dollars to develop, but is relatively inexpensive to buy because its cost is spread among millions of customers.

Custom software is created for a very limited number of customers—usually one. The key, of course, is to develop custom software only for specific needs not met by off-the-shelf products, and where there are tangible economic benefits. In many cases these benefits are sufficient to make custom software at least as cost-effective as off-the-shelf software. There are other advantages, too, including the ability to modify or extend the software as your organization grows or your needs change.

Other useful questions would be:

  • If I need custom software, how can I maximize its effectiveness—how can I fully exploit this opportunity to blend our business processes with new software in order to boost the productivity of our personnel, reduce our costs, and improve service to our customers?
  • How can I be sure the software we develop is reliable and a pleasure to use?
  • How to insure that the software is flexible and adaptable for future needs?

In other words, how can I make sure the money we do spend on custom software is well-spent?

As software developers, our job at Eagle is to deliver the right answers to these kinds of questions. The essence of our work is to create cost-effective software of exceptional quality and utility. When that effort is successful, custom software may not seem so expensive after all.

A3. How can I reduce the cost of my project?

There are many aspects to project cost, but let’s take it from this point of view: “For a given finished product, how can I as the client minimize total cost?”

Here are some of the more effective things you can do:

  • Help get the requirements right. If you have time, do your best to state in your own terms all of the requirements for the new software. In any case, give especially good support to the developers during the requirements phase of the project. This is the most important step in the development process—everything that follows depends on it.
  • Refrain from making unnecessary changes. Once there is a clear conception of “version 1” of your software, avoid asking for changes to this version unless absolutely necessary. It's usually more cost-effective to accumulate ideas for enhancements and changes and then deal with them after the first version has been in use for a reasonable period of time.
  • Avoid artificial deadlines. As developers we will give you at each stage of the project our best estimate of the time required to complete the remaining steps. Sometimes there is a belief that a way to “get things done” is to simply set a deadline and insist that everyone live with it. This can not only lead to greater cost but can also lower the quality of the software. This is especially true during the requirements and external design phases of the project. The entire team—meaning your stakeholders as well as our developers—needs time to communicate accurately, digest, reconsider and explore the best options for your software. This is not wasted time nor does it indicate a lack of discipline. It is the least expensive way to arrive at solutions that go beyond the obvious—innovations whose marginal cost is low but whose marginal utility is great.

A4. How do I relate work accomplished to the invoices you send?

Eagle uses a proprietary Project Management System—called Manage!—that integrates time reporting, billing and project planning into a single system. For every project we create a detailed project plan in Manage! As the project progresses, each developer records in Manage! their time spent on each task along with a description of the work performed. Based on this information, invoices are produced for each billing period along with supporting timesheets showing exactly what was accomplished by each person on each task and when the work was performed. Using the same database, Manage! also produces updated project schedules and projections, as well as time and cost analyses for each part of the project.

A5. I’m responsible for the budget in our organization. Once the budget has been set, there is low tolerance for “surprises.” How confident can I be regarding your ability to deliver the promised results within the agreed-upon budget? What is the likelihood I’ll have to go back to my board for more funding?

This is addressed in part by the answers to earlier questions. Beyond that, there are several key points to keep in mind:

  • One of the keys to avoiding "surprise” is to have a well-defined project scope. Arriving at a scope definition is a team effort, involving both developers and stakeholders. If the team creates a statement of scope that is clear, sufficiently detailed, and appropriate to the goals of the project, the likelihood of later “surprises” is greatly reduced.
  • Another important key is to track and evaluate project progress on a week-by-week basis from beginning to end. This means that when the project begins, there must be a specific estimate of effort for each part of the project. All work performed must be tracked by related part. Then the relationship between percentage of “completion” must be compared regularly with percentage of “resource used.” Based on this evaluation, corrective action can be taken early when necessary, thereby greatly reducing " surprises" late in the project. This sounds extremely obvious, of course, but the real surprise is that developers often fail to track projects this way. (This is discussed in more detail in the the Project Management section of the website).
  • Finally, make sure that the person in your organization who is assigned as liaison with Eagle stays involved and keeps you candidly informed about the status of the project. As mentioned earlier, stakeholders and developers are one team—it’s essential that they share a common understanding of project status and goals—and problems, as well—throughout the life of the project. Sometimes “surprises” to some members of the team are simply facts that others have been aware of for some time.

A6. I expect to have a series of relatively small projects over the next year or two. I like the proposal you’ve given me for the first project, but I’m concerned that later on your proposals for new work will be less rigorous—in other words, once I’ve become somewhat dependent on you, I’m afraid your pricing won’t be as favorable as it was for the first project.

We have a standard method for estimating projects, which we always use, whether this is the first or tenth time we have worked together. Our estimates list in detail the tasks required for the project and relate these tasks to deliverables. All time and cost estimates are explicitly described. You can easily see how the estimate was arrived at and where there are opportunities to reduce cost or scope.

In addition, we normally work on a time-and-materials basis, so the cost will be based only on the actual time required to do the work. All work is meticulously described in our timesheets, and is tied to the specific tasks which make up the project.

A7. Our company definitely needs certain custom applications to help improve the efficiency of our organization—better control of costs, streamlined operations, and so forth. But our senior management is “old school”, so to speak, and doesn’t understand why our application should cost nearly as much as you say it will. They would prefer that we meet these needs with standard off-the-shelf tools like Excel, Outlook and Word. How would you respond to their point of view?

As far as tools are concerned, products like Excel and Word can be customized to serve a wide variety of needs, but they aren’t designed to be general purpose tools for creating custom business applications. In the long run, if you are creating a custom application, you have much more flexibility, reliability, maintainability and better performance if a conventional development platform is used (such Java, C#, Visual Basic or C++ in conjunction with web-oriented tools).

Whether a custom application will be cost-effective for your organization is something you and your management will have to judge. However, I can mention a few significant benefits of custom software which are often overlooked when making this kind of decision:

  • Custom software can “institutionalize” certain business practices in your organization. In other words, by having appropriately designed software, your users can be guided through certain processes in a way that encourages consistency and accuracy. This is especially helpful for employees who are new to your organization or are occasional users of the software.
  • The impetus for creating a custom application is often related to a desire to control costs or improve customer service in specific ways. When objectives are clearly described, software can be designed very effectively to meet those specific needs. In other words, the scope of a custom application should consist only of what's needed to provide specific planned economic and operational benefits.
  • Custom applications are “enablers” which, once in operation, can open up entirely new opportunities that weren’t possible or even conceived of before. In other words, once certain business practices are supported consistently and reliably by an application, you then have an opportunity to take further steps which would not have been possible—or even thought of—before the application had become part of your business process.
  • Here’s a relatively simple example: We created an integrated membership and program participation system for the YMCA of San Francisco. The system is web-based, with all member and program data for 15 branches stored in a single integrated database. Prior to our system, the YMCA’s legacy system was a network-based system with a non-GUI interface and a separate database for each branch’s data. After this system was implemented it became possible for the YMCA to offer system-to-system interaction with a business partner via web services. This was not one of the original goals of the system. It is just one small example of a valuable second-level opportunity which was thought of only after the “enabling” properties of the application had become apparent.

Risk

B1. How do I know I’ll get what I want?

There are really two parts to this question.

The first step is to know what one wants. It’s the most important question. Reaching an answer requires attention and effort.

The second question is whether Eagle can deliver software that is truly responsive to what you want.

Let’s take the first part of the question. Perhaps you know exactly what you want and have clearly documented it. If so, we can move on to the second part of the question. But this is usually not the case. An important part of our job is working with you to create a clearly-documented set of requirements and objectives for the application. When completed, this should be a document your stakeholders understand and accept as a valid description of “what you want.” You should be able to say, “if the application does this, then we’ll be delighted with it.”

Now the second part: once the requirements are clearly stated, how do you know that the implemented application will fulfill your expectations?

As soon as the requirements document is finished, we create a detailed project plan which describes all components of the application, lists all tasks, and estimates total effort and cost to design and implement the application. This project plan is based directly on the requirements analysis, showing clearly how each element of the system is a response to ‘what you want.” That’s just a first step, but it constitutes the “promise” of what we will deliver to you.

But that alone is not enough. Whether the developer can deliver "what you want" is the central question of project management, from the beginning to the end of every project—and it’s not just your question, it’s the developer’s question as well. Our approach to project management is our answer to the question. This is described in detail in the Project Management section of our website, but very briefly:·

  • the project plan is clearly and explicitly based on your requirements;
  • we create detailed weekly status reports showing for each task and each component of the application: time spent to date, time to go, total cost to date, total cost to go, projected completion date;
  • we evaluate progress with you each week, determine whether adjustments are needed in order to meet project goals, and collaborate with you regarding any changes to personnel, priorities, tactics, etc.

In addition, our development process is designed to give you frequent deliverables, understandable by all stakeholders, which clearly show the direction and extent of progress on the project. These deliverables include external design specifications which document all points of interaction between the system and its users, including report specifications and a user-interface prototype.

The bottom line is: we’ve been successful in creating custom applications for more than 30 years because we know how to reliably create “what you want.”

B2. How do I know my project will be completed on time?

Like other aspects of the project, this is carefully tracked and reported to you on a weekly basis.

Completion dates for milestones or the project as a whole are related to many things. But it’s worth noting that in the early stage of the project, especially during requirements analysis and external design, it’s often beneficial to allow more time than originally planned because each well-spent day during early stages of a project can save many days of work down the road.

In any case, when requirements are complete and we estimate the time and cost to complete the project, this includes a target completion date. As the project proceeds, its status is tracked in detail through our project management system, Manage! This status information is available to our developers and to you on a weekly basis. All decisions which affect delivery date and cost are fully discussed with you at regular status meetings.

B3. What are the risks of developing a custom system?

Like every business undertaking, software development has its own patterns of risk. Recognizing and dealing with risk is a normal and essential aspect of creating software.

Although each project has a unique risk profile, here are typical types of risk encountered in software development:

  • Finished application does not fit the needs of users
  • Inadequate performance
  • Development cost exceeds the value of expected benefits
  • Application not ready in time to meet critical needs
  • Unreliable or buggy operation
  • Too difficult to use, non-intuitive, requires training
  • Cost of ongoing support greater than expected

These kinds of risk are addressed in two ways.

First of all, the whole purpose of development methodologies and project management disciplines is to facilitate successful outcomes without falling prey to these risks. This is discussed in detail in the Principles, Development process, Project management and Rules of programming sections of this website.

Secondly, each project has its own unique set of risks, which should be explicitly addressed from the beginning. The development plan should identify these risks and describe how they will be evaluated and avoided. For example, suppose that for a given application there is potential for a "fatal" performance problem related to network architecture or database structure. In this case, small testbed applications should be built early so that actual performance can be measured before significant resources are invested. If risks like this are identified in advance, steps can be taken to guide development around potential problems without unnecessary waste of resources.

B4. We’re a pretty large organization, and the application we need is central to all of our operations. Currently we continue to use a number of legacy applications which have grown up over the years, but:   they are not integrated, many enhancements are needed, and we certainly can’t take advantage of the Internet with these existing applications. The problem is, we can’t afford to make any kind of mistake on this application. There’s too much riding on it, both politically and practically. It’s going to take the better part of a year to do the project, there are many stakeholders, and it has got to be done right and on time. In addition to your proposal, we’ve received bids from some of the larger consulting companies. If I knew with absolute certainty that the project would be a success, I’d prefer to work with you. But I don’t know how I can justify to my upper management the selection of a smaller company like yours for our mission-critical application—even though I would prefer to work with you and the cost of the application would be less.

That’s a perfectly understandable concern. Some of the larger software development companies would probably do a fine job for you, though the size of the organization alone is certainly no guarantee of that. I can only speak for what Eagle has to offer and leave it to you to decide what is best for your organization:

  • Eagle was founded in 1978 for the purpose of developing custom software applications, and has operated continuously, successfully and profitably since then.
  • The skills and professionalism of our developers are second to none.
  • We have developed literally hundreds of business applications, understand the risks, understand the development process, and, in short, understand how to deliver a high-quality product.
  • Our approach to project management is mature, effective and collaborative.
  • For 35 years we have stood behind our two-year warranty for all of our work.
  • Over the years, we have been selected by other organizations for mission-critical applications. For example, in 1993 Wells Fargo chose Eagle to develop a new Commercial Banking application. The project was completely successful, and our relationship with Wells continues to the present day.
  • In these days of increased reliance on off-shore resources, Eagle offers the benefit of developers intimately familiar with U.S. business practices, who can quickly and accurately understand your needs, and who are available to talk with you face-to-face and work with you shoulder-to-shoulder as often and for as long as needed.
  • Our aim—and our promise—is to eliminate the frustrations of custom software development, to bring your goals to reality efficiently and in a way that delights your management and users.

Application fit for purpose

C1. Because of the number of stakeholders we have, their varied roles in the organization, and their different levels of sophistication regarding software development, I’m concerned that communication between them and Eagle may be unmanageable, leading to an unsatisfactory work product, extra cost and/or delays in the project.

This is a common situation, and our approach to development takes this into account.

First, although we collaborate with all your stakeholders as needed, it is important to appoint one person from your staff to act as project liaison. They will act as the ultimate “approver” of the steps in the development process. This helps keep everyone on the same page and avoid miscommunication.

Secondly, our project specifications are designed to document—clearly and accurately—the common understanding reached by the team, stakeholders and developers alike. These specifications include such documents as the Requirements Analysis, Risk Analysis, Problem Domain Concepts and Vocabulary and the External Design Specifications. In other words, even though there is inevitably some apprehension about disorder as a project begins, the transformation into order begins immediately and results in documents which everyone can understand and agree on. Working effectively with stakeholders having a variety of backgrounds, training, points of view and opinions is a key part of our job—and we enjoy it. Especially as members of the team begin to see form emerge from the process.

C2. Our application needs are complex. We currently perform very sophisticated analyses of certain corporate data in order to determine appropriate actions to take now and in the near future. Currently we are doing this through a combination of legacy systems augmented by “manual” analysis (spreadsheets, and so forth). We need a new system which integrates, extends and streamlines this functionality, but we are very concerned about your ability to really “get it right” with regard to our business rules and our reporting requirements. How can we have confidence you can do this?

That’s the key question in all software development. In your case, because of the complexity of your application, you obviously need to know in advance that the product will be a bullseye with respect to your needs.

As usual, the answer has several parts: how our methodology insures “fit to purpose,” the exceptional experience and skills of our developers, and our track record, which confirms the efficacy of our methods and skills.

As described in the pages on Development process, the primary goal of the first phase of development is to be certain we are creating the right product. This always needs to be questioned—even when the client believes he knows exactly what he wants. As a generalization, it’s more true than not to say that the requirements for an application are never understood until the project has begun in earnest. All assumptions and beliefs must be suspended until they have been exposed to careful consideration by the team. This sometimes seems a little “over the top” to a client, but the alternative is that one or more invalid assumptions find their way into the requirements and lie there innocently until deployment—when their inappropriateness becomes visible to all. With good leadership, getting the requirements right in the first place simply requires a little time and good-faith participation by all members of the team. Not getting requirements right leads to costly redesign and reimplementation, bad experiences for users (who may in fact be your customers), delays in deployment of a usable system, lowered morale of team members and other negative consequences everyone has seen at one time or another.

So, methodology is one thing, but understanding methodology and applying it appropriately in “real life” is another. Without the actual experience of implementing many software applications, it’s impossible for a developer to truly understand the significance of best practices in software development. Eagle's development managers and project leaders have many years’ experience creating custom software. They understand very well that skillful execution of “methodology” in the real world brings a project to life, just as an orchestra transforms static notes on a printed page into something that is whole and alive.

But after all the words, actions are what count. We have been consistently successful for many years in doing what I’ve described above. Some examples are described on the Project section of the website. And we’ll be glad to put you in touch with some of our current and former clients if you would like to ask them about the work Eagle has done for them.

C3. My department head has assigned me to work with the software vendor for our new application. I’m not trained in software development or project management, and I’m very concerned that, in spite of my best efforts, the project may not come out the way my manager expects. How can we deal with this situation?

Your question is similar to the two previous ones, and I think those answers apply to your situation.

I would just add these comments to what has already been said:

  • It’s the developer’s responsibility to create documentation which you and other stakeholders can understand. If any of the documentation—especially the requirements and the description of the problem domain—aren’t completely clear and acceptable to you, then you should insist that the developer go back to the drawing board and try again. If the documentation at each stage of the project doesn’t make sense to you, don’t allow the project to go on to the next step.
  • Insist that the developer meet with you weekly to give you a status report on the project. You should be shown, for each component and each task in the project, how many hours have been worked to date, the estimated effort for completion, a projected completion date and projected total cost. Getting this information weekly helps you see right away any project slippage, either in terms of dates or cost. If progress on the project deviates significantly from your expectations, you will be able to bring the developer together with your management and work things out before there is an unpleasant “surprise.”

Quality

D1. Have you ever botched a development project?

Not as a final outcome. But any developer who hasn’t encountered problems with a project hasn’t been in the business very long.

Virtually every project has its challenges—that’s why millions of words have been written about dozens of different methodologies. In fact, software development seems in some ways like extreme white water rafting—if you fall asleep at the paddle it's all over.

We are glad to say that the great majority of our projects are completed without significant difficulties. I’m especially glad I can say that—even with the few occasional and inevitable “problem projects”—we have always delivered the goods in spite of problems encountered. And we have stood by every project with our 2-year warranty—without exception.

D2. Has your 2-year warranty ever come back to haunt you?

No. We stand behind every project, and if any warranty work is required, we do it gladly and quickly. Obviously, our ability to honor our warranty is based on delivering a high-quality work product in the first place.

D3. How do you insure that your applications are high-quality? What does “quality” mean to you when it comes to application development?

Put briefly, “quality” in a software application means to us:

  • it has excellent “fit for purpose,” it really does what you need and expect it to do;
  • it has good performance;
  • it is reliable, produces consistently valid output;
  • it is easy, intuitive and enjoyable to use, does not require training, does not intimidate users;
  • it is maintainable and extensible, can grow in a controlled way to meet future needs and accommodate desired enhancements.

Although “quality assurance” is an essential part of our development process, all of the above aspects of “quality” depend on the development process itself, especially the beginning phases of the project. “Quality assurance” is just the process of checking that quality is already built in to the product—and it better be, because it’s usually cheaper to start over again than to put “quality” into a product that doesn’t have it.

If we do a good job in determining requirements, defining the problem domain, assessing risks, creating a clear, understandable user-interface and meaningful outputs, then we’re laying the essential foundation for quality in the finished product. These aspects of our development process are discussed throughout this FAQ section and in the Methodology section of this site.'

Relationship

E1. What is my role in insuring the success of the project?

Probably the most fundamental things are to stay involved, stay close to the project, and don’t give up on your vision of what the application should be.

Sometimes managers believe that once a project is pointed in the right direction, they can pull back a little and “everything will be all right.” Everything may be all right, but even it is, many small issues and decisions arise over the course of the project, and you should be aware of these. Small inputs from you on a regular basis can, by the end of the project, make a big difference in the finished product.

From time to time there will be a feature in your application that someone, perhaps a developer, perhaps one of your stakeholders, will resist or want to change. Sometimes it should change, but other times the only motivation is “to make things easier” for the developers. If it’s an important feature, someone needs to be the advocate for the overall quality and integrity of the finished application. This is something you should do when it seems appropriate.

There are some more suggestions in the response to question C3.

E2. Our corporation is moving a lot of our application support offshore, where labor rates are much lower than in the San Francisco Bay Area. What benefits can you offer us that make it economically effective to work with you instead of our offshore resources?

Using offshore resources has been the “big thing” lately. However, I believe this trend will begin to reverse course a bit over the next year or two, especially when the full range of costs and benefits are more clearly seen.

For instance, speaking generally, but based on actual cases of offshore projects I am familiar with, here are some of the benefits you are more likely to receive with local, high-quality developers:

  • Doing the project once. I have heard the same story a number of times: “we had to redo parts of the project several times, but the labor rates were so low we accepted that.” It’s hard to see how this is an acceptable approach to a project. To begin with, this surely increases the elapsed time of a project. Secondly, what is the threshold that determines whether you “throw this piece back over the wall” or accept it? It sounds like it could lead to components of varied quality, where in some cases they aren’t quite bad enough to insist on a do-over.
  • Ongoing relationship, enhancement process. One of the real benefits of the local smaller development company is continuity of relationship. Our customers are used to being able to come back again and again and work with the same developers they already know—developers who are intimately familiar with their business and their software application. There is no “learning curve” for enhancements, for example. If your application is developed offshore by people you’ve never met, what happens next year when you want to take the application to the next step? Perhaps the enhancements are modest in scope—will you be able to communicate effectively to the offshore developers what you want to do? Will it be a cost-effective exercise? If you use offshore developers for the enhancements, what will be the cost of getting them up to speed with your application?
  • Direct communication. All I can say about this is that I’ve personally been involved in the development of hundreds of custom business applications, and there are always times—sometimes frequently—when face-to-face communication is the only conceivable way to reach a common understanding of what is really needed. True, this isn’t a black and white issue, and I'm not saying that appropriate communication is impossible—but it does seem to me that on anything but very large projects it can be a problem, and more trouble than is justified by the per-hour cost benefits.
  • Knowledge of U.S. business practices. I think it is obvious that in general local developers—especially those with extensive business applications experience —understand U.S. business practices and nomenclature better than anyone else in the world. This may not matter when it comes to device drivers, graphics software, and such, but it’s a key issue for business applications and applications with user-interfaces designed for U.S. users.
  • Understanding of complex applications. This is related to other points made above. Of course off-shore developers can understand complex applications as well as anyone else. The problem here is that complex applications tend to grow and evolve over time. Developers and customer experience a shared learning-curve which may occur over several years. The direct and frequent communication possible in a local relationship is invaluable in the creation and maintenance of very complex applications.
  • Immediate, direct response to your needs. We are able to respond to our customers immediately. When they have a question, need an enhancement or need some other kind of support, we are there, in the same time zone, and ready to do what the situation requires.
  • Warranty. We provide a two-year warranty for all of our work. In order to support our warranty effectively, direct and immediate communication with our customer is essential.
  • Control of the project. Regular face-to-face communication between developers and stakeholders makes projects go better. You can ask questions, see reactions, shape a project status or design meeting in response to the visible interaction of team members.
  • One team does it all, from analysis through deployment. Eagle’s approach to development is that a team of developers handles the whole project, from beginning to end. The people doing requirements analyses and studying the problem domain are the same ones coding and doing deployment. Why? At least two reasons. First, we want our developers to be competent with every aspect of development. We don’t want to end up with designers who are no longer “current” with the latest technologies, and we want our implementers to fully understand both your specific requirements and the development process as a whole. This approach is a key benefit to you as a customer. This is an approach that is usually impractical or impossible for organizations using offshore resources.

E3. Our corporate IT department has specific policies which control the manner in which applications are developed and deployed in our organization. While they may seem excessive at times, they promote stability, reliability, and security in our corporate systems, which are vital to our organization. At the same time, my personal concerns are more oriented toward the actual functionality I need in the new application. Can you be responsive to my needs while working collaboratively and productively with our corporate IT personnel?

Certainly. We’ve worked very successfully in similar situations with a number of other clients, including Wells Fargo Bank, Safeway, Valero Energy Company, Hitachi and Logitech. If you’d like to discuss this question with our contacts at any of these companies, just let us know.

Project management

F1. Am I going to have any responsibilities in managing this project?

No and yes. Eagle always accepts responsibility for the success of each project, regardless of how it is organized.

At the same time, we and our clients work collaboratively as a team, so the allocation of project management responsibilities can suit your preferences—and may vary from project to project depending on your needs.

For projects in which you prefer to be fully informed but not have management obligations, Eagle willingly accepts full responsibility for all aspects of project management.

F2. Our organization has a lot of stakeholders and they aren’t organized in any particular way with respect to this project. Can you manage that situation?

Yes, we can. For purposes of final approval and official project communication, we ask you to designate a single contact. But for purposes of requirements analysis, external design meetings, and other collaboration, we gladly coordinate meetings and communication with all involved stakeholders.

F3. I’m not a programmer and, although some of my employees have some experience with computer technology and programming, we don’t have the expertise in-house to know objectively whether the project is really on track. How am I protected from a situation where I’ve paid your bills as the project goes along, only to find that all the money has been spent and we don’t have the product you promised us?

Before the project begins we will decide on a series of milestones with corresponding deliverables and evaluations. For certain deliverables, you will be able to determine very easily that the planned goals have been met. In other cases, if it seems appropriate, we can arrange for a third party to review and evaluate deliverables.

Our track record is based on total reliability in meeting project goals. It’s important for all team members to always understand the status of the project—including an accurate measure of the remaining time and cost required for completion. Although the details of objective measurement of project status will vary from project to project, it’s important at the very beginning of the project to establish a method you are comfortable with.

Types of project

G1. What kinds of projects do you do?

Primarily medium to large business applications built on Internet and client-server technologies.

Although most companies make good use of many off-the-shelf applications, from word-processing and spreadsheets to accounting, and enterprise-wide applications like Customer Relationship Management, Enterprise Resource Planning, etc., virtually all have areas of need not met by these applications. Every organization is unique in many ways—perhaps in the specific services or products it offers, in how it is managed, or how it relates to customers, and so on. Each one has certain areas where it operates in its own way, for its own reasons, distinct from everyone else. It is in these areas where custom software can be very effective in controlling costs, enhancing revenue opportunities, and improving the efficiency and reliability of business processes. These are the areas where we understand how custom software can really benefit an organization, and where we have been successful creating effective, reliable applications.

We have deliberately chosen to work in a wide range of industries. Your one-of-a-kind needs are what interest us—our professional pleasure comes from giving you software that is from beginning to end a bullseye for you—not some compromise based on modifying an off-the-shelf application.

G2. What kinds of projects do you turn down?

We turn down a project if:

  • the planned budget or timeframe seems unrealistic;
  • we don't have the skills or resources needed for the project;
  • we don’t believe the functional or performance goals of the application can be met.

G3. Do you have the resources for a fairly large project?

Our larger projects have been in the range of 10,000 to 20,000 manhours (roughly 5 to 10 man years, with a cost range of $1.0 to $2.5 million)

G4. What is the smallest project you’re willing to accept?

Consulting engagements can be any amount of time that seems appropriate for your need. As far as software development projects are concerned, the smaller ones tend to be 400 to 600 manhours ($45K to $70K).

Support

H1. I may need help making sure that our IT infrastructure is compatible with and adequate to support your application. Will you be able to assist me in that regard?

Sure. We work with a number of very competent hardware / network consultants who can respond to this sort of need.

Your questions

Please feel free to send us a note with any additional questions you have. We’ll get back to you quickly.

 

Copyright (c) 2005 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