<p dir="ltr">Yes. I do not pretend invent something there.<br>
However I do not do test driven dev after documentation. looks better for the team to start coding with a fresh idea of what to do.<br>
Tests can limit code inventiveness sometimes. <br>
Postone coding start is also stressing due to short delay. I prefere to reduce time to do tests, but deliver in time the project, as far those tests are added during life of programs, while bug fixing. This justify also maintenance costs ;-)... </p>
<p dir="ltr">"Envoyé depuis mon mobile " Eric</p>
<br><br>---- Grzegorz Junka a écrit ----<br><br>
<p>This is called Documentation Driven Development:</p>
<p><a class="moz-txt-link-freetext" href="http://thinkingphp.org/spliceit/docs/0.1_alpha/pages/ddd_info.html">http://thinkingphp.org/spliceit/docs/0.1_alpha/pages/ddd_info.html</a><br>
<a class="moz-txt-link-freetext" href="http://stackoverflow.com/questions/588760/documentation-driven-design-your-experiences">http://stackoverflow.com/questions/588760/documentation-driven-design-your-experiences</a><br>
<a class="moz-txt-link-freetext" href="https://gist.github.com/zsup/9434452">https://gist.github.com/zsup/9434452</a></p>
<p>This works as long as the documentation isn't over-specific.
Otherwise it turns into a waterfall model of development.<br>
</p>
<p>Grzegorz<br>
</p>
<br>
<div class="moz-cite-prefix">On 04/05/2016 18:42, Éric Pailleau
wrote:<br>
</div>
<blockquote
cite="mid:lgebt067j1lavshrov2titjo.1462386546663@email.android.com"
type="cite">
<p dir="ltr">Hi,<br>
It is certainly unusual, but I almost always start by writing
user documentation, before coding.<br>
There is some interests to do so.<br>
First, documentation exists at end of project because it exists
at beginning. <br>
Second, documentation describe simple things like you would need
as a user, and not complicated things as consequences of bad
coding. Coding is then driven by this goal, and generally
simplify the code itself. <br>
Third, coders know the goal to achieve at start and do not loose
time in, finally, unneeded things.<br>
I really recommend to do this experience. <br>
</p>
<p dir="ltr">"Envoyé depuis mon mobile " Eric</p>
<br>
<br>
---- Grzegorz Junka a écrit ----<br>
<br>
<br>
> - I have said several times that we write code because it is
quicker to<br>
> write it from scratch, than to discover code that does what
we want, or<br>
> modify code that does almost what we want but not quite.<br>
><br>
<br>
That's very true, but it applies all the way through. The more
time has <br>
been invested into some code the more time it would be needed to
write <br>
it from scratch. For example, I would prefer Elixir's convention
of <br>
listing the object on which the operation is being performed as
the <br>
first argument in library function calls over the OTP convention
of <br>
listing it as the last argument. But I am not going to rewrite OTP
<br>
libraries for that small inconvenience.<br>
<br>
Very often understanding an existing application and fixing issues
is <br>
easier and quicker than writing a new one from scratch, especially
if <br>
one only need to understand a specific or small part of it, and
even <br>
more if the existing application supports plugins allowing to skip
large <br>
parts of its code in custom modules.<br>
<br>
This should be a lesson for those who design applications and its
<br>
interfaces, and in my opinion putting effort into designing the <br>
application properly is more important than documenting
everything, <br>
because it's always a trade-off. Very often the documentation
isn't <br>
there not because it's not needed, but because there was not
enough <br>
resources to put it there in the first place.<br>
<br>
If the architecture is good then the documentation can always be
added <br>
later. But if the architecture is not good, then no matter how
much <br>
documentation is written, it will be quickly outdated by the
constant <br>
and often fixes and patches to that architecture to make it
working.<br>
<br>
Grzegorz<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a moz-do-not-send="true"
href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a moz-do-not-send="true"
href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote>
<br>