<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Team Development &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/team-development/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Mon, 17 Aug 2020 19:15:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Why we don’t provide ETAs &#8230; and why you shouldn’t either</title>
		<link>https://blog.xojo.com/2019/10/29/why-we-dont-provide-etas-and-why-you-shouldnt-either/</link>
		
		<dc:creator><![CDATA[Geoff Perlman]]></dc:creator>
		<pubDate>Tue, 29 Oct 2019 17:34:55 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[App Development]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Rapid Application Development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Team Development]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=6187</guid>

					<description><![CDATA[Brent Simmons did an excellent job explaining why developers shouldn't provide ETAs. ]]></description>
										<content:encoded><![CDATA[
<p>Brent Simmons <a href="https://inessential.com/2019/10/28/no_etas">recently</a> did a better job of explaining this than I ever have. His summary just nails it:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>This is all just to say that app-making is nothing like building a house. It’s more like building the first house ever in the history of houses, with a pile of rusty nails and your bare hands, in a non-stop tornado. It’s different every time, and it’s astonishingly complex, non-linear, and unpredictable &#8230; <em>The only reason anything ever ships is because people just keep working until it’s ready.</em></p><cite>*emphasis mine</cite></blockquote>



<p>And if you have any doubt of the truth of this, just look at software projects that ship on a pre-defined schedule rather than when they are ready. </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Guest Post: 5 Tips to Control Development Business Chaos</title>
		<link>https://blog.xojo.com/2016/08/23/guest-post-5-tips-to-control-development-business-chaos/</link>
		
		<dc:creator><![CDATA[Xojo]]></dc:creator>
		<pubDate>Tue, 23 Aug 2016 06:00:28 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Guest Post]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Beginner Tips]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Team Development]]></category>
		<guid isPermaLink="false">http://blog.xojo.com/?p=1612</guid>

					<description><![CDATA[If you can put a few systems in place, you will deliver better customer service, increase your productivity, and communicate better. Here are five tips to help you on your path of reigning in the chaos.]]></description>
										<content:encoded><![CDATA[<p>Having problems controlling your projects and clients enough to enjoy your life and have fun developing software? If you can put a few systems in place, you will deliver better customer service, increase your productivity, and communicate better. Here are five tips to help you on your path of reigning in the chaos.</p>
<p><span id="more-1612"></span></p>
<p><strong>1. Manage Scope – Keep a Wish List</strong></p>
<p>You want the client to dream, right? Having a place where you can keep things that they would like to do “some day” or brilliant ideas that weren’t in the initial scope will help you keep your project within scope. If you don’t actually complete a project, the client gets no value from it. You spend time upfront scoping the project based on the client’s needs and then the sparks of brilliance can get in the way. So, when that great new idea comes up, the answer can be, “Absolutely! Let&#8217;s get that on the list for after we finish developing what we said we&#8217;d develop.” Having a Wish List gives you a place to put things that are known to be out of initial scope. Plus, it gives the client a sense of, &#8220;Okay, good! This is going to get addressed one day and you heard what I needed.&#8221;</p>
<p>Here’s the secret: most of what goes on that list will never get done. The client will either forget what it is when you go back through the list after your project is complete. Or once they starts using the software, they will realize the solution doesn’t need it. But, you&#8217;re guaranteeing that what you&#8217;re creating ends up having real, lasting value for your client. A happier client will keep coming back to you for more work.</p>
<p>At the end of the project, you can go through the Wish List with your client and include the new requests in the scope for Phase 2 or write a Change Order to address them.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-1615" src="https://blog.xojo.com/wp-content/uploads/2016/08/Reign-in-the-Chaos.jpg" alt="Reign in the Chaos" width="800" height="800" /></p>
<p><strong>2. Projects Must End! (But What About the Bugs?!)</strong></p>
<p>Let’s face it. When you deliver something to a client, you&#8217;re not guaranteeing it for five years, right? If the client finds a bug in five years, you’re not coming in and fixing it for free. It&#8217;s custom software; there will be bugs; there will always be bugs.</p>
<p>Part of your sales process needs to address that there will be bugs, how you are going to handle them, and how they get paid for. You can always fix newly found bugs as part of Phase 2 or a Change Order, so you aren’t telling your client they have to live with it forever. But, make sure the client understands that it is part of the process!</p>
<p>Plan to deliver a project based on when testing begins to ensure an end date. Tell your client that they have a certain time to do alpha testing. (Two weeks is a good time period depending on the scope.) Then, you can make some of your magic developer tweaks and fixes, before returning it to the client for two weeks of beta testing. Finally, take it live, possibly with known bugs that you will continue to work on as part of the original scope. Bugs and tweaks found <b>after</b> the timeframe can go to the Wish List.</p>
<p>It is your obligation as a professional to provide a completed project that brings value to your client. If you don&#8217;t make them test it by providing a consequence, they won&#8217;t do it. And then, they won’t have the value of the completed project. In essence, by forcing this, you are better serving him.</p>
<p><strong>3. Project Manage Your Own Business</strong></p>
<p>Where is <b>your</b> list kept? As a developer, you always have to-do lists for your clients. But, what about the things you need to do to run your business? How do you remember to invoice when you your head is buried in the development that you love?</p>
<p>First step: Stop managing projects via email. Stop the madness now! There are simple-to-use and inexpensive project management solutions out there, like <a href="http://www.basecamp.com/">Basecamp</a>, that can be set up to manage your clients’ projects and track communications. You don’t have to insert a bureaucratic process to manage your work better; simply be more deliberate in how you communicate. (If you need assistance on how to set up Basecamp to work best for you and your clients, don’t hesitate to <a href="mailto:susan@beyondthechaos.biz?subject=Help%2520me%2520with%2520Basecamp!">contact me</a>.)</p>
<p>Second step: Don’t manage your business with sticky notes. Add a project into your solution (I call mine Operations.), and add your to-do&#8217;s into that project. Most of these types of software will allow you to set dates and reminders. You can even assign a to-do to your subcontractors to submit their timesheets.</p>
<p><strong>4. Avoid Interruptions</strong></p>
<p>Plan your tomorrow before you end today. Check your schedule vs. your to-do list and confirm you have a plan. Then, focus on what you&#8217;ve planned to do. You’ll be a lot more efficient, both in not burning your clients’ hours and in getting to completed work.</p>
<p>The only reason you should stop what you&#8217;ve planned to do is if the client has an actual emergency. The fact that the client found a typo on one of the layouts is not a reason to stop what you&#8217;re doing. You want to train your clients to work in a more efficient way. The benefit to them is that when you have six typos to fix at once, it&#8217;s going to cost them the same amount as if you had just fixed one. The benefit to you is you&#8217;re not thrown off your plan, and you don&#8217;t have to change directions in your mind.</p>
<p>You want to encourage your clients to use your selected project management software properly to report issues and to use email or the phone in an emergency only.</p>
<p>If you proactively change your schedule because you need to think about something else or you&#8217;re struggling to solve a problem, actively choose to change directions. However, if you&#8217;re reacting to an email or responding to a client call &#8211; that&#8217;s throwing you off, you have to limit those interruptions. You can close your email; emails don’t disappear if you don’t read them immediately. You can turn off your phone; we’ve had voicemail since at least the 1980s. (And, guess what? I had to do <b>both</b> those things just to write this blog post!)</p>
<p><strong>5. You’re Always Selling</strong></p>
<p>To help you gain better clients and also to keep your schedule more consistent, keep selling, even when you’re booked. Clients who really want to work with you are probably willing to wait a month or more to get started. Work on filling the pipeline so you are better able to pick and choose your clients, resulting in getting to work on projects and with people you like. <b>Create a real sales process.</b> For more details on a sales process development, check out this blog post: <a href="http://beyondthechaos.biz/sales_process_vs_income/">Lack of Sales Process Limiting Your Income?</a></p>
<p><i>Susan Fennema is the Chaos Eradicating Officer (CEO) of Beyond the Chaos, a consultancy helping small business owners gain control of their lives through better processes, organization, and structure of their business operations and projects. She has over 25 years experience in the software development, creative, marketing, and advertising industries, after receiving her BA in journalism from Texas A&amp;M University. She lives and works in McKinney, Texas, with her husband, her dog, and two cats.</i></p>
<p><i>Website: </i><a href="http://www.beyondthechaos.biz/"><i>www.beyondthechaos.biz</i></a><br />
<i>Twitter: </i><a href="http://www.twitter.com/susanfennema"><i>@susanfennema</i></a><br />
<i>Facebook: </i><a href="http://www.facebook.com/beyondthechaos"><i>Beyond the Chaos</i><i><br />
</i></a><i>LinkedIn: </i><a href="http://www.linkedin.com/in/susanfennema"><i>Susan Fennema</i></a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Guest Post: Using Gitflow for Team Development</title>
		<link>https://blog.xojo.com/2015/11/23/guest-post-using-gitflow-for-team-development/</link>
		
		<dc:creator><![CDATA[Ken Tekinay]]></dc:creator>
		<pubDate>Mon, 23 Nov 2015 00:00:00 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Guest Post]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Team Development]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2015/11/23/guest-post-using-gitflow-for-team-development/</guid>

					<description><![CDATA[Learn about Gitflow, a convenient way for multiple developers to work together using Git.]]></description>
										<content:encoded><![CDATA[<p><em><span class="s1">Guest Post by Kem Tekinay, a consultant and developer based in New York. Kem&nbsp;has been an avid Xojo user since the early days and is a world-renowned thinker and philosopher, at least its his own mind. You can find him and his works through the <a href="http://www.mactechnologies.com">MacTechnologies Consulting web site</a>.</span></em></p>
<p class="p1"><span class="s1">After months of work, y</span>our project is so fabulous that you need more developers. You&#8217;ve been using Git as your version control system and creating/merging branches to keep it all straight, but so far it&#8217;s just been for personal use. How do you coordinate with others to maintain some semblance of order?</p>
<p class="p1"><span class="s1">Try the Gitflow Workflow.</span><span class="s1"><br />
<span id="more-339"></span></span></p>
<h2 class="p1"><span class="s1">Gitflow</span></h2>
<p class="p1"><span class="s1">Gitflow is a popular way of managing revisions centered around a few basic ideas and actions. It is built into recent version of Git and supported by clients like the free <a href="https://www.sourcetreeapp.com/"><span class="s2">SourceTree</span></a> and the commercial <a href="http://www.git-tower.com/"><span class="s2">Tower</span></a> apps.</span></p>
<p class="p1"><span class="s1"><img decoding="async" style="width: 578px;" title="gitflow source control" src="https://blog.xojo.com/wp-content/uploads/2015/11/Gitflow.pngt1466486449161ampwidth578" sizes="(max-width: 578px) 100vw, 578px" alt="gitflow source control" width="578" data-constrained="true"></span></p>
<p class="p1"><span class="s1">You start Gitflow with two main branches, <em>master</em> and <em>develop</em>. These are initialized for you when you activate Gitflow through one of the gui apps or through the command line.</span></p>
<p class="p1"><span class="s1">The <em>master</em> branch is never modified directly. It is the code for the currently released version of the app and it is only updated on a new release.</span></p>
<p class="p1"><span class="s1">The <em>develop</em> branch is never modified directly either. It starts as a branch of the current master and is updated with changes made in other branches (<em>feature</em> or <em>hotfix</em>, see below). The key here is that the <em>develop</em> branch should always be in a state where it can become the new <em>master</em> at a moment&#8217;s notice.</span></p>
<p class="p1"><span class="s1">Gitflow is then concerned with the actions that we developers might take. The first common action is to start a &#8220;feature&#8221;. This <em>feature</em> branch should be appropriately named, e.g., &#8220;Addinvoicequerywindow&#8221;, and is usually branched off of <em>develop</em>, although it can start from any commit or branch. The developer works in this branch to add and test their&nbsp;code, committing as necessary. Once complete, they&nbsp;&#8220;finish&#8221; the <em>feature</em> by choosing &#8220;Finish&#8221; from the Gitflow options. Gitflow merges the <em>feature</em> branch into <em>develop</em> and optionally deletes the branch.</span></p>
<p class="p1"><span class="s1">Each developer can have as many simultaneous features as needed and can manually merge one feature branch into another, or cherry pick changes from any other branch.</span></p>
<p class="p1"><span class="s1">The next action that a developer might need is a &#8220;hotfix&#8221;. By starting a <em>hotfix</em> branch, Gitflow will branch off of <em>master</em>, not <em>develop.</em>&nbsp;The purpose of a hotfix is to correct a bug that came up in the currently released version that cannot wait for the next full release. Once a <em>hotfix</em> is &#8220;finished&#8221;, Gitflow will merge it back into both <em>master</em> and <em>develop</em>. At that point, the new <em>master</em> should be compiled and released.</span></p>
<p class="p1"><span class="s1">The final action is the &#8220;release&#8221;, started after all the needed features have been merged into <em>develop</em> and are&nbsp;ready to be deployed. This is where you can make final changes like updating the version number, release notes, etc. When a <em>release</em> is &#8220;finished&#8221;, Gitflow will merge it into <em>master</em> and <em>develop</em>, and tag that branch with the version number. After that, the next cycle begins.</span></p>
<p class="p1"><span class="s1">In short, you start a <em>feature</em> (or features), make it work, then finish the <em>feature</em>. When all your features are done, start a <em>release</em>, update version numbers, etc., and finish the <em>release</em>. If a bug in the currently deployed version comes to light, start a <em>hotfix</em>, fix the bug, then finish it. By using &#8220;start&#8221; and &#8220;finish&#8221; through Gitflow, it handles the appropriate branching, merging, and tagging for you.</span></p>
<p class="p1"><span class="s1">For more information, go to <a href="https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow"><span class="s2">the Atlassian site</span></a> for a good general description and examples (scroll down on the site to read about Gitflow).</span><span class="s1"><br />
<!--HubSpot Call-to-Action Code --> <span id="hs-cta-wrapper-9e86dfb8-7d24-487b-a044-9a461c7f16ca" class="hs-cta-wrapper"> <span id="hs-cta-9e86dfb8-7d24-487b-a044-9a461c7f16ca" class="hs-cta-node hs-cta-9e86dfb8-7d24-487b-a044-9a461c7f16ca"><br />
<!-- [if lte IE 8]></p>





<div id="hs-cta-ie-element"></div>


<![endif]--> <a href="https://www.youtube.com/watch?v=D_iMQAjaxLA" target="_blank" rel="noopener noreferrer"><img decoding="async" id="hs-cta-img-9e86dfb8-7d24-487b-a044-9a461c7f16ca" class="hs-cta-img aligncenter" style="border-width: 0px;" src="https://blog.xojo.com/wp-content/uploads/2015/07/9e86dfb8-7d24-487b-a044-9a461c7f16ca.png" alt="Version Control Video Git" width="645" height="104"></a> </span><script src="https://js.hscta.net/cta/current.js" charset="utf-8">// <![CDATA[
<script type="text/javascript"><![CDATA[ hbspt.cta.load(608515, '9e86dfb8-7d24-487b-a044-9a461c7f16ca', {});
// ]]&gt;</script></span><br />
<!-- end HubSpot Call-to-Action Code --> </span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Assigning Your Xojo License To Someone Else</title>
		<link>https://blog.xojo.com/2013/07/04/assigning-xojo-licenses-to-your-team/</link>
		
		<dc:creator><![CDATA[Alyssa Foley]]></dc:creator>
		<pubDate>Thu, 04 Jul 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[License Management]]></category>
		<category><![CDATA[Team Development]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2013/07/04/assigning-xojo-licenses-to-your-team/</guid>

					<description><![CDATA[Managers, Coordinators, Purchasing Agents, Xojo has got you covered! Did you know you can assign Xojo licenses from your account to other accounts? Assigning a license to a member of your team gives them access to that Xojo license and any associated support, while you retain the ability to revoke and extend those licenses and services.]]></description>
										<content:encoded><![CDATA[<p>Managers, Coordinators, Purchasing Agents, Xojo has got you covered! Did you know you can assign Xojo licenses from your account to other accounts? Assigning a license to a member of your team gives them access to that Xojo license, while you retain the ability to revoke and extend those licenses.</p>
<p>This blog post steps through a license owner assigning their Xojo license to an end user.</p>
<p><em><strong>TL;DR</strong> </em> Go to go your <a href="https://www.xojo.com/account/people.php">Team pages</a>. End users share their connection key with the license owner, then owner connects with end user&#8217;s account by <em>adding</em> that connection key. Now, the owner can assign licenses to anyone they are connected with from their <a href="https://www.xojo.com/account/licenses/manage.php">Licenses Page</a>.</p>
<p><span id="more-42"></span></p>
<p>Make sure everyone involved already has a Xojo account. If not, create an <a href="https://xojo.com/account/login.php">account</a>.</p>
<p>1. Everyone log in and go to their <a href="https://www.xojo.com/account/people.php">Team page.</a></p>
<p>2. The end user gets their connection key and shares it with the license owner.</p>
<p><img decoding="async" class="aligncenter wp-image-5586 " src="https://blog.xojo.com/wp-content/uploads/2013/07/add-connection.png" alt="" width="566" height="389" /></p>
<p>3. From the <a href="https://www.xojo.com/account/people.php">Team page</a>, the owner selects &#8220;Add Connection&#8221; and &#8220;Adds&#8221; the end user&#8217;s connection key. Now the accounts are connected and the license owner will see that end user listed in their Team.</p>
<p>4. Now the license owner can assign their licenses to anyone in their team from their <a href="https://www.xojo.com/account/licenses/manage.php">Licenses Page</a>. Select the box next to a license, scroll down to &#8220;Assign A License&#8221; and choose a name from the drop-down.</p>
<p><img loading="lazy" decoding="async" class="wp-image-4165 aligncenter" src="https://blog.xojo.com/wp-content/uploads/2013/07/Screen-Shot-2018-04-17-at-1.08.55-PM.png" alt="" width="553" height="162" /></p>
<p>Now that the license is assigned, the end user sees it in <a href="https://www.xojo.com/account/licenses/">their Licenses Page</a>, has access to any associated support and special forum channels. The license owner can revoke or extend the license at any time.</p>
<p>Add multiple team members and change who the license is assigned to as needed. If you have questions, contact Xojo Customer Service at <a href="../../../../../../com/xojo/blog/index.html">hello@xojo.com</a>! <!-- end HubSpot Call-to-Action Code --></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
