Re: WebCup 2015

From: Vy-Shane Sin Fat <shane_at_node.mu>
Date: Mon, 25 May 2015 23:24:59 +0800

On Mon, May 25, 2015 at 5:25 PM, Mohammad Nadim <nadim.attari_at_gmail.com>
wrote:

> Hi Vy-Shane,
>
> I hope that you are being facetious.
>>
>> Good engineering isn't optional, period. Bad engineering will definitely
>> make the client lose money once the software sinks under its own weight
>> because it's too hard to make changes to it. Your client may not know or
>> care, but you should know better and should care. Software projects are
>> always evolving, and you can't take the short-sighted approach that you'll
>> throw it over the wall at version 1.0 and be done with it.
>>
>
>
> +1. Agreed.
>
> I hope if you want to, I quote,
>
> (2) provide something that won't make the client lose money (3) we make
>> money as a developer/"businessman."
>
>
> You HAVE to think about a good foundation (hence good engineering) that
> can be extended in the future, should you get other requirements from the
> clients, etc. The client does not have to invest much money and you should
> not lose money while coding / revamping.
>

We agree on this.

You have to access the clients' requirements, and develop accordingly. And
> you have to set a strategy as well. For example if the client does not have
> enough finance to get a "state of the art" solution in the beginning, you
> need to provide a simple solution, but something that converts. And you
> tell the client, get sales (and money) from the existing one. After XX
> months or YY years, we'll revamp the existing one, when you get enough
> money for a "state of the art" solution.
>

Yep. YAGNI, etc. What you've described above is a negotiation based on
scope. Not enough budget? Let's decrease the scope of work. We do not
propose to decrease the quality!

If the client wants a simple catalogue website, then why use, for example
> Wordpress (or any other off-the-shelf CMS/blog, etc)? You can even do it
> using flat files, and no need to have a back-end if the contents rarely
> change. Do I provide a solution with a CMS, where the client, when he
> accesses the admin panel, starts installing all sort of plugins, etc? Or I
> don't patch it when security holes are discovered because it was not in the
> contract? Who is losing money then?
>

Good engineering means building a static site when it's called for. I'm not
disagreeing with you on this point.


> If the client has enough money to get something big from in the beginning,
> then yes you need to consider many things (coding standards, soft engg,
> etc) so that developers joining afterwards do not find it difficult to
> integrate the team, so that you can add new modules/functionalities later,
> etc.
>

What I'm disagreeing on is the suggestion that it's okay to knowingly do
bad engineering in order to fit the client's budget. You're simply setting
your project up for failure if you do that.

Besides, things like coding standards, proper source control, automated
builds and deployments - these are part of what I consider "working smart"
(vs. working hard). They save you time, and that saves your client's money.
Received on Mon May 25 2015 - 15:25:34 PST

This archive was generated by hypermail 2.3.0 : Mon May 25 2015 - 15:27:06 PST