Maslow for Startups

Abraham Maslow was a psychologist and professor.  He designed this great hierarchy of human needs:

Maslow's Hierarchy

A simple version of Maslow’s Hierarchy

Basically, it says we need to breathe before bothering with staying warm.  And we need to eat before worrying about having any friends.  And we really can’t spend any time following our dreams until we’re clothed, fed, warm, have some friends, and overall feel pretty good about ourselves.

It seems natural to me that product-driven companies would follow a similar sort of hierarchy.  There’s a fairly common progression of needs that a company must satisfy in order to survive, grow and succeed.  In trying to figure out which GForge features you’ll really need, and in what order, I’ve come up with these buckets and given them catchy Greek-themed names.  We’re using these buckets to guide our feature deployment for GForge Next, so that we meet the needs of new users easily, and give them more features as they begin to need them.

Group 1: Atlas


The most basic level of business development.  This model depends heavily on large efforts by a small group.  Their roles, interactions and dependencies may be somewhat defined, but most processes are still ad-hoc, and are created, revised and discarded based on immediate needs.


Generally, boot-strapping – that is, getting to market on little (or no) financial budget.  Initial product/service delivery to see if the business model is viable, or trying to bring in the first customers to fund further expansion.


Atlas groups tend to:

  • Spend Time/Effort instead of Money

  • Be Flexible as opposed to Repeatable

  • Depend on A Few Heroes instead of Divide and Conquer

  • Prefer Simple Process over Robust/Complex Process


  1. Task/Issue Tracking – First and foremost, a persistent list for who is doing what. The group is very small, self-directed, and self-organizing, so features like metadata (e.g., severity, milestone, priority, workflow by status) and access control are not important.

  2. Version Control – Whatever type of product (software, design/creative/mkting, manufactured goods, etc.), there will be some kind of source code, documentation, images, or other output to be kept safe and trackable over time.

  3. Project Chat – A live, persistent and searchable scratchpad for quick discussions, news and humor without having everyone leave their desk.

Group 2: Vulcan


The first big change in team organization.  Initial product may be out, customers calling for support, feature requests, etc.  Team’s focus is still more tactical, day-to-day, but the group is growing to handle success.  Working some things in parallel, especially support tasks vs new features.


Leaders are focused on finding more customers, and keeping current ones happy.  Product delivery functions need to be automated, to allow tech staff to focus on what instead of how.  Customer service, support, operations and development tasks need to be centralized so that everyone can stay focused.  Knowledge needs to become somewhat portable so that team members can be added, back-fill others and cover breaks/days off.


Vulcan groups:

  • Place more premium on Time as money starts coming in

  • Need Repeatable processes that may still change often

  • Feel torn about moving key staff to bigger and better things

  • Start seeing many exceptions to what used to be simple processes


  1. Document Management & Wiki – Create a culture of portable knowledge early, and staff will maintain docs out of habit.  This makes it easier for players to switch positions, cover others during crunch times.

  2. Standups, Sprints & Milestones – Start to group tasks into small projects and track overall completion.  Allow different milestones to start competing for resources.  A first step toward portfolio management.

  3. Ubiquitous Search – Make it brain-dead simple to find that thing you saw a month ago, and share it with others.


Group 3: Prometheus


Things are really under way.  Founders may be somewhat disconnected from daily operations.  With monthly cash flow ensured, leaders begin to reach out to partners, competitors, upstream/downstream value chains, trying to expand customer base and/or find new features/products to add.  This phase usually includes the first serious wave of new hires who were not present at the founding of the org.  Cycle times get larger and more unpredictable as internal process and technical dependencies begin to weigh on the system.


Staying agile and responsive is even more important here than in previous phases.  Partners and competitors begin taking the product and company seriously.  This means real contracts, real accounts won and lost based on delivery.  At the same time, the heroes from Atlas phase are no longer able to touch everything every day.

At this point, the steering function has become as important to success as the rowing function.  Management needs to be able to see into the future, predict outcomes, plan for contingencies.


