<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="331686" data-post-id="331686">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Lucassifoni" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Lucassifoni/120/39057_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Lucassifoni
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yeah, you learn more in a half-day onsite than in weeks of e-mail exchanges.</p>
<p>Sometimes people keep a frustration because writing a proper e-mail with details is a lot of effort.<br>
But I also notice a lot of “we didn’t want to bother you” for changes that take 30 seconds and are perceived as deep magic.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="331686" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/small-scale-project-management/64226/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-331686" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="331686"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="331689" data-post-id="331689">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ds604" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ds604/120/34211_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ds604
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="linusdm" data-post="4" data-topic="64226">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/linusdm/48/30659_2.png" class="avatar"> linusdm:</div>
<blockquote>
<p>I guess we’re so far removed from our client, that they don’t see the trouble we’re having with this constant stream of (allegedly) urgent work. We on the other hand don’t see their struggle, when things we made are making some things harder in their day-to-day worklife.</p>
</blockquote>
</aside>
<p>I don’t know how applicable this might be to your particular circumstance, but just wanted to comment on this more basic premise of providing useful functionality. (This is not necessarily to be critical of your particular case, but to highlight some aspects of the dynamics that arise in these types of scenarios.)</p>
<p>I’ve worked in VFX pipelines, and also helped scientists and others with domain expertise with their issues. In either case, there are lots of things that are not known ahead of time, and the work changes all the time too. The most important thing is to be sitting there next to the person doing the work, or even bettter, for it to be your job to do some part of what they’re doing, so that you experience the actual pain points of their work. It is very easy to misunderstand what someone is doing, even if they give you as detailed a description as they possibly can (which of course you should be grateful for, because you are now a burden, and taking time from them being able to do their work), and especially if the work is 1) not something completely standardized 2) has frequent changes 3) has <em>actual complexity</em> not because of the need to deal with some over-engineered system, but because <em>real world scenarios have complexity</em>. In all likelihood, they might not quite understand the friction points which influence behavior in this type of time-constrained work, which tend to be harder to verbalize than the “big stuff.” They’ll certainly tell you about the big obvious things, but the thing is, a lot of those big obvious things <em>are not what count in day-to-day circumstances of carrying out the work</em>.</p>
<p>The invisible small friction points that people think they can work around are what wind up bringing projects to their knees, where you wind up with complex, rule-oriented systems, some supposedly productivity-enhancing thing that “automates” the wrong thing, or adding in constraints that kill people’s ability to carry out basic work tasks.</p>
<p>Beyond VFX, some of these issues have become so ingrained in the systems that have resulted from the era of “online advertising-driven tool development,” that it’s even hard to see the issue at hand. A lot of systems are thinly disguised means of generating profits for cloud computing businesses, or data capture operations. So some of what are described as “best practices” are actually funneling people towards serving those ends. The “helpful functionality” aspect takes a back seat and is out-of-mind as a primary concern. But if you want to actually help people with what they need done, it’s hard to get around the fact that you need to actually experience the world from their point of view.</p>
<p>An ideal situation to be most effective at actually helping would be… to join the company and work as an employee, who can see and experience what they need. Barring that, just work on <em>small bits of functionality that actually help them to do specific tasks</em> rather than on “shipping an applicaton” that they might just set aside and never use, the moment it makes anything they actually need to do harder than it was before.</p>
<p>Before you build a whole system to address their problems, you should try to figure out if you can address <em>just one thing</em> that they face on a day-to-day basis. Or see if you yourself can carry out some action that is actually useful to their operation. That’ll build confidence and give insight into the issues that they <em>actually need</em>, rather than what they say they want, or what you project onto them as something that they need, or that you build into a system because it’s something that you are interested in, but has nothing to do with their problem. These are all things that can invisibly contort projects into things that serve a different end goal than providing <em>actually helpful functionality</em>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="331689" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/small-scale-project-management/64226/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-331689" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="331689"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="331697" data-post-id="331697">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sweeneydavidj" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sweeneydavidj/120/5892_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sweeneydavidj
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve been in this situation too, both as a sole developer and in very small teams - so I can feel your pain. By the sounds of things I’d say you’re doing very well considering the situation.</p>
<p>There’s already a lot of very good advice in this thread so I’ll just touch on a couple of things that worked well for me.</p>
<ol>
<li>
<p>Have a prioritized list of work (a backlog or whatever) with highest priority items at the top. You may have to maintain this list but the client is responsible for setting the priority. Actually, only the top of the list is important (and these items should be well specified). But this can help to improve relations and remove stress because when the client asks for another new feature or to change something that has already been changed a few times already, you can just say “sure no problem let’s add it to the list”. And then at some point they get to prioritize it. Also you may have a lot of influence and be able to affect the ordering decisions so that things are in a more logical order - basically helping the client to help themselves - but they have the last word.</p>
</li>
<li>
<p>There should be one person (product owner) with overall responsibility on the client side - or at least one person that is overall responsible for communicating that vision to you. In the end you can’t accept different direction from different people at the same time. That doesn’t mean that you can’t work with other people on the client side but someone must have the final say so that you get clear direction. And it is this person that decides the priority of the list in point one.</p>
</li>
<li>
<p>This has already been mentioned, but I think it’s very important to have regular scheduled meetings/calls to discuss the work in the list and to show that progress that is being made or clarify any doubts about specifications etc. These could be separate meetings or all done at the same time - it depends on what works best for everyone involved.</p>
</li>
<li>
<p>Try to bring the client on this journey with you - explain about the list/backlog, product owner and scheduled calls and explain to them how this is going to help you all work better together - try to bear in mind that the people on the client side are probably doing their best too and all this is a bit alien to them <img src="https://forum.elixirforum.com/images/emoji/apple/grimacing.png?v=15" title=":grimacing:" class="emoji" alt=":grimacing:" loading="lazy" width="20" height="20"></p>
</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="331697" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/small-scale-project-management/64226/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-331697" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="331697"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="332491" data-post-id="332491">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="linusdm" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/linusdm/120/30659_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  linusdm
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Lucassifoni" data-post="10" data-topic="64226">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lucassifoni/48/39057_2.png" class="avatar"> Lucassifoni:</div>
<blockquote>
<p>One thing I would try to avoid at all costs today is a budget expansion, because that also means time expansion. IMO It is better to deliver something close, but adjusted, to the initial scope with limited resources than to deliver a huge lot more than the initial scope with resources that never stop renewing.</p>
</blockquote>
</aside>
<p>Yes! It sounds very enticing to just slap on a few more weeks, before actually shipping a first version, to have some more time to add new features. But in reality risk just grows and grows. I’m very aware of the dangers of postponing go-live.</p>
<aside class="quote no-group" data-username="sweeneydavidj" data-post="14" data-topic="64226">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sweeneydavidj/48/5892_2.png" class="avatar"> sweeneydavidj:</div>
<blockquote>
<p>By the sounds of things I’d say you’re doing very well considering the situation.</p>
</blockquote>
</aside>
<p>Thanks for noticing <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>We’ll be transitioning into a second phase soon. I’ve already arranged to be working on-site some days of the week, which will be a very interesting experiment. I’ll try to tighten some feedback loops and take ownership of keeping more order in our backlog.  Meanwhile we’ll invite them to take on the responsibility of prioritizing the most pressing features for the next development cycle.</p>
<p>Thanks everyone taking the time to add to this discussion <img src="https://forum.elixirforum.com/images/emoji/apple/pray.png?v=15" title=":pray:" class="emoji" alt=":pray:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="332491" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/small-scale-project-management/64226/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-332491" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="332491"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>