

Taking DevOps To The Next Level - KilleRabbit
http://www.aviransplace.com/2013/10/28/dev-centric-culture-breaking-down-the-walls/

======
zaroth
This is an interesting read, and there are serious problems Aviran is trying
to address. I would be a bit concerned about 'tail wagging the dog' or also
known as 'inmates running the asylum' with such a developer-centric approach.

"Architecture should be done by the developers themselves while the architect
should become a consultant and a supervisor."

Engineers can care very deeply about components of the system which the
customer is blissfully and entirely unaware. In my experience, Engineers also
_really love_ to refactor, which can just as often be reshuffling deck chairs
versus truly reducing technical debt.

An architect's job is to fully understand the working system so they can
figure out the right places to build or add functionality efficiently,
effectively, without creating a monster. An architect needs to be able to say
(and end the discussion with) 'No we're not going to do it that way' when an
Engineer wants to re-write the lowest level communication protocol between two
system components resulting in 6MM of development and QA and zero impact to
the user-level features or performance of the system.

"When a product manager hands over a spec to a developer, the developers
usually don’t really read the whole spec..."

I've had this happen to me (exacerbated by working remote / cross-country) and
it is an absolute killer. A good spec is worth its weight in gold for aligning
a team toward a common vision. I think the real problem is the spec needs to
be a living document, and be a continual influence/guide during technical
discussions. If you are constantly referring to it and refining points of
ambiguity, the team is more likely to invest the time not just to skim through
it but really internalize it.

So I think the answer is not 'don't write the spec' or 'have the engineers co-
author it' but rather make sure it's relevant and useful to guide all your
future discussions about functionality. It should be possible to build
consensus and common vision with a spec rather than just dictate requirements.

~~~
KilleRabbit
I think developers don't really need specs. If developers and PM sit in the
same room they can do an iterative work and just implement the app without a
spec. It saves time and you get into the details together with the PM. However
if you are working in a distributed environment, then I totally agree with
you.