Prometheus groups:

  • Start to segregate knowledge to insulate groups from information overload and keep them focused.

  • Develop a strong need for metrics and measurement, instead of steering by feel.

  • Want standardized processes to allow for apples-to-apples comparisons over time.


  1. Robust Roles and Access Control – Organize things according to company structure, lines of business, etc.  Begin to control access by org and project membership.  Allow selected people/groups to collaborate from outside the company.

  2. Workflow and Audit  – As complexity and required quality levels both grow, more detailed workflow and audit trails are required to keep things moving quickly.



They Really Can’t, But You Can

Read this (now deleted) blog post by a dev at Oracle: No, You Really Can’t

There is so much wrong with that post.  But I’m in a hurry and don’t have time to put down 3000 words deconstructing Oracle’s entire business model and world-view.  Instead, I’ll just explain how we do the exact opposite.

GForge offers up the entire(*) code base for customers to examine, scan, and even change.  We maintain customer-accessible Git repositories (on, of course), so that customers have constant access to the current released version (that would be 6.4.1) and the version that’s in development, which we also deploy and use ourselves every day at

GForge customers can maintain their own Git repo (with, say, custom theme elements, or code to integrate with a custom database, or whatever), pull from ours, and keep up to date with new features, security patches and everything else we come out with.

As if that’s not easy enough, we also regularly send patches to customers to fix specific problems they report, even if they’re not at the current release version.  You don’t have to wait six months for the Oracle mega-patch, and get 3000 other changes you didn’t ask for.

Lastly, customers can (and are encouraged to) send us patches for things they have fixed or improved.  When Tony and I were GForge customers, we did this on a couple of occasions.  You’re welcome.

Every day, we try to treat customers the way we like to be treated.  Customer access to the source is just one reflection of that value.

PS – As if on cue, here’s a great example of why you don’t want to wait six months for the vendor’s bug fixes.

*Okay, okay.  There’s one file that we encrypt, that handles validation of the customer’s license key.  I know Richard Stallman is pro-actively spinning in his grave, but if you really want to see what’s in there, I’m sure we can arrange something.

GForge v6.4.1 Released

Today we are happy to announce the immediate availability of GForge Advanced Server v6.4.1.  This is a bug fix release that also includes minor enhancements.

Download GForge Advanced Server v6.4.1 Now!

New Features in GForge v6.4.1

  • Docman – We made a few updates to Docman in 6.4.1 including the ability to mass upload documents by uploading a single, compressed file (.zip, .tar, .tgz, .etc).  You can also quickly restore a prior version of a file to the newest version while retaining the complete version history.  Finally we’ve added better logging, particularly when files and folders are deleted so administrators can identify what was deleted and who deleted them.
  • Tracker – Project administrators can now manually add and remove user or user groups from monitoring a Tracker or Tracker Items.  Also any custom tracker fields can now be added to the “Quick Filter” when browsing Tracker Items.
  • Project Templates – Before 6.4.1 you could configure GForge to auto approve projects.  We’ve now added a better level of control by allowing site administrators to configure which project templates require projects to be explicitly approved or which templates can employ the use of auto approve.
  • Debian – We now support Debian “Jessie” in addition to the latest versions of CentOS and RedHat Enterprise Linux
  • Discussions – Images added to discussions in the “forum” view are now rendered in-line just as they are in “chat” view.
  • SSO & LDAP– We’ve streamlined the user experience for customers using SSO and LDAP

The Gory Details

GForge v6.4.1 includes a number of bug fixes and security updates. For the full details of this release, please have a look at the Complete GForge v6.4.1 ChangeLog

Download GForge Advanced Server v6.4.1 Now!

GForge 6.4.0 Released

Today we are happy to announce the immediate availability of GForge Advanced Server v6.4.0.  This is a feature release that also includes minor bug fixes and enhancements.

Download GForge Advanced Server v6.4.0 Now!

New Features in GForge v6.4.0

  • Sprints – GForge now ships with support for Sprints.  Agile shops can create sprints, manage tracker items within Sprints and track the progress of sprints via the burndown charts provided.  We’ve also updated the Tracker Query editor to support sprints.
  • Trove Improvements – We’ve completed revamped the user interface for managing projects within your trove and added some powerful administration features.
  • Project Templates – Project Templates are now a part of the Trove.  This allows larger organizations to divide their project templates in some meaningful way (e.g. by department)
  • Tracker Workflow – When setting up workflow GForge will now give each workflow status a visual indicator to the administrator letting them know which transitions they have setup up workflow rules for.
  • Added Support for CentOS 7 and RHEL 7.
  • Debian Support– We now support Debian Wheezy
  • modauthgforge – We enabled modauthgforge and use it by default when using SVN or Git over HTTP(S) which is a huge performance improvement.
  • pg-pool Support – If you have a separate server for the GForge database we now support pg-pool which implement connection pooling.  This will be a big performance improvement for customers using this sort of configuration.
  • Post-commit Filters – We now provide the same interface we offer for managing pre-commit filters for managing post-commit filters.
  • Training Videos – We have published a series of training videos on our YouTube channel

The Gory Details

GForge v6.4.0 includes a number of bug fixes and other improvements. For the full details of this release, please have a look at the Complete GForge v6.4.0 ChangeLog

Download GForge Advanced Server v6.4.0 Now!

GForge Next: Updated Screenshots, Kanban, Tasks, Chat

We recently gave an early preview of GForge Next which included a chance to sign-up for early access to GForge Next.  Today we are keeping the ball rolling by sharing new screenshots of our new Kanban feature, tasks and chat.  Please follow along as we share our ideas and you are encouraged to help us hit the mark by providing feedback either in the comments below or by sending a note to


These days Kanbans are a dime a dozen, however, what is unique about our approach is that we are able to provide the convenience of planning with Kanban without making significant changes to our current codebase.  After all, the Kanban is a more visual way to manage Trackers in our current system.  With Kanban we are leveraging that existing information and presenting in a way that makes planning easy:


The above screenshot hasn’t been implemented yet it gives a concrete idea of how we are approaching Kanban.  By default we will show all the statuses in your project as columns and inside them are tasks associated with each.  Changing the status of a task will be as easy an dragging a task from one column to another.  Taking things a bit further, you will be able to switch to a view that shows your tasks in a Kanban view grouped by the assignee:



For over a year we’ve made the case that chat shouldn’t be something you bolt on to your existing collaboration suite using a third party tool, and API and duct tape, rather, it should be an intrinsic part of any project.  While we’ve done this quite well in our current product, we’ve raised the bar by making chat available as you move in GForge from one project to the next:

GF Chat & Menu

As you can see in the screenshot above the project’s chat room is made available in a panel that you can hide easily.  GForge Next will support all the features our customers gotten used to in our current product including project activity (commits, updates to tasks, continuous builds, etc) with the project discussion.  If you look close, you’ll also see an updated version of the new menu in GForge Next that will let you quickly jump between projects easy.


Our current version of GForge has had bug and task management for years and we’re finally redesigning all aspects of how you work with tasks in GForge Next:


While this is a simplified version of what we plan on delivering, it shows the direction we are headed.  Gone is the old table-based tracker item browse and instead you get a simpler, more powerful replacement.  While browsing tasks you will be able to quickly change the most common field such as assignee, priority and status and once updates are made the page will reload the data to owner the selected filters.  Future iterations for browsing tasks will include some additional features:

  • The ability to edit a task right on this same screen.
  • Mass update of tasks
  • Searching and filters

Adding tasks has also been improved to be simple and clean:

Add Task

For existing customers, one of the things that should jump out at you is the tagging feature.  This has always been a part of our current offering but using tags has been cumbersome and thus, infrequently used.  GForge Next will make pervasive use of tagging.  As you start typing a new tag, we will give you an autocomplete list of matching tags that have already been used on your project.  Additionally we have made it much easier to add a number of new tasks with the new “Save & New” button that will keep you from having to go back and forth between browsing tasks and adding task.

We are exploring the idea of making this screen available as part of the browse page so you can add tasks without leaving the browse page.  Similarly we hope to have similar way for adding tasks when you are in the Kanban.

Again, these are just a few of the concepts we are working on in GFoge Next.  Let us know what you think by either posting a comment below or sending a note to In the meantime, stay tuned for more updates…

GForge Live Chat Support

This is a quick note to let our customers know we now offer support via a live chat.  We are providing this by leveraging our existing chat feature in GForge .  You can still manage your support tickets via our online system, however, we think our customers will find live chat as a great alternative.  Also, we should note we offer live chat support in both English and Spanish

Join GForge’s Support Live Chat Now!

Preview of GForge Next!

This is an exciting time for us at The GForge Group.  As we hinted in our preview of the upcoming GForge v6.4.0 release we have been working on a re-design of GForge and we’re happy to give you a glimpse of that work and give you limited, early access when the first version is ready.

To help set the table, we want to share our goals with this first release of GForge Next.

  • Provide a minimum viable product (MVP) to new users looking to host their project.  The current version of GForge has a number of rich, deep features and it would be unrealistic to launch them all at once completely redesigned (especially with no customer feedback).  The MVP will include:
    • User and project registration
    • A user’s profile page
    • A project’s summary page
    • Project chat room for collaboration
    • A single tracker for tracking enhancements, bugs and tasks
    • Working Git repository integrated with the tracker
    • A fully documented REST-ful API
  • Make the easy tasks easy.  Our current design has served us well for a long time but there are too many steps to accomplish simple tasks.  In the same vein, we need to make harder tasks easier.  Or goal is to reduce the reliance on documentation that our current system requires.
  • Collect feedback from early adopters on the redesigned system.  We plan on doing this by providing a convenient feedback icon on all redesigned pages as well as reaching out to our customers in a variety of ways (email, online meetings, etc)
  • Vet the decisions we’ve made on our technology stack.  For the geeks out there, we are using a mix of tools from our old stack and newer technologies:
    • Composer
    • Angular
    • Doctrine
    • PostgreSQL
    • PHPUnit
    • Jenkins
  • Add the beginnings of a true SaaS model.  Right now GForge is only available via download.  Moving forward we want to offer both SaaS and downloadable options.  This also means our SaaS implementation make new features and bug fixes immediately available through our automated build and release system.

Before we share the first screenshots of GForge Next, we want to invite all of you to sign-up for early access today. While early access will be limited, we do plan to open it up again as we approach beta.  Finally, we want to hear from you so please post questions below or feel free to send questions or feedback to


“G” Mega-menu

Knowing how screen real estate is a premium, we wanted to provide a better way for users to move between projects and to quickly access common features.  This screenshot shows the “G” Mega-menu prototype which ditches persistent left and top navigation for a menu that is accessible by moving your mouse over the “G” in the header:

Screenshot 2014-10-03 10.32.27

 Project Summary

The project summer is a landing page and this is a first stab at it.  There will likely be significant changes however, this shows some of the things that are possible.



The working prototype above is showing two simple graphs that are completely rendered in JavaScript complete with mouse-over animations and drill-down support.  The beauty about much of the work you see above is we have all that data currently, we

Git Support

We will be providing Git support in the initial release but, for now, we don’t support web-based browsing (it is coming).  However, we do want to show the main Git landing page:


As you can see, we coach users through the process of not only learning Git but also how they can use the integration we provide between Git and the Tracker.  Full Git support is there so you will be able to follow the instructions on that page to do your clone as well as tie commits to tasks, we just haven’t released the browser-based navigation of your Git repository yet.

Browsing Tasks




This prototype shows how we were able to quickly render the Tracker into a Kanban format.  We have lofty goals for the Kanban but our initial goal is to provide drag-n-drop capability to move tasks between two statuses and to quickly add new tasks to the view.

We will be providing short, screenshot updates on a weekly basis here so please keep an eye out and in the meantime post any questions or comments you may have below.


Get every new post delivered to your Inbox.

Join 1,630 other followers