<?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>Jeff Sayre Webtrepreneur &#187; project management</title>
	<atom:link href="http://jeffsayre.com/tag/project-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeffsayre.com</link>
	<description>Thoughts on startups, leadership, the Web, and disruptive technologies</description>
	<lastBuildDate>Sat, 14 Apr 2012 16:43:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<atom:link rel="next" href="http://jeffsayre.com/tag/project-management/feed/?page=2" />

		<item>
		<title>Do You Live to Work, Or Work to Live?</title>
		<link>http://jeffsayre.com/2012/02/08/do-you-live-to-work-or-work-to-live/</link>
		<comments>http://jeffsayre.com/2012/02/08/do-you-live-to-work-or-work-to-live/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 19:09:10 +0000</pubDate>
		<dc:creator>Jeff Sayre</dc:creator>
				<category><![CDATA[Entrepreneurship & Leadership]]></category>
		<category><![CDATA[founders]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[mentoring]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[smartups]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://jeffsayre.com/?p=1736</guid>
		<description><![CDATA[At my previous company, my partners and I agreed on many issues. We also disagreed on a number of issues. But perhaps the biggest area of disagreement between myself and my partners was work style. As a consulting company, we tracked each hour of each employee&#8217;s day. We knew what they did and for how [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeffsayre.com/wp-content/uploads/2012/02/37335v5d34bl3oi.jpg"><img src="http://jeffsayre.com/wp-content/uploads/2012/02/37335v5d34bl3oi-300x300.jpg" alt="" title="Leadership and the Black Sheep" width="300" height="300" class="alignleft size-medium wp-image-1740" /></a>At my previous company, my partners and I agreed on many issues. We also disagreed on a number of issues. But perhaps the biggest area of disagreement between myself and my partners was work style.</p>
<p>As a consulting company, we tracked each hour of each employee&#8217;s day. We knew what they did and for how long they did it. We could calculate an employee&#8217;s total number of hours worked per year, average hours worked per day/week/month, what activities they spent most of their time focused doing, and therefore, each employee&#8217;s chargeability. That is consulting slang for how much profit we could squeeze out of each <del datetime="2012-02-08T18:45:32+00:00">lemon</del> employee.<span id="more-1736"></span></p>
<p>As it turned out, I had some leverage concerning the big disagreement that I had with my partners on this yet-to-be-revealed work-style issue. For each of the years I worked at the firm (except for the first year), I had the highest average working-hours-per-month total out of all the employees in the firm (over a hundred). To make matters worse (from my partners&#8217; perspective), the division with which I had P &#038; L responsibility was not only the most profitable in percentage terms but also in real dollars. Finally, before I came along, this division had never turned a profit and was a significant cash sink from the corporate coffers. I turned my division around in 18 months and it stayed strong from that point on.</p>
<p>So, when I did or suggested something that was not popular, I managed to at least get a slight pause and a few moments of consideration before the arguing would begin. I was a stellar model of an exemplary employee, manager, and director. But to most of my fellow partners, I was not a stellar example of a partner. Why? Because I was seen as the maverick who not only looked at things differently, but also who was constantly trying to stir things up.</p>
<p>Of course, I was trying to evolve the corporate culture so that our employees would enjoy their time at the company, so that they would have less stress, so that they would not only feel more appreciated but would actually be more appreciated. This would lead to greater productivity, faster growth, and more profits. My partners could not see this.</p>
<p><strong>The Big Work Style Issue Revealed</strong></p>
<p>I never liked the inherent, non-spoken, holier-than-thou, outdated and absurd mantra, and sacred covenant that businesses and their employees buy into &#8212; that it is not appropriate for employees to bring their home issues to work. Whereas it of course can be distracting to the productivity of the workforce when an employee lets her or his personal issues mix with their work issues, we are human beings after all and it is almost impossible &#8212; except maybe for true sociopaths &#8212; to avoid periodically letting home life impact work life. Furthermore, companies never have issues with employees bringing their work life and issues home. In fact, for most white-collared workers, it is often expected that you will always be available for contact when you are at home or on vacation. This is a double standard with which I could not tolerate.</p>
<p>To that end, I did two things that most partners at successful consulting firms would never dream of doing &#8212; mostly because they would view it as abhorrent and unprofessional behavior. </p>
<p>First, I allowed my employees to bring their personal lives to work. I sat down with employees who were having a bad day, week, or month as a result of personal issues at home or their own serious health issues. I became someone who did not frown upon those who showed vulnerabilities. Second, I used each and everyone of my vacation days each year and did not allow my firm to contact me when I was on vacation.</p>
<p>It is unfortunate that most employees feel that by not taking all their allotted and earned vacation days, that it shows dedication. Employees also often sub optimize their vacation days taken as they feel that their managers frown on them when they use their vacation days. To me, however, I knew that I earned and deserved each and every one of those vacation days &#8212; and even more.</p>
<p>So, I took all my vacation days each year and would leave explicit instruction with my employees and partners not to call me. I made that especially easy as my wife and I usually traveled to an exotic, remote locale where it would be very difficult &#8212; if not impossible &#8212; to contact me. I also strongly encouraged each of my employees to use all of their vacation days each year (some did, some did not). I even promoted this practice outside of my division, although it was up to my partners to allow that for their employees.</p>
<p>Why did I do this? Because our employees deserved the time off. They earned it. I also believed that if someone could not afford to take all of their earned vacation days in a given year, then that meant that either they were poor time managers or, that we needed to hire more quality employees to distribute the workload.</p>
<p>Most employers give vacation allotments as an incentive but then when it comes time for an employee to use them, they make the employee feel guilty. However, they appreciate employees who underutilize time off. In fact, they use an awful trick to “reward” them for not using vacation days &#8212; they pay them for those days. Of course, this is a much better deal for the employers than the employee. An employer expects to earn a profit for each hour an employee works. So, paying them not to take their vacation days results in them making more money than if that employee had taken the vacation day.</p>
<p><strong>Stirring The Pot To Make Gold</strong></p>
<p>I stirred up the pot in other ways as well. I fought to share a larger portion of profits in an equitably manner with each employee (and not in the ridiculously formulaic way in which it was done &#8212; and then, not with any regularity or real fairness). I pushed for better wages and salaries. I argued that the company should award more aggressive bonuses. I even lobbied to have our employees treated and viewed as assets instead of resources.</p>
<p>Resources, after all, are something that is mined, consumed, and then discarded when every last drop of usefulness has been extracted. The phrase Human Capital was just beginning to come into vogue, but I disliked that term just as much as Human Resources. Capital expenditures are depreciable investments. No, instead I pushed, with very little success, to be innovators in the HR field, to treat and view our employees as appreciable assets.</p>
<p><strong>Fight For Your Life</strong></p>
<p>So, if you are a startup founder, a partner, manager, or lower-lever employee, do you live for work or work to live? It is up to each of you to decide how you are treated and to treat others in a way that lets them thrive, grow, and lead a life in which work is not viewed as an all-consuming necessity but instead is welcomed as a wonderful partner in achieving personal and family goals.</p>
<p><strong>Comments?</strong></p>
<p>Please feel free to comment below or <a href="https://plus.google.com/112526081195315983895/posts/WqGZYr9wEZf">join the active conversation on this article on Google Plus.</a></p>
<p><em>Image Credits</em></p>
<p>Royalty-free image thanks to <a href="http://www.freedigitalphotos.net/images/view_photog.php?photogid=2280">Image: digitalart / FreeDigitalPhotos.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeffsayre.com/2012/02/08/do-you-live-to-work-or-work-to-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating MongoDB Into BitNami’s MAMPStack</title>
		<link>http://jeffsayre.com/2012/02/03/integrating-mongodb-into-bitnamis-mampstack/</link>
		<comments>http://jeffsayre.com/2012/02/03/integrating-mongodb-into-bitnamis-mampstack/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 21:14:55 +0000</pubDate>
		<dc:creator>Jeff Sayre</dc:creator>
				<category><![CDATA[Social Media & Semantic Web]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NOSQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[smartups]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://jeffsayre.com/?p=1681</guid>
		<description><![CDATA[This article is for all you OS X Lion-based Mac developers who use BitNami’s MAMPStack and dream of being able to add a NOSQL database engine, like MongoDB, to the stack. If you are not running Lion, then there is no reason to proceed. BitNami offers a variety of development and production stacks that make [...]]]></description>
			<content:encoded><![CDATA[<p>This article is for all you OS X Lion-based Mac developers who use <a href="http://bitnami.org/stack/mappstack">BitNami’s MAMPStack</a> and dream of being able to add a NOSQL database engine, like MongoDB, to the stack. If you are not running Lion, then there is no reason to proceed.<span id="more-1681"></span></p>
<p>BitNami offers a variety of development and production stacks that make it quick and easy to set up a localhost-based development environment or even provision a production-based server with a full suite of tools. If you are familiar with the better known <a href="http://www.mamp.info/en/index.html">MAMP</a>, offered by the German company appsolute GmbH, then you should have no issues using BitNami’s version instead.</p>
<p>What are the benefits of using BitNami’s MAMPStack?</p>
<p>First, as of the date of this article, their stack is up to date. It is compiled and built with the most recent, stable versions of PHP, Apache, MySQL, and phpmyadmin. Second, they offer a very easy-to-install PostgreSQL addon module that integrates into the MAMPStack. This provides the opportunity to use an alternative database, even leveraging PHP’s PDO extension to create a truly SQL-agnostic application. It should not be too hard in the future to add support for other open source SQL-based RDBMSs like <a href="http://www.percona.com/software/">Percona</a> or even <a href="http://www.drizzle.org/">Drizzle</a>. Third, they seem very responsive to their user community.</p>
<p>Why would you want to integrate MongoDB into your MAMPStack?</p>
<p>The days when a RDBMS could be the end all and be all of your backend are over. For more on this point, read part three of my five-part <a href="http://jeffsayre.com/2010/09/13/web-3-0-powering-startups-to-become-smartups/">Smartup</a> series, <a href="http://jeffsayre.com/2010/09/17/web-3-0-smartups-moving-beyond-the-relational-database/">Web 3.0 Smartups: Moving Beyond the Relational Database</a>.</p>
<p>In short, in the Social Web, smartups cannot use a RDBMS as their only backend tool for every job. A RDBMS is not a universal tool. In fact, RDBMSs &#8212; MySQL in particular &#8212; are overused and often misused.</p>
<p><strong>Let’s Get Started!</strong></p>
<p>Integrating MongoDB into your BitNami MAMPStack is a relatively straightforward process &#8212; at least if you are a developer accustomed to building and modifying your dev stacks. Reading this article will take you some time. But, once you fully understand this process, it should take no more than fifteen minutes to install and configure MongoDB to work within your BitNami MAMPStack.</p>
<p>How do I know? Because before posting this article, I deleted my BitNami MAMPStack using the uninstall.app application with which it ships. This deleted all the work I did in integrating MongoDB into the stack. I then reinstalled the stack and repeated the process below. Of course, I had backup copies of the BitNami MAMPStack because there is no need to redownload that. But, I did go through the entire below process. Total time? Thirteen minutes and four point six seconds &#8212; and that is with two MAMPStack server restarts. Bam!</p>
<p><em><strong>Disclaimer</strong>: Before you begin, you agree that you have read this disclaimer and the next one and agree with them. You understand that you are entirely on your own with this process. If you are not comfortable with UNIX commands, if you have never worked within Terminal before, if you do not know how the steps listed below will affect your computer, and if you do not know how to fix any issues that may arise out of trying out these steps, then do not proceed. I am not responsible for what happens to your computer as a result of these suggested techniques. You have been warned. Proceed at your own risk.</em></p>
<p><em><strong>Disclaimer 2</strong>: This process should <strong>not be used</strong> on production servers. It is only suitable for a development environment running on localhost.</em></p>
<p><strong>A. Compiling the MongoDB PHP Driver From Source</strong></p>
<p>Grab the very latest version of the <a href="http://pecl.php.net/package/mongo">MongoDB PHP Driver</a>. Download the tarball version.</p>
<p><em>(Note: Although you can try installing the driver using PHP’s PECL command, I’ve had spotty luck with that approach in the past when attempting to install MongoDB into a third-party dev stack. The driver did not always get installed in the proper location. Sometimes it got installed in the extension directory of the default version of PHP that ships with OS X. When that happens, you have to uninstall the driver and try reinstalling it into the proper directory. As this has proven unreliable in the past, I find it easiest to compile from source then move the extension into the proper location within the MAMPStack. It just takes a few more minutes but ensures that everything is in its proper place.)</em></p>
<p>Drag the tarball out of your Downloads folder onto your desktop. Then double click on the mongo-x.x.x.tar tarball to extract the files. This will create the driver folder. Open up Terminal and navigate to that folder. Each line below starting with a “$” indicates a new terminal command. Before beginning, see the notes below the ordered list. Enter these commands one at a time in Terminal:</p>
<p><em><strong>NOTE</strong>: You may need to change the mampstack version number below if you are installing a newer version &#8212; in other words, a version that came out after this article was posted or updated. It is currently updated for MAMPStack version 5.3.10-1 and PostgreSQL Module Addon 5.3.10-1.</em></p>
<ol>
<li>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">$ cd /Users/{your_user_name}/Desktop</pre>
</li>
<li>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">$ ls</pre>
</li>
<li>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">$ cd mongo-x.x.x</pre>
</li>
<li>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">$ cd mongo-x.x.x</pre>
</li>
<li>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">$ sudo /Applications/mampstack-5.3.10-1/php/bin/phpize</pre>
</li>
<li>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">$ ./configure</pre>
</li>
<li>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">$ sudo make install</pre>
</li>
</ol>
<p><em>Terminal Notes</em></p>
<blockquote><p>Step 1: Replace {your_user_name} with the name of your mac account user. It is the name that appears within the /Users folder.</p>
<p>Step 2: The list command will allow you to double check the MongoDB file folder name which you will enter in the next step.</p>
<p>Step 3: Switch to the directory that contains your MongoDB PHP Driver and associated files. Replace the x.x.x with the version number of the driver which should be the same as that listed for the folder name.</p>
<p>Step 4: This seems like a repeat of above, but if you inspect the folder structure of the driver download, you will see what is going on. This switches into the directory within the downloaded folder that contains the actual driver source files. It is within this directory that you run the compile commands.</p>
<p>Step 5: The phpize command prepares the build environment for PHP extensions &#8212; in this case, for building the MongoDB PHP Driver extension (mongo.so). You will be prompted to enter your administrator password. This is your mac user account password (assuming that you are the owner of the mac).</p></blockquote>
<p>When the screen of output is finished, you will have a compiled MongoDB Driver extension located in the modules directory of the driver folder. Look in /mongo-x.x.x/mongo-x.x.x/modules for the extension named <em>mongo.so</em>. Copy that extension into the following folder in your BitNami MAMPStack directory:</p>
<blockquote><p><em>mampstack-5.3.10-1/php/lib/php/extensions</em></p></blockquote>
<p>Now you need to add the following to your listed extensions within the php.ini file. In the BitNami MAMPStack, the php.ini file can be found here:</p>
<blockquote><p><em>mampstack-5.3.10-1/php/etc</em></p></blockquote>
<p>Open the php.ini file in your favorite IDE and add this to the “Dynamic Extensions” section of the file, just below the last active extension:</p>
<pre class="brush: plain; light: true; title: ; toolbar: false; notranslate">extension=mongo.so</pre>
<p>Save and close the php.ini file.</p>
<p>Now, before continuing on to the next step, if your MAMPStack server is running, stop it and then restart it. Visit your phpinfo page to make sure that the MongoDB PHP Driver has been installed and is active. If you don&#8217;t know what a phpinfo page is, <a href="http://php.net/manual/en/function.phpinfo.php">visit this link</a>. (I made my PHP Info Page and placed it at root level in the apache2/htdocs folder before I began this process.) Run your phpinfo page and look for the “Configuration” section in the output. Now scroll down until you see “mongo”. Check to make sure the version number is what you expect.</p>
<p>If you do not see “mongo” listed, or the version number is incorrect, you’ll have to start the process again &#8212; but first you will need to delete the mongo.so file from BitNami MAMPStack’s PHP extension folder. However, if everything looks fine, you’re ready for the next section below &#8212; part two.</p>
<p><strong>B. Adding and configuring the MongoDB Database</strong></p>
<p>In this section, we’ll setup the MongoDB backend and make sure that it is functioning properly.</p>
<p>Follow these simple steps:</p>
<ol>
<li>Download the most recent, stable OS X 64-bit binary version of <a href="http://www.mongodb.org/downloads">MongoDB</a>. Double click the tarball to extract the files.
</li>
<li>Create a new folder called “mongo” in BitNami MAMPStack’s root. When you are done, you will have this directory structure: <em>mampstack-5.3.10-1/mongo</em>
</li>
<li>Create three subfolders in this newly-created mongo folder, setting their permissions to 775:
<pre class="brush: plain; light: true; title: ; toolbar: false; notranslate">bin</pre>
<pre class="brush: plain; light: true; title: ; toolbar: false; notranslate">data</pre>
<pre class="brush: plain; light: true; title: ; toolbar: false; notranslate">tmp</pre>
<p>Within the newly-created data directory, add the following subfolder with permissions set to 775 as well:</p>
<blockquote><p>db</p></blockquote>
</li>
<li>Install the MongoDB files you’ve just downloaded and extracted into the mampstack-5.3.10-1/mongo/bin. Make sure you install just the contents of the bin folder within the downloaded MongoDB folder and not the bin folder too.
</li>
<li>Next, you’ll create a configuration file for mongoDB. This file will tell mongo where to store data, log errors, and which directory to use for temporary stuff. In your favorite IDE, create a new file named mongodb.conf in the root directory of your mongo install ( <em>mampstack-5.3.10-1/mongo</em> ). In that file, add the following:
<p><strong>Important Note</strong>: You can copy the entire text below and paste it into your new, empty mongodb.conf file. However, before saving and closing this file, make sure there are no spaces on the blank lines between the code blocks. If you have even a single space on a blank line &#8212; or even after a command line &#8212; your Mongo server will not start up as it will believe the line with a space is a command line. It will not know how to interpret this phantom command. So, when attempting to start your Mongo server in step 6 below, if you receive this error, <em>error command line: unrecognized line in &#8216; &#8217;</em>, that means you have a space somewhere in this file. Find it, delete it, and try again. As much as I tried, I could not get the Syntax Highlighter to create the below text without adding an extra space between lines.</p>
<pre class="brush: plain; title: ; toolbar: false; notranslate"># Store data in default MongoDB directory structure, /data/db/
dbpath = /Applications/mampstack-5.3.10-1/mongo/data/db

# Set location where all MongoDB errors should be logged.
# This should create a log file if it does not exist
logpath = /Applications/mampstack-5.3.10-1/mongo/mongodb.log

# Set location of pid file; this should create one if it does not exist
pidfilepath = /Applications/mampstack-5.3.10-1/mongo/tmp/mongo.pid

# Only accept local connections
bind_ip = 127.0.0.1</pre>
<p>Save and close your newly-created mongodb.conf file.</p>
</li>
<li>To launch MongoDB server, open up terminal and type the following command all on one line. However, as we have just made significant additions and changes to the basic, out-of-the-box BitNami MAMPStack, you need to restart your BitNami MAMPStack servers to make sure all the changes are picked up.
<p>Once the MAMPStack servers have restarted, type this into Terminal &#8212; place your cursor in the box and copy the entire string as it does extend beyond the margins of the box:</p>
<pre class="brush: bash; light: true; title: ; toolbar: false; notranslate">sudo /Applications/mampstack-5.3.10-1/mongo/bin/mongod --config=/Applications/mampstack-5.3.10-1/mongo/mongodb.conf</pre>
<p><strong>Please note</strong>: From now on, this is how you will start your mongod server.</p>
</li>
<li>Test your MongoDB install to make sure that the server is running. By default, MongoDB listens to port 27017. You can verify which port MongoDB is listening to by looking up the configuration settings of your MongoDB PHP Driver in the PHP Info page. However, Mongo’s Web-based admin console listens to port 28017. Therefore by visiting “localhost:28017” in your browser, you can see if you have a connection. If you do, you’re all set!</li>
</ol>
<p>To learn more about starting and stopping the MongoDB server (Mongod), <a href="http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo">see this resource</a>.</p>
<p><em>(Note: You could install MongoDB into your /usr/local/ directory and then symlink the binaries out of the /usr/local/mongo/bin folder to the BitNami MAMPStack. However, the idea in this method is to keep all the applications bundled under the same master folder &#8212; your BitNami MAMPStack. That way, uninstalling the stack is very simple. You just delete the BitNami MAMPStack folder from your /Applications directory. The method presented here also makes it easy to move this application setup to another machine. Finally, although it is normally not an issue, with this method you do not have to worry about potential problems when upgrading your OS.)</em></p>
<p><strong>C. Download and install phpMoAdmin</strong></p>
<p>We are almost finished! If you’ve successfully completed parts one and two above, congratulations! You have integrated MongoDB to run inside of your BitNami MAMPStack. This last step will provide you with a tool to manage MongoDB.</p>
<p>Just as you use phpmyadmin to administer and manage your MySQL databases, MongoDB has several database admin tools written in PHP. We’re going to be installing phpMoAdmin. Grab the <a href="http://www.phpmoadmin.com/">most recent stable version</a>.</p>
<p>Once you’ve downloaded a copy, unzip it if it did not automatically unzip. Next, create a new folder within Apache’s htdocs folder called phpmoadmin. Copy the moadmin.php file into this new folder.</p>
<p>Done! You now can access this very simple, but useful MongoDB admin tool by visiting “localhost:8080/phpmoadmin/moadmin.php” in your browser.</p>
<p>Alternatively, you can use <a href="http://mongohub.todayclose.com/">MongoHub</a> or <a href="http://code.google.com/p/rock-php/wiki/rock_mongo">RockMongo</a> to administer your MongoDB backend. I suggest checking all three out and deciding which one you like best.</p>
<p>Why are we using phpMoAdmin? It offers the most recently-updated version out of the three and it is simple to install as it is a single, small file. For this article, it is sufficient. However, the other tools may provide better GUIs and a stronger set of features. So, you should check them out and decide which one you like best.</p>
<p><strong>Don’t Forget to Give Thanks!</strong></p>
<p>That’s it! </p>
<p>You can further expand your BitNami MAMPStack by setting up VHOSTs in your Apache config file, but that is beyond this article. If you’re interested in that, see the documentation in the /apache2/manual folder. </p>
<p>Finally, please remember to give back to the open source community as it provides you with high-quality, powerful software with many freedoms &#8212; and often free as in cost, too. Share this article, write your own, create a version of this article for Linux distros or Windows, volunteer time to an open source project, contribute bug fixes, thank BitNami for their services, or donate to help fund an open source project. Free and Open Source Software (FOSS) needs your support!</p>
<p>Now go out there and create the next, greatest <a href="http://jeffsayre.com/2010/09/13/web-3-0-powering-startups-to-become-smartups/">Smartup</a>!</p>
<p><strong>More resources</strong></p>
<ul>
<li><a href="http://www.mongodb.org/display/DOCS/Home">Learn more about MongoDB</a></li>
<li><a href="http://www.mongodb.org/display/DOCS/Books">MongoDB books</a></li>
<li><a href="http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/cookbook/blending-orm-and-mongodb-odm.html">Blending the Doctrine ORM with the Doctrine MongoDB ODM</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeffsayre.com/2012/02/03/integrating-mongodb-into-bitnamis-mampstack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The New Garage: Bootstrapping Your Startup</title>
		<link>http://jeffsayre.com/2011/11/01/the-new-garage-bootstrapping-your-startup/</link>
		<comments>http://jeffsayre.com/2011/11/01/the-new-garage-bootstrapping-your-startup/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 18:21:42 +0000</pubDate>
		<dc:creator>Jeff Sayre</dc:creator>
				<category><![CDATA[Entrepreneurship & Leadership]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[mentoring]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[smartups]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://jeffsayre.com/?p=1617</guid>
		<description><![CDATA[I came across a Google Plus debate awhile back discussing what the new garage was for startups. To give you a brief background, a few famous startups actually started in a garage. The Apple boys used Jobs’ parents’ free garage. The Google boys used a friend’s garage for free (initially). HP founders used an unattached [...]]]></description>
			<content:encoded><![CDATA[<p>I came across a Google Plus debate awhile back discussing what the new garage was for startups. To give you a brief background, a few famous startups actually started in a garage.</p>
<p>The Apple boys used Jobs’ parents’ free garage. The Google boys used a friend’s garage for free (initially). HP founders used an unattached garage that was part of the home for which they shared the rent (Dave Packard and his wife lived in the house).</p>
<p><span id="more-1617"></span>Thus the G+ thread was a discussion about what has replaced real garage spaces as a place where startups should startup. In the post’s comments, a number of apparent startup founders were praising the virtues of co-working spaces, claiming that they are the new startup garage.</p>
<p>I found this statement odd. Bootstrapping founders don’t pay for anything until they absolutely need it. Even if a startup has more money than they know what to do with, wise founders don’t pay for something until it is essential. To me, whatever is the cheapest location option for a startup is the new garage. </p>
<p>The key with the startup-bootstrapping approach is to minimize expenses upfront. Use space for which you are already paying but not using efficiently&#8211;your bedroom, dining room, garage, shed, basement, one-room apartment, or dorm room. Or borrow (for free) extra space in your parents’ or friend’s home or apartment. Coffee shops or even libraries might work too but co-working spaces definitely do not. Why spend precious resources when you can get space for free. Once you have an initial product to demo, and you&#8217;re beginning to gain traction, it may make sense to look for better facilities.</p>
<p>Renting an expensive place will not make you successful. The “it’s key for networking” mantra is a thinly veiled excuse. Nothing prevents you from networking if you work out of your house. If people only networked with people whom they share the same physical office building, then the world would collapse.</p>
<p>Whether you’re a bootstrapped startup or a well-funded startup, the key is execution on building your prototype, creating your MVP. Don’t foolishly waste cash just to be in a cool place. If you don’t have a founder’s team that can successfully execute the startup’s vision, then the team is flawed. Having the coolest place on earth will not change that. Besides, what can be cooler than starting up in a real garage &#8212; especially in the winter!</p>
<p><em><strong>Note</strong>: Before any of my readers get a guilty feeling that I’m talking about you and your startup, relax. I’ve held this view for years and decided to share it after reading the interchange on the aforementioned G+ post. After all, my current startup uses the already-paid-for space in my house and my business partners’ houses. Although there is a fabulous co-working space in a high-tech park less than three miles from my house, I have zero interest in paying for more real estate when I already have real estate that I can use.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeffsayre.com/2011/11/01/the-new-garage-bootstrapping-your-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Putting the Tech Back into Social Web</title>
		<link>http://jeffsayre.com/2011/09/17/putting-the-tech-back-into-social-web/</link>
		<comments>http://jeffsayre.com/2011/09/17/putting-the-tech-back-into-social-web/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 18:04:52 +0000</pubDate>
		<dc:creator>Jeff Sayre</dc:creator>
				<category><![CDATA[Entrepreneurship & Leadership]]></category>
		<category><![CDATA[Social Media & Semantic Web]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[founders]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[smartups]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://jeffsayre.com/?p=1598</guid>
		<description><![CDATA[This article was originally part of the fifth installment to my smartup series. As I believe the message best fits in its own article bucket, I&#8217;ve placed it here instead. I want to address an odd trend–although it’s not yet clear if this actually is a trend. Over the past several months, I’ve heard similar [...]]]></description>
			<content:encoded><![CDATA[<p><em>This article was originally part of the <a href="http://jeffsayre.com/2011/08/24/building-the-social-web-the-layers-of-the-smartup-stack/">fifth installment to my smartup series</a>. As I believe the message best fits in its own article bucket, I&#8217;ve placed it here instead.</em></p>
<p>I want to address an odd trend–although it’s not yet clear if this actually is a trend. Over the past several months, I’ve heard similar statements from several unrelated Internet startups—the notion that they are not tech startups.</p>
<p>Instead of thinking of themselves as tech startups, they believe they have a higher-calling, claiming to be some flavor of socially-focused company. This may be the result of more and more non-tech-oriented business people forming Internet-based startups, but whatever the cause, in my opinion, it must be nipped in the bud.<span id="more-1598"></span></p>
<p>Now if I had heard that sentiment from two unrelated parties, I would not think much about it. But hearing that statement from several unrelated parties has made me pause and think.</p>
<div id="tech_obligate">
<p><strong>If it Quacks Like a Duck</strong></p>
<p>Were Facebook and Twitter tech startups? Of course. Were they also social startups? Yes to that question as well. At the early stages of your smartup, don’t get too bogged down in mission semantics. Whatever label you wish to slap onto your smartup, whatever moniker gives you that warm fuzzy feeling, if you are building a platform that requires the Web-based or Mobile-based Internet–especially one that requires a big-data approach–then your smartup by its very nature is a tech-dependent company at its rock-bottom core.</p>
<p><span class="post_special callout leftsidecall">As smartups are Internet-obligate endeavors, they must be firmly grounded in a tech core. But smartups are greater than the sum of their technologies.</span></p>
<p>Since <a href="http://jeffsayre.com/2010/09/13/web-3-0-powering-startups-to-become-smartups/">smartups</a> can often be classified as Social Web startups as well, the reliance on Internet technologies is even greater. What does this mean? It’s essential that your smartup’s engine properly models, captures, facilities, and manages vast amounts of social interaction. That’s accomplished in large part via your chosen and developed technologies.</p>
<p>This is one of the key differentiators between a startup and a smartup. Whereas a startup might not transcend its technology, a smartup recognizes that it is a tech startup plus a Social Web Engine. Social is built into <a href="http://jeffsayre.com/2011/08/24/building-the-social-web-the-layers-of-the-smartup-stack/">the smartup stack</a>. But even so, a smartup cannot divorce itself from the primacy of its foundational technology.</p>
<p>An Internet startup is tech at its core. Your smartup is also tech at its core. However else you fancy seeing it, and irregardless of how you envision its future, all other facets of your smartup are either layers on top of or pieces integrated into the core tech platform.</p>
<p>This is the message of this article. Without its defining core technologies, your smartup cannot be anymore than vaporware or an ephemeral dream. Without its defining core technologies, your smartup cannot become an engine of social change.</p>
</div>
<p><strong>The Rise of the Data Civilization</strong></p>
<p>In the conclusion of Stephen Wolfram’s excellent article entitled <a href="http://blog.stephenwolfram.com/2011/08/advance-of-the-data-civilization-a-timeline/">Advance of the Data Civilization: A Timeline</a>, he states that the “systematization of data and knowledge provides core infrastructure for the world.” Technologies have evolved over time, increasing the rate of collection, processing, and dissemination of that data to help turn them into knowledge.</p>
<p>To our globally-connected and insatiably data-hungry community, in my view, the Internet is perhaps the most relevant class of innovation. The Internet is becoming not only the preferred repository of most of our data but also the accelerator of the systematization of data and knowledge that Wolfram discusses. Our civilization is more dependent on data today than ever before—and that dependence will continue to increase.</p>
<p>As humanity races toward the Internet of Things, data–and lots of it (big data)–will be a fundamental supporting sublayer to our everyday lives. The Internet is becoming the platform on which our society, culture, and economy depends. The Internet is an essential partner in much of our current and future innovations. Don’t discount the importance of the Internet and its underlying technologies. Technology is at the core of our society’s future and your smartup’s success.</p>
<p><strong>Technology as Platform, Engine, and Change Agent</strong></p>
<p>All Internet-obligate companies have some type of a vision and mission, usually backed by a set of closely-held ideals that flavor their implementation of that vision. Whatever that vision may be, the fundamental foundation of any smartup is its technological platform. But as you&#8217;ll discover in the <a href="http://jeffsayre.com/2011/08/24/building-the-social-web-the-layers-of-the-smartup-stack/">Layer&#8217;s of the Smartup Stack</a> article, the platform does encompass more than just core code technology.</p>
<p>The technological platform though is at the center of, the innermost layer of, the smartup stack. Why is this the case? Because technology is the enabler of the wonderful and fantastic vision your smartup has for the world. Your smartup plans to leverage the power, reach, and socially-transmutational forces of the Internet. To do so requires that you envelope your vision with those technologies that can help bring your vision to fruition.</p>
<p><span class="post_special callout rightsidecall">Whereas it is fabulous that you want to change the world, your Internet-obligate company mandates a technological base. Make sure that base is as strong as it can be. Architect it properly and build it correctly from the start.</span></p>
<p>Don’t let some branding game cloud your judgement about the key components to your smartup’s future. Remember that your company is at the startup stage. It is not at the growth to maturity stage. You are building the foundation of your vision—a vision that should indisputably be much greater than its technological underpinnings and will be if you do it right. But in order to get to that next stage, you need to come to terms with the seeds of your humble beginnings. There will be plenty of time to expand your focus, to embrace your greater ideals.</p>
<div id="tech_value">
<p><strong>A Story About Placing Too Low a Value on Tech</strong></p>
<p>In its earliest stages, a smartup needs technical vision, leadership, and a strong, core smartup engineering team. This cannot be achieved via consultants or outside help. The expertise must be internal to your smartup.</p>
<p>To be a successful smartup, you cannot settle for substandard design or mediocre construction, thinking that you can always retrofit, remodel, or augment your technological platform later. Although you can find stories of companies who did just that, they are the exception and not the norm. They should not be deemed as the virtuous model—unless your goals are slanted toward quick profits and you place a lower value on your user community, or have little desire to create a symbiotic ecosystem.</p>
<p>To defend this point, I’ll share with you the story of my brother. As a successful sales executive with a number of large telecom-focused companies, he shifted his sights to working with Internet startups. In his last two positions, the startups he was helping placed too low of a value on the importance of technology. One of them used off-shore, overseas help, the other used in-country contract help. The end results were the same.</p>
<p>Within a year or two of joining, both of these startups were in trouble primarily as a result of their failure to understand the fundamental importance of having high-quality, in-house technical expertise. The first startup was a failure as the quality of the product did not meet the requirements of the vision and the time to execute was too slow. The second was also a failure, even though they contracted local, in-country help from those who were considered experts in their field.</p>
<p>The reasons for failure might seem different in each of the above scenarios, but the heart of the problem is simple. Neither of the startups had an internal technical founder. Neither of the startups had a high-value, internal engineering team.</p>
<p>Why is this important? Only an internal, skilled technical team can fully appreciate the startup’s vision. Only an internal, skilled technical team can fully understand which technologies need to be leveraged. A technical founder also has a broader understanding of the business climate, and is fully aligned with the company’s vision, having helped craft it from the start. Outside technical help will never have the passion, drive, determination, motivation, and vested interest–both emotionally and financially–in seeing a startup’s vision to fruition.</p>
<p>Another crucial reason to have a technical founder? With technology advancing at an accelerating rate, it’s not practical to think that hiring outside consultants to keep you abreast of the constantly-changing competitive landscape with respect to your technology will ever be effective. You need someone internal to your team whose job it is to not only understand this changing competitive landscape, but also be able to adeptly leverage new innovations to forward your vision.</p>
<p>If your approach to building your company’s tech platform is to contract out-of-company services–via cheap overseas code-cutting sweatshops, in-country consulting companies, or work-for-hire programmers–then you fail to comprehend the intrinsic value that technology plays in your success. Your approach is flawed and living in the past. It is a Web 1.0 and Web 2.0 attitude.</p>
<p>This approach, while often viewed by non-tech founders as an innovative, out-of-the-box solution to tight budgetary constraints, can often be a myopic, closed-minded attitude that is penny wise and pound foolish. The return on investment received by leveraging a seemingly less expensive technological approach upfront is often many orders of magnitude lower than that gained via properly utilizing higher-quality, in-house technical expertise.</p>
<p>The let’s-use-cheap-programming-sources attitude is analogous to eating white bread versus wholegrain organic bread. Whereas consuming white bread may seem prudent as it costs you a lot less up front, you may end up paying for that mistake many times over down the road. It can literally be a fatal error in consumptive judgement.</p>
<p>A smartup realizes that it needs to invest its resources wisely. Although a calorie is a calorie–and a dollar is a dollar–the form in which you choose to ingest your calories is essential to good health. Don’t setup your smartup for an early demise by allowing it to ingest poor-quality platform design and code execution.</p>
<p><strong>Choose the Wheat, Skip the White</strong></p>
<p>As my bother’s story reveals, startups that seek to economize on tech investment upfront are in for a nasty surprise. His story with these two startups is not unique. The odds of that are statistically insignificant. His experience is a powerful lesson and a salient warning. You get what you pay for.</p>
<p>Investing in talent is like investing in the stock market. If you make investment decisions primarily based on the face value (market value) of a given equity, you’ll miss great opportunities. What you pay up front is not what matters. What you get in return for any investment should be your primary consideration and concern.</p>
<p>Whereas it is fabulous that you want to change the world, your Internet-obligate company mandates a technological base. Make sure that base is as strong as it can be. Architect it properly and build it correctly from the start.</p>
<p>Remember this one point if you fail to process anything else from this story. Programmers are a dime a dozen, good programmers cost more, but finding the talent capable of executing a bold, visionary idea is difficult. A smartup developer can never be outsourced.</p>
<p>I implore you, at your smartup’s inception, do not relegate technology to a lesser position. Building a smartup requires focusing on the proper priorities in the proper sequence. While there will come a time when it is prudent to shift more focus to higher-level layers within the smartup stack, the technological platform has the highest priority in stage one.</p>
</div>
<p><strong>Conclusion</strong></p>
<p>It is clear that technology is integral to all Social Web platforms. As smartups are Internet-obligate endeavors, they must be firmly grounded in a tech core. But smartups are greater than the sum of their technologies. The fifth installment of my smartup series lays out the greater ecosystem vision that all startups should strive to embrace. Please read, <a href="http://jeffsayre.com/2011/08/24/building-the-social-web-the-layers-of-the-smartup-stack/">Building the Social Web: the Layers of the Smartup Stack</a>.</p>
<p><strong>Outside Resources</strong></p>
<p>Here&#8217;s a great article by Steve Blank, <a href="http://steveblank.com/2011/12/13/the-startup-team/">The Startup Team</a>. The composition of your founding startup team is instrumental to your success &#8212; or lack thereof. Technology must be represented on that founding team or you may be in for an unpleasant surprise.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffsayre.com/2011/09/17/putting-the-tech-back-into-social-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Get Me Involved in Your Smartup</title>
		<link>http://jeffsayre.com/2011/08/15/how-to-get-me-involved-in-your-smartup/</link>
		<comments>http://jeffsayre.com/2011/08/15/how-to-get-me-involved-in-your-smartup/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 20:00:06 +0000</pubDate>
		<dc:creator>Jeff Sayre</dc:creator>
				<category><![CDATA[Entrepreneurship & Leadership]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[founders]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[smartups]]></category>
		<category><![CDATA[SocialWeb]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[Web 3.0]]></category>

		<guid isPermaLink="false">http://jeffsayre.com/?p=1498</guid>
		<description><![CDATA[I receive six to eight requests for help from startups each year&#8212;from angel investing, to advising, to consulting, to joining as a founder. To date, I’ve never accepted a single offer. Recently, however, I was very intrigued by one startup’s vision, so much so that I spent a significant amount of time exploring that opportunity. [...]]]></description>
			<content:encoded><![CDATA[<p>I receive six to eight requests for help from startups each year&mdash;from angel investing, to advising, to consulting, to joining as a founder. To date, I’ve never accepted a single offer. Recently, however, I was very intrigued by one startup’s vision, so much so that I spent a significant amount of time exploring that opportunity. In the end, it did not work out. A few of the reasons why this opportunity did not pan out will be encapsulated in my below set of guidelines.</p>
<p>Below you will find what I call my 7-by-7 rules. Whereas this is my current set of criteria, I believe this list is useable by anyone seeking to attract talent or looking to start a smartup. Please feel free to adopt, modifying, or expand upon this list and use it as you see fit.<span id="more-1498"></span></p>
<p>I’ve created this post for one purpose. To help alleviate the emails, requests for Skype convos, and PMs that I periodically receive. I’m guessing that I’ve spent 200 hours this year alone rehashing, justifying, even debating to the point of arguing, some of the items below. This post will serve as a one-stop-shop to learn about my requirements. If you read this and still think that we should talk, then <a href="http://jeffsayre.com/contact-me/">contact me</a>.</p>
<p>First an important note. I have my own <a href="http://pubpie.com/" title="Publisher Pie">nascent smartup</a> that requires most of my time. I also have a number of other projects and responsibilities that use up any remaining time. I am active on three W3C standards groups, closely work with a few open source projects, and spend as much spare time as possible with my family.</p>
<p>Thus it will be very difficult to get me to bite on your project. But if you want to maximize your chances of success, here is how.</p>
<p><strong>General Requirements</strong></p>
<ol>
<li>Your startup must be in the Web-based or mobile-based Internet space. In other words, it is a technology-obligate Internet company. Although in the not-too-distant future, my horizons will broaden to include nanotech startups as well.</li>
<li>Your startup must be a <a href="http://jeffsayre.com/2010/09/13/web-3-0-powering-startups-to-become-smartups/">smartup</a>. I am not interested in stale Web-2.0 startups.</li>
<li>Your smartup must be looking to build, or at least contribute to, the <a href="http://jeffsayre.com/2011/01/04/the-web-is-not-yet-social/">Social Web</a></li>
<li>Your smartup and its founders must be proven participants in or at least supporters of open source projects and principles</li>
<li>Your smartup must primarily use open source tools and technologies to build its technology platform</li>
<li>You understand, believe in, and adhere to the practices and principles of lean startups</li>
<li>I will not sign an NDA. In 2009, I signed a few and requested a few others to do the same. In 2010, I requested zero NDAs and only signed one. Now, I will no longer request nor sign NDAs. To learn why, <a href="http://dashes.com/anil/2010/05/one-more-time-no-ndas.html">see this good read on the topic</a>.</li>
</ol>
<p><strong>Specific Requirements</strong></p>
<p><em>Note: If you are at the earliest stages of your smartup&ndash;having yet to incorporate&ndash;and are interested in coaxing me to join as a founder, then I will help you address each of the below points assuming that I agree to come on board.</em></p>
<ol>
<li>The smartup founders must be pre-aligned on exit valuation and have a written exit strategy that all founders have signed. Why? <a href="http://www.early-exits.com/">See this great resource</a>.</li>
<li>You must understand startup valuation and its impact on future employees and future investors. See this interesting link for <a href="http://www.caycon.com/valuation.php">one way to assess your smartup’s current value</a>. If you think that your smartup has a current value other than zero, you must be able to justify it. Although your sweat equity and early accomplishments of course add value to your smartup, you are initially being compensated for your contributions by receiving a large chunk of very cheap stock. If you are a pre-profit, pre-revenue, pre-product smartup that has yet to cut a single line of code, please don’t overvalue your contributions at this stage. Outside investors will certainly not make that mistake.</li>
<li>With respect to point two above, you have a well-reasoned and modeled capitalization table (cap table). This may not seem crucial right now, but it becomes essential if and when you seek outside investment. Creating, understanding, managing, and periodically updating your cap table early on is key to making better business decisions. Remember, you are starting a business, not a charity.</li>
<li>Your smartup must know when to think outside of the box factory and when it must view the box from within. As a founding team, you will meet some very fascinating, talented, and inspiring people as you promote your project. Don’t get too caught up in wanting to hangout with inspiring people all day long. We all want to do that. What matters right now is laying a solid technical foundation for your smartup (see point 1, General Requirements, and point 5, Specific Requirements). Properly allocating scarce resources to accomplish that crucial task at inception is essential to your long-term survivability, investor suitability, and future success.</li>
<li>You firmly understand and agree that at the early stages of your smartup, tech is at the core of your company. To that end, your smartup has an internal technical founder. Whereas having a strong business foundation within the core team is fine, even desirable, not having any technical expertise in the core team is detrimental. <a href="http://jeffsayre.com/2011/09/17/putting-the-tech-back-into-social-web/#tech_obligate">See this article section</a> for an exhaustive reasoning for this requirement.</li>
<li>You have sufficient in-house engineering skills to begin the process of building out your technical platform, of creating and iterating your MVP. You do not plan on using contract coding firms or overseas hacking sweatshops for building your platform. Don’t be penny wise and pound foolish. <a href="http://jeffsayre.com/2011/09/17/putting-the-tech-back-into-social-web/#tech_value">See this article section</a> for a story behind this requirement.</li>
<li>With rare exceptions, I have no interest in becoming a basic employee or a non-founder-level executive. By and large, if you want me to be part of your smartup, I&#8217;m interested in a founder’s position with a healthy ownership stake. I must have the opportunity for significant reward with the opportunity costs that I will incur. If a founder’s position is not possible, I may consider an advisory or outside board member position for the right smartup.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://jeffsayre.com/2011/08/15/how-to-get-me-involved-in-your-smartup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BP Privacy: History and Lessons Learned from Developing a Major BuddyPress Component</title>
		<link>http://jeffsayre.com/2011/01/19/bp-privacy-history-and-lessons-learned-from-developing-a-major-buddypress-component/</link>
		<comments>http://jeffsayre.com/2011/01/19/bp-privacy-history-and-lessons-learned-from-developing-a-major-buddypress-component/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 20:29:35 +0000</pubDate>
		<dc:creator>Jeff Sayre</dc:creator>
				<category><![CDATA[BuddyPress]]></category>
		<category><![CDATA[Entrepreneurship & Leadership]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[freedoms]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://jeffsayre.com/?p=1288</guid>
		<description><![CDATA[Coding great-quality, open source software, while often rewarding, can also be a thankless, difficult task. As many have been asking for an update on BP Privacy&#8211;also known as the BuddyPress Privacy Component&#8211;I thought I would take the time to write up an exhaustive history of the project and share some lessons learned. It is important [...]]]></description>
			<content:encoded><![CDATA[<p>Coding great-quality, open source software, while often rewarding, can also be a thankless, difficult task. As many have been asking for an update on BP Privacy&ndash;also known as the BuddyPress Privacy Component&ndash;I thought I would take the time to write up an exhaustive history of the project and share some lessons learned.<span id="more-1288"></span></p>
<p>It is important to state up front that there are many wonderful, helpful, supportive, knowledgeable, community-minded members in the greater WordPress community. If you are an active participant within this community, you already understand that fact.</p>
<p>Of course, a great community of supportive, fun-loving people does not guarantee that you will face few challenges with your WordPress or BuddyPress projects&mdash;whether that is starting and running a community, designing themes, or developing plugins.</p>
<p>This is the story about the challenges I have faced in bringing BP Privacy to fruition. It is just one developer&#8217;s journey and, as such, should not be construed as anything more than my perspective.</p>
<p>I hope that those who manage to read through this entire, long article walk away with not only a better understanding of some of the difficulties BP Privacy has faced, but also a feel for how they might want to approach taking on similar open source projects in the future.</p>
<p><strong>Genesis of the Idea</strong></p>
<p>In the beginning, there was an idea that BuddyPress needed privacy. Well, that idea was not present at the genesis of BuddyPress as it does not offer core privacy, but the idea was hatched in the early pre-RC2 release days of the BuddyPress project by two very active community leaders&mdash;one of whom was me.</p>
<p>At the inception of this project, BP Privacy had two developers. That&#8217;s right. I had a project partner. This partner was a key BuddyPress member and very interested in coding his first BP plugin. We teamed up on this project as we realized the complexity of the task at hand and that it would be beneficial to have a project partner.</p>
<p>We had a number of discussions about how we should tackle this project. I set up a subversion repository on my dedicated server for the project and gave him access. I started the long, tedious process of learning, really understanding, the inner workings of BuddyPress. After all, BP Privacy would not be a typical plugin. It had to interact with all the core BuddyPress components. It had to monitor and take control of output based on an individual&#8217;s desires. We both realized that BP Privacy was going to be a major, foundational component in its own right&mdash;even though it would be a third-party plugin.</p>
<p>However, as weeks passed into months, my project partner&#8217;s schedule did not allow him to participate. So, I told him that I was just going to get started and that he could join in at any time.</p>
<p>So that is the humble, less than exciting beginning of BP Privacy. It started with a two-person project team but ended up becoming a solo effort.</p>
<p><strong>BP Privacy Timeline</strong></p>
<p>On the BP Privacy site, I state <a href="http://bp-privacy.com/2010/09/privacy-comes-to-buddypress/">in a blog post</a> that this journey has been 16-months long. Of course, that was posted  basically October 1, 2010. So as of the date on this post, the process is nearing 20 months. The reality, however, is that this project had its inception even earlier, almost two years ago.</p>
<p>Here is a blow-by-blow timetable for BP Privacy and some of the key factors and issues at each point along the way:</p>
<p><em>Project idea inception</em>: Early April 2009. My project partner and I began discussing BP Privacy (what was at that time called BPAz or BP-Authz)</p>
<p><em>First code written</em>: June 23, 2009. This was two months after hatching the concept. It was the point when my project partner determined his schedule would not allow him to participate. So, I started coding the project on my own.</p>
<p><em>First public beta release</em>: December 5, 2009. Only four months and two weeks after the first code block was written, <a href="http://jeffsayre.com/2009/12/05/buddypress-privacy-component-released/">I released a very solid public beta version</a> to the community. Note that before that public beta release, there was a small, select group of private alpha testers.</p>
<p>This was a very solid beta version with only a few minor bugs. It worked perfectly with BuddyPress v1.1.3, offering privacy filtering for four of BuddyPress&#8217; then core components. But the rug was about to be pulled out from underneath the project.</p>
<p><em>Codebase and platform concerns arise</em>: January 2, 2010. As BuddyPress 1.2 was fast approaching release, it became clear that a major BP Privacy code refactoring would be required. A good portion of the previous 4 months of work would need to be reevaluated and much rewritten. As I looked at the time commitment involved, I realized <a href="http://jeffsayre.com/2010/01/02/do-you-support-buddypress-privacy/">I needed to try a new approach</a>.</p>
<p>Not surprisingly, this approach failed. It only raised about $175 dollars. Without a big financial boost to help me focus on BP Privacy, I had to turn my attention elsewhere for awhile.</p>
<p><em>Late spring through early fall of 2010</em>: The BuddyPress project experienced critical uncertainties in my opinion. These uncertainties made me question its long-term health. During this time, the development of BP Privacy progressively slowed down, practically grinding to a halt in late summer of 2010 as I awaited a few, final core patches I had submitted months before to be accepted.</p>
<p>Due to these factors, nine months passed with very little development time being invested.</p>
<p><em>Announcement of Public Release (v1.0)</em>: September 30, 2010. I was privy to some promising developments in the world of BuddyPress that gave me hope that BuddyPress might actually weather the storm. So, after almost nine months of greatly reduced activity on my part, I went out on a limb, venturing back into the BP Privacy project on a more serious level once again.</p>
<p>I created the <a href="http://bp-privacy.com/">BP Privacy site</a> and made an announcement on that new site that BP Privacy would be released on November 8, 2010. This is the first officially-advertised date given for the release of the public, production-ready version (v1.0).</p>
<p>A few weeks later came <a href="http://buddypress.org/2010/10/introducing-paul-and-boone-2/">the news for which I had been waiting</a>. The BuddyPress community had a shot of adrenaline and renewed hope. We welcomed the announcement that <a href="http://twitter.com/pgibbs">Paul Gibbs</a> and <a href="http://twitter.com/boonebgorges">Boone Gorges</a> had been &#8220;promoted&#8221; to core committers.</p>
<p>Of course, November 8, 2010 came and went. I continued working on BP Privacy as time permitted as I patiently awaited the release of BuddyPress 1.2.7 which was finally released on December 22, 2010.</p>
<p><em>BP Privacy&#8217;s Future</em>:  See the end of this article.</p>
<p><strong>Time Invested and Anticipated Returns</strong></p>
<p>Projects of the magnitude of BP Privacy require a considerable time commitment. Whereas it is difficult to be absolutely precise, I have a pretty accurate estimate as to the number of hours I&#8217;ve invested in BP Privacy. My total time spent to date working on BP Privacy is 1450 hours.</p>
<p>What kinds of activities go into a project that would require such a time commitment? A great number of essential activities such as: emails, forum and IRC discussions, support of alpha and beta1 testers, writing and submitting core patches required to bring privacy services to BuddyPress, debating a number of these patches, studying and thoroughly understanding the inner workings of BP, keeping up to date with codebase changes in BP Trac, <a href="http://jeffsayre.com/2010/04/29/introducing-wordpress-hook-sniffer-a-developer-plugin/">writing tools that were necessary in figuring out some unexpected behaviors with BuddyPress&#8217; action and filter hooks</a>, continuous and exhaustive testing of BP Privacy, and writing detailed documentation. Of course, all of this is on top of the actual coding of the component itself which has required (so far) two major refactorings of the codebase.</p>
<p>What will I earn for all of this effort? Zero. Okay, I had a total of about $225 in donations to help support development ($175 as mentioned above plus $50 received before that post). I am very grateful to all who donated, to my select testers, and to everyone who offered support in other ways.</p>
<p>This means that I will have earned just shy of 16 cents per hour working on BP Privacy. So, the next time you question the commitment and contribution of those who actively volunteer in the open source world, remember that number. Of course, if all the additional <a href="http://jeffsayre.com/2009/12/21/i’m-buddypress-ed-for-time/">hours of time that I&#8217;ve donated on the BP support forums</a>, IRC, via email, Twitter, and Skype are included, that total would undoubtably be about half of that.</p>
<p>Financially, I would have been better off spending that time working at McDonalds. It is ironic that the vast majority of people who will benefit from my work will not even contribute enough for me to buy a Big Mac. By the way, I do not eat at McDonalds so please don&#8217;t send coupons. In fact, I am not interested in any more donations.</p>
<p>Why do I have a section emphasizing the monetary aspects of BP Privacy? Because like the vast majority of people, I need to pay bills, put food on my family&#8217;s table, and save for the future. How many of you can donate 1450 hours of time creating free products or services for others to use?</p>
<p>I am a vocal advocate of the open source model, as anyone who reads my blog and tweets would know. I have volunteered a thousand hours plus of my time answering questions on the BuddyPress community support forums, via email, in IRC, on the phone, and via Skype. None of those hours are included in my total time spent on BP Privacy. Like many active members of the community, I give in more ways than just creating plugins.</p>
<p>The reality for me is that this community and its open source model does not make it possible to earn even a small part of my living in a way that I prefer&mdash;coding great-quality GPLed plugins that provide needed services to others.</p>
<p>As I do not take on client work&ndash;I&#8217;ve discussed this fact with people many times before&ndash;I need another means with which to recoup some of the time I have invested in coding open source software for the community. If you really want to learn more about this point, please <a href="http://jeffsayre.com/2010/01/02/how-can-buddypress-developers-earn-a-living/">read this post about this issue from my perspective</a>&mdash;and read the comments for a fascinating discussion.</p>
<p><strong>Lessons Learned</strong></p>
<p>Here are a few lessons learned that may help other WordPress and BuddyPress developers have a better experience with offering GPLed software to the greater community.</p>
<p><em>Work on Projects that Give You Energy, Not Sap Your Strength</em>: By and large, I have lost more energy working on the BP Privacy project than I have gained. It has been exceedingly frustrating at times. To be honest, if this were not something desperately needed for the BuddyPress platform, I would have dropped this project a year ago.</p>
<p>At the time I started coding BP Privacy, I was planning on using BuddyPress as the foundation of my startup, and privacy was key to that vision. So it made sense to continue BP Privacy and then release the component to the greater community once it was ready. Had I any idea how vocal the negative minority would be as they impatiently waited for me to provide them with high-quality, free-as-in-cost software, I would have canned the community release a long time ago and just worked on it for my private use.</p>
<p><em>The Vocal, Negative Minority</em>: It is important to realize that more likely than not, the vast majority of users will be happy about your work, or at least indifferent. Unfortunately, human nature makes us more vocal when we&#8217;re displeased than when we are pleased. It is a minority of users that will be anywhere from disappointed to obsessively outraged. It will be this minority that will be most vocal. If you release your work to the community, expect to have a greater volume of &#8220;I hate you&#8221; than &#8220;I love you&#8221; feedback from your user base.</p>
<p>Whereas community members may appreciate your volunteer help on various support forums, and paying clients may love you, when it comes to freely-contributed plugins,  don&#8217;t expect the same rosy reception.</p>
<p><em>Don&#8217;t Expect Donations</em>: Based on the vast majority of all plugin developers&#8217; experience, ninety-nine percent (and realistically more) of all users will never donate to your efforts. There are many plugin developers who have written about this. Here are just a few articles to shed some light on this issue. Again, read the comments to get a more balanced perspective on this issue as there are good points on both sides:</p>
<ul>
<li><a href="http://www.justinparks.com/have-you-made-donation-to-your-wordpress-plugin-developer/">Have you made a donation to your WordPress Plugin Developer?</a></li>
<li><a href="http://speckyboy.com/2011/01/13/do-we-do-enough-to-support-wordpress-plugin-developers/">Do we do enough to support WordPress Plugin Developers?</a></li>
<li><a href="http://alexking.org/blog/2010/12/01/open-source-motivations">Open Source Motivations</a></li>
</ul>
<p>The donation model is not broken, for the vast majority of creators, it never worked to begin with. I have tried many tactics to increase donation conversions. My plugins and appropriate blog posts all had obvious donate badges. But that has not made a difference. Donating to something that is freely available apparently also goes against human nature.</p>
<p><em>Plugin support</em>: Unless you clearly and explicitly state that there will be zero support offered for your plugin (at a minimum that should be communicated in the readme.txt file) then it is your moral obligation to offer some level of support if you release a plugin to the community&mdash;which includes forking an existing plugin.</p>
<p>Therefore, expect there to be questions that must be answered, that user issues will take away time from your other projects, and possibly impact your paid work and family obligations. There will be users who claim they are having a problem with your plugin when in actuality it will be caused by something other than your plugin. No matter how hard you try to communicate that it is not an issue with your plugin, in these people&#8217;s minds, you will still be the party at &#8220;fault&#8221;.</p>
<p>It is for this reason that some plugin developers <a href="http://www.gnu.org/philosophy/selling.html">fully exercise their GPL rights</a>. Please note that if you plan to charge for support, you should be aware of a potential issue.</p>
<p>Since all WordPress plugins and themes need to be licensed under then same GPL version as WordPress itself&ndash;GPL version 2&ndash;you do not technically have the freedom or right to charge support fees. That explicit freedom and right was added later in GPL version 3. (Compare the last paragraph of Section 1 of <a href="http://www.gnu.org/licenses/gpl-2.0.html">GPL version 2</a> to the last paragraph of Section 4 of <a href="http://www.gnu.org/licenses/gpl.html">GPL version 3</a>).</p>
<p>Therefore, if you are planning on charging for support, you are operating outside the freedoms of the GPL version 2. You would be wise to seek legal counsel.</p>
<p><em>Disclaimer: You should seek legal counsel if you have questions or concerns about your freedoms and rights under the GPL. I am not a lawyer and the information presented is my opinion only.</em></p>
<p><em>With Plugin Popularity Comes Possible Trouble</em>: I do not envy plugin developers with high download counts. I know that that means one of two things: they are at the first stage of the plugin&#8217;s support lifecycle where they are spending an inordinate amount of their time supporting the plugin (probably for free), or they will soon be entering the final stage of the plugin&#8217;s support lifecycle where they discontinue support and future development as their time commitment to the project cannot be sustained.</p>
<p>It is for these two reasons that I always donate to plugin developers whose software I use and only use plugins that I am sufficiently interested in as I expect that one day I will have to maintain them myself.</p>
<p>Plugin development should not be a popularity contest, he or she who has the highest plugin download count often does not win. Do not release a plugin for praise and glory. That rarely happens. What really happens is the more popular your plugin becomes, the greater the potential for you to lose control over your time. This can lead to a rather unpleasant, overall experience with your project.</p>
<p><em>Alpha &#038; Beta testing</em>: If you have limited time to work on your project, then it is best to make the alpha and maybe first beta version private releases. Provide copies only to those people who you believe will genuinely test it and provide you with useful feedback. It is better to have a small, focused group of testers than a horde of quasi-interested and knowledgeable testers.</p>
<p>The exception to this lesson would be if you have a team of developers who can share the responsibilities of managing a public alpha and beta test. But, if you are a solo developer, you could be in for a world of hurt if you set your pre-release software free for any and all to test.</p>
<p>Bugs will continue to be found even after you&#8217;ve released the first public version. You have to go no farther than WordPress or BuddyPress Trac to see how many bugs still exist in those stable, public products. That is the nature of all software. No matter how mature a software product, there will always be bugs, some of them serious.</p>
<p><em>Develop on a Developer-stable Version</em>: Although BuddyPress v1.0 was the first official public release deemed suitable for general use, it was far from stable from a developer&#8217;s standpoint. This is evidenced by the fact that significant changes occurred between BP 1.0 and BP 1.1 that caused developers some grief and then even greater changes occurred between BP 1.1 and BP 1.2.</p>
<p>In my opinion, BP 1.2 should have been then first public release. In other words, BP 1.2 is really v1.0 in my mind. Now, with BP 1.3 close at hand, I&#8217;m concerned that developers (and possibly even users) will be faced with difficult upgrade challenges. Although, Paul, Boone, and John have been working hard to make the transition to BP 1.3 as painless as possible. So, perhaps my concerns are not valid. Whatever the reality, when the dust settles, BP 1.3 will become the first developer-stable version in my opinion.</p>
<p><em>Group or Solo effort</em>: As should be obvious from the start of this article, you need to carefully vet your project partners. Although I had little data with which to make an honest assessment of my project partner&#8217;s suitability&ndash;the BuddyPress community was very new at the time&ndash;I nevertheless made a mistake at the start of this project. I should have quietly started by myself and only asked for interested project partners once I had some code to share and knew more about the skill sets of the various BP developers with whom I associated.</p>
<p><em>Communicate Less, Not More</em>: This may come across as a hypocritical suggestion in light of some of the communication issues BuddyPress had last year. However, you need to differentiate BuddyPress as a developer platform and community from that of developing a BP plugin. With the former, the community is what makes the project a success. With the later, only a few key people need to be kept apprised. Communication is essential to the former, whereas to the latter it is not necessary until the plugin is released.</p>
<p>When it comes to plugin development, it is better to surprise the community with a new release (especially the initial release) than it is to build up their expectations. Although there is a thrill with getting validation for your efforts at the start of a project, there is no way to know what challenges lie ahead and how difficult the task may be. Interest and attention in any project can quickly turn negative if there are seemingly few results to share. Blame will always go to you, whether the issues holding up your project are beyond your control or not. This is especially true for a project that is deemed very important or possibly even vital&mdash;such as BP Privacy.</p>
<p>Once a plugin is released to the world, then proactive communication and vigilant project management are crucial to the project&#8217;s continued success. But before the public release, communicating less might actually help the project succeed as you won&#8217;t be distracted by the negative vocal minority.</p>
<p><em>Promised Release Dates</em>: As a follow up to the point above, it is best to never put a date on a release. You are working on a plugin, not the core foundation of WordPress or BuddyPress where it makes sense to have project deadlines and development freeze dates.</p>
<p>If you do communicate a release date, do not be overly concerned if you fail to meet it. You are generously working on GPLed software that will more than likely earn you little if any for your efforts invested. You are not beholden to anyone.</p>
<p>Even the BuddyPress project has difficulties meeting its promised release dates. As this article can witness, there are many factors that contribute to a missed release date. Some are beyond your control. From a community standpoint, it is best if people remain patient and remember that they are getting GPLed software that provides them many freedoms of use. The software will be released when its released.</p>
<p><em>Use of the WordPress Plugin Repository</em>: The WP Plugin Repo is a great service to developers and the greater community. You should use this service if you are planning not to exercise your full GPL rights. However, do not use the Repo for releasing alpha, beta, or RC versions. Most users will have no clue what an alpha or beta version truly means. More importantly, most will not care. If it&#8217;s on the Repo they&#8217;ll expect it to work. You should make your plugins available on the Repo only when they are ready for full public release. Until then, use another service, or your own server, to make pre-release versions available to those whom you wish to have access.</p>
<p><strong>When Will BP Privacy Be Released?</strong></p>
<p>Over the past two months, I have been reassessing my role in this project. As you have found out from the above history, my time commitment and investment into this project have been substantial. I&#8217;ve decided that the time required to support and maintain this project, and the energy required to do it properly, is incompatible with me earning a semblance of a living. It has also taken too much focus away from my current startup.</p>
<p>This project started out as a team effort but unfortunately became a solo effort. I believe that this project needs to become a team effort again&mdash;as in a team of developers, not a team of testers.</p>
<p>To be clear, BP Privacy was never intended to be a core BuddyPress component&mdash;even though some of you think that was the case. I am not and have never been part of BuddyPress&#8217; core development team. I was simply an active community volunteer, support forum moderator, and plugin developer.</p>
<p>As most of you know, I am a staunch privacy advocate. Since my first days with the BuddyPress project, I have believed that privacy was a necessary core feature. That has yet to be realized. Perhaps part of the BP Privacy codebase can serve that purpose in the future. Although it might make more sense to refactor BuddyPress, offering true core privacy as a component.</p>
<p>What does this all mean?</p>
<p>I will be releasing the fully-functioning BP Privacy codebase over the next several days, along with a very extensive manual (35+ pages). At that point, I will end my official involvement with the project, and as such, I will not be providing any support.</p>
<p>The project will be in the hands of the community. It will be available for anyone to use as is, expand upon, fork, or even merge into BuddyPress core. Perhaps a group of developers will adopt BP Privacy and maintain it as a community-based project.</p>
<p>Because of my decision to end my official involvement with the project, I&#8217;ve decide to back tag the version I&#8217;ll be releasing, making it a release candidate instead of a public, ready-for-production version. Therefore, it will be v1.0-RC1 instead of V1.0. It also means that I will not be placing it on the WordPress Plugin Repository per the reasons I mentioned at the end of the last section. It will be available for a short while on the BP Privacy site before that site is taken down. The link will go to some yet-to-be-determined public repository. I will also be placing the link within a BP support forum thread.</p>
<p>By the way, for any group of developers interested, I have registered the bp-privacy distribution name with the WP Repo. I would be more than willing to assign that over to another group, if that is possible, or at the bare minimum add other committers. But be advised that I will not be participating in the project anymore.</p>
<p>Once BP Privacy v1.0-RC1 is out, it will be up to each person to fully evaluate the plugin and decide for themselves whether or not to run it on a production site. Although in my exhaustive testing BP Privacy works very will under WP 3.0.4 and BP 1.2.7, you must decide for yourself the viability of its use in a production environment. Thus, please be advised, no matter what you do, you are on your own until (and if) a new group of developers takes the reigns of BP Privacy and assumes support and maintenance responsibilities.</p>
<p>As far as the upcoming release of BP 1.3, I have not fully tested the most recent BP trunk version in Trac. Therefore, I cannot say how much refactoring may be required. I may put some effort into that, but do not wait for me. You should take the initiative and bring it up to date on your own volition.</p>
<p>As far as the few people that have pre-purchased BuddyPress Privacy Support Plans, I will be refunding all the monies received over the next week. But first I will focus on getting BP Privacy out the door. I will also be refunding my two, wonderful advertising partners. Yes, your ads have been up on BP Privacy going on three months (I have only charged them for the first month), but you have not received the type of exposure that you had expected. It is only fair that you get full refunds as well.</p>
<p>I hope that BP Privacy finds a useful life going forward!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffsayre.com/2011/01/19/bp-privacy-history-and-lessons-learned-from-developing-a-major-buddypress-component/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Are You a Successful Project Manager Or a Reluctant Leader?</title>
		<link>http://jeffsayre.com/2010/01/19/are-you-a-successful-project-manager-or-a-reluctant-leader/</link>
		<comments>http://jeffsayre.com/2010/01/19/are-you-a-successful-project-manager-or-a-reluctant-leader/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 21:43:02 +0000</pubDate>
		<dc:creator>Jeff Sayre</dc:creator>
				<category><![CDATA[Entrepreneurship & Leadership]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[mentoring]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://jeffsayre.com/?p=233</guid>
		<description><![CDATA[In my previous incarnations as an executive at two different consulting firms, I often came across the type of person that I refer to as the reluctant leader, or the reluctant manager. I use this term somewhat euphemistically. This type of person is more aptly described as having or exhibiting one or more of the [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous incarnations as an executive at two different consulting firms, I often came across the type of person that I refer to as the reluctant leader, or the reluctant manager. I use this term somewhat euphemistically. This type of person is more aptly described as having or exhibiting one or more of the following attributes: being clueless about their role and responsibilities; scared that they are in over their head; ineffective at managing people and projects.<span id="more-233"></span></p>
<p>Whereas it is clear that a person who can be classified as a reluctant leader is currently a bad fit for the position, the brunt of the responsibility falls on the shoulders of that person’s immediate superior. Should they have been hired or promoted to project manager in the first place? Did they receive proper guidance and training? Were clear expectations and responsibilities proactively communicated?</p>
<p><strong>Project Manager versus Managing a Project</strong></p>
<p>In smaller firms, a person who is called a project manager may actually be a single person working on a single project. In that case, whereas they are managing a project, they are not truly a project manager. Project mangers usually oversee more than one project at a time and have a team of people whom they lead.</p>
<p>When a company’s backlog grows large enough, it is crucial to appoint a few, results-oriented project managers. Each project manager leads their own team of people. Each project team is tasked with handling a number of the firm’s overall projects in the backlog. The project manager will delegate various chunks of a project’s workload to the team, only keeping a small portion of the project work to his or herself.</p>
<p><strong>Signs of a Reluctant Leader</strong></p>
<p>To me, one of the telltale signs of a reluctant leader is that they would rather be doing the “real” project work and not that “other stuff”. How is that desire communicated? In different ways, but often like this.</p>
<p>When sitting in a meeting discussing a project issue, that project manager seems uncomfortable, maybe even frequently looking at their watch. They finally get the guts to say, “I need to get to work on the project,” or “can we end this discussion because I have to get back to work.”</p>
<p>It is not uncommon for reluctant leaders to assume that all the other duties of a project manager are subordinated to the project work itself. What they fail to realize is that successful project managers have many responsibilities that must equally be performed. Their share of an overall project’s work is just one of many duties.</p>
<p><strong>Successful Project Managers</strong></p>
<p>Successful project managers need to be proficient multitaskers. They need to accept as well as give constructive feedback; proactively communicate with clients and employees; build motivated, results-oriented project teams; sell their vision to their team, to clients, and to recruits; have a passion for leadership; and derive a good portion of their energy from coaching team members and helping each member reach their potential.</p>
<p>In addition to these basic requirements, successful project managers need to manage project chargeability (if measured), organize and lead team meetings, and oversee their share of an organization’s strategic plan. They also need to be results oriented, handle difficult employee issues, and oversee project QA/QC.</p>
<p>A project manager needs to respond in a timely fashion to all team-member inquires&mdash;even if it is uncomfortable to them based on his or her communication style. It is imperative that project managers provide clear guidance and direction, effectively delegate the work load, and, finally, perform their share of the project work&mdash;what reluctant leaders call the “real” project work.</p>
<p><strong>What Makes a Project In Itself Successful?</strong></p>
<p>Well, that depends on the overall goals for a given project. But a general definition is as follows: hitting the profitability goal, completing the project on time and on budget, and achieving more than satisfactory results for all parties.</p>
<p>In the end, it is up to a project manager’s superior to hold them accountable for project successes and failures. By doing so, it increases the success rate of future projects and can help mold a reluctant leader into a successful project manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffsayre.com/2010/01/19/are-you-a-successful-project-manager-or-a-reluctant-leader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

