2

Hopefully the title is worded accurately, here goes.

I have built a data management framework for my client. Gather data, organize, save to database, provide web portal so they can monitor the field, and notification system. The client is looking to add workorder management to the system. Automated workorder generation would be triggered by unit shutdown (alarm condition) and the preventative maintenance schedule. The system would also include inventory management. Workorders would be manually added as well.

The client sent out the work scope last week. They had mentioned that the spouse of one of their employees could contribute to this project. We all met this morning and the spouse spoke of her idea of how to implement the system.

Her system would involve building a java application that would be installed on each user's machine. Other option is a web interface written in java.

The existing application is a web-based interface built with Python & Flask. MySQL is the database backend.

My concern is that we would both be working in completely different technological ecosystems, thereby providing the client essentially two completely disparate systems that logically should exist as one entity.

I would like to provide the WO management as a section of our existing web application. For various reasons, it is intimately tied to the underlying database. Some refactoring of the schema is in order, but extending the existing application to provide this functionality seems like the best choice for a few reasons*.

Obviously, I am trying to approach this pragmatically. I don't want to give the impression that I am pushing my offerings selfishly. I really don't want them to deal with two systems that perform the work of one. I see that as the source of headaches, costs, delays, more headaches.

The spouse already has a full time employment commitment. I have already told the client that I am available to devote primary effort to this project. I don't think that this is a case of "lets throw some work to X as a favor". I see the client as choosing what is best for their needs.

ADVANTAGES OF 1 vs 2 SYSTEMS: 1) The system is one system instead of two.

2) It is an extension of the existing application.

3) consistency on the UI

4) web application does not require install. The user login system on the website is already in place. HTML5's WebStorage allows offline functionality to be incorporated.

5) current system already interacts with the database.

6) Listing a site's current workorders would be easier, not requiring back and forth communication.

TL;DR How to pragmatically show that incorporating a layer of isolated technology to solve a problem that could be solved by an extension of the client's existing technology is not ideal?

My plan is to formalize my proposal from a tech perspective and share it with all parties involved, and hope that it speaks for itself.

What do you think?

5

If it were me, I'd ignore the outside contractor entirely unless specifically asked.

I would not intentionally note anything the outside contractor is suggesting and I wouldn't "build in" counter arguments to my bid. I would detail what I feel is the proper way to proceed and why. Giving a solid argument on your own merits rather than bouncing them off of other methods which you may or may not feel are inferior.

Stating anything about why ContractorX's methods are "not as good" just makes things look petty and personal. Reserve any opinion about other bids/workers unless you are asked about them.

Basically.... Don't. Just pretend the other contractor doesn't exist and provide a detailed, solid outline in your bid with explanations as to why this method is the best in your opinion.

Once your proposal is viewed, then you can explain the areas where the friend/spouse-of-the-boss may be of assistance. I would not allow the presence of some other relationship sway how you would traditionally propose the work and proceed.

2

I would say to document your methodology in your technical proposal, and couch your objections to the other design as potential "risks". Discuss the pros and cons in a completely neutral tone and only on technical merits. The client is the one to make the final decision and they are the ones who are going to have to live with the result, whatever that may be.

You might consider adding a clause in future contracts about giving you "right of first refusal" for additional work or alterations that are based on the current work that you are contracting to do.

2

You can't do to much about the other consultant, but what you can do is to improve yours. Here's how.

The first thing is that is not easy to understand what you are writing. If your client is not technical, s/he will be even more lost.

The advantages you mention are written in a technical way. Write them using a business approach.

Schema

Write each problem and solutions in a schema like this:

  1. Problem

    1. a summary

    2. details

  2. Solution

    1. a summary

    2. details

But always focusing on client business. Do not focus on technology aspects.

Business Terms

Some business terms to consider(some of them might overlap with technological side):

  1. Features

    1. Automated steps
    2. Ease of use
  2. Potential for:

    1. getting new developers onboard
    2. getting components to solve future business problem
    3. reduce future integration efforts
  3. Cost, client budget

  4. Time, deadline

Do you know how your client is driven by each term, what is the one that client is more likely to decide upon? Focus on that before others.

And use terms related with client world: employee time, conversions, income. See below.

Rewriting the advantages

I will rewrite one for now:

  1. consistency on the UI -> Users will not waste time learning two different graphical designs, this means better user productivity, up to x hours saved per week, that will allow better product quality and/or more conversions up to y%, this means more income, about $z more per year.

The more you can know about x hours, y% more conversions, and $z more income, the more you will be in client mind.

Others will be pending:

  1. The system is one system instead of two. ->
  2. It is an extension of the existing application. ->
  3. web application does not require install. The user login system on the website is already in place. HTML5's WebStorage allows offline functionality to be incorporated. ->
  4. current system already interacts with the database. ->
  5. Listing a site's current workorders would be easier, not requiring back and forth communication. ->
  • I'm not sure that this answers the question. I imagine the OP knows how to write a proposal that weighs up pros and cons. The question is more to what extent is it necessary to address the competitions' recommendations and how is this situation should be delt with. – user152 Mar 1 '15 at 19:32
  • Yes, I think an introductory paragraph was needed. – sites Mar 2 '15 at 0:46
1

So you're asking if you will ditch the competition or be a fair player and risk to end up in a mess?!

When I formulate like this, it's obvious that you will ditch the competition and disregards everything she says (pretend like she does not exist). But will the client appreciate it? He introduced you to this project, she did not come aside and start meddling. If I am a client and want to give some work to my friend's wife and some contractor starts slandering her, I would ditch that contractor.

So, firstly you have to think if her approach can be of real help. Then see if she can finish her part in a reasonable time (the client has to approve time).

I would then arrange a meeting with both of them and be open to the both. Simply explain why would it be bad to use her approach and how you will get stuck. Be nice. The client has to see that his project may be jeopardized and not to see that you are slandering her. If you think she can help, offer how she can help.

If nothing works and the client keeps insisting she be a part of the project, then you can either continue hoping everything will turn better or cancel the project.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.