<div dir="ltr"><p dir="ltr">Vladimir,</p>
<p dir="ltr">Bugfixes and minor refactoring often belong in separate commits. Combining "extending foo to enable bar in XYZ" with "ensuring logs from service abc are sent via syslog" often makes little sense to code reviewers. In this case it is a feature enhancement + a bugfix. </p>
<p dir="ltr">Looking at it from one perspective, if the bugfix is made poorly without a feature commit, then it looks like the scenario you described. However, it has the benefit that it can be cleanly backported. If we simply reverse the order of the commits (untangling the workaround), we get the same result, but get flamed.</p>
<p dir="ltr">Sometimes both approaches are necessary. I agree that not growing tech debt is important, but perceptions really depend on trends over 3+ weeks. It's possible that such tech debt bugs are created and solved within 2-3 days of the workaround. I know that's the exception, but I think we should be most concerned about what happens when we carry tech debt across entire Fuel releases.<br></p>
<div class="gmail_quote">On Nov 11, 2015 10:28 AM, "Aleksandr Didenko" <<a href="mailto:adidenko@mirantis.com" target="_blank">adidenko@mirantis.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">+1 from me<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 10, 2015 at 6:38 PM, Stanislaw Bogatkin <span dir="ltr"><<a href="mailto:sbogatkin@mirantis.com" target="_blank">sbogatkin@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think that it is excellent thought.<div>+1</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Tue, Nov 10, 2015 at 6:52 PM, Vladimir Kuklin <span dir="ltr"><<a href="mailto:vkuklin@mirantis.com" target="_blank">vkuklin@mirantis.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Folks<div><br></div><div>I wanted to raise awareness about one of the things I captured while doing reviews recently - we are sacrificing quality to bugfixing and feature development velocity, essentially moving from one heap to another - from bugs/features to 'tech-debt' bugs.</div><div><br></div><div>I understand that we all have deadlines and need to meet them. But, folks, let's create the following policy:</div><div><br></div><div>1) do not introduce hacks/workarounds/kludges if it is possible.</div><div>2) while fixing things if you have a hack/workaround/kludge that you need to work with - think of removing it instead of enhancing and extending it. If it is possible - fix it. Do not let our technical debt grow.</div><div>3) if there is no way to avoid kludge addition/enhancing, if there is no way to remove it - please, add a 'TODO/FIXME' line above it, so that we can collect them in the future and fix them gradually.</div><div><br></div><div>I suggest to add this requirement into code-review policy.</div><div><br></div><div>What do you think about this?<br clear="all"><div><br></div>-- <br><div><div dir="ltr"><div><div dir="ltr">Yours Faithfully,<br>Vladimir Kuklin,<br>Fuel Library Tech Lead,<br>Mirantis, Inc.<br><a href="tel:%2B7%20%28495%29%20640-49-04" value="+74956404904" target="_blank">+7 (495) 640-49-04</a><br><a href="tel:%2B7%20%28926%29%20702-39-68" value="+79267023968" target="_blank">+7 (926) 702-39-68</a><br>Skype kuklinvv<br>35bk3, Vorontsovskaya Str.<br>Moscow, Russia,<br><a href="http://www.mirantis.ru/" target="_blank">www.mirantis.com</a><br><a href="http://www.mirantis.ru/" target="_blank">www.mirantis.ru</a><br><a href="mailto:vkuklin@mirantis.com" target="_blank">vkuklin@mirantis.com</a></div></div></div></div>
</div></div>
<br></div></div>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div>
</div>