-
Notifications
You must be signed in to change notification settings - Fork 3
Resources FAQ
Voyage Wiki | Voyage | Your Team | Git & GitHub | Slack | Project License
We love finding and fixing errors and omissions! We also love hearing your ideas for how to improve this wiki to help make it more relevant not just for you, but for future Chingu Voyagers.
To report an issue or to request a new topic open an issue in the Voyage Wiki Issue Log. Be sure to describe what's needs correction or your topic suggestions in as much detail as possible.
Section 02.Understanding Your Obligations cover the expectation for Project Managers and Team Members in detail. However, keep in mind that consistency, participation, and commitment are key to your Voyage success. Maximizing your Voyage benefits will require that you are committed to consistent participation and a commitment to being open and fair with your team mates. You are all together whether it be in success or failure.
There are four primary channels of information about a Voyage:
- Voyage Wiki
The Voyage Wiki, which you are currently reading (congratulations!) is maintained across Voyages and contains the collective experience and wisdom of the teams who have gone before you.
The Chingu publication on Medium contains information related to the current Voyage and is relevant to all participants. You'll receive links to these articles in emails and in the #chingu-news
channel in Slack.
Email contains information that is specific to a particular individual and is used sparingly. Emails are typically sent to announce your acceptance into an upcoming Voyage, to notify you when the Voyage starts, and to invite you to Slack channels and your team's Voyage Project repo on GitHub.
- Slack
Slack is where you collaborate with those on your team, as well as with other Chingu's. This is your normal communication channel where you get things done during a Voyage. A unique Slack "team" is created for each Voyage and to which all participants are invited. A private channel will be created in Slack for just your Voyage team, but public channels will also be created within it to allow communication and collaboration across all teams.
The Chingus are a collaborative organization of individuals who share a common goal, but not necessarily a common path to success. As a result you will have ideas and suggestions the Voyage planners haven't thought of. Similarly, you will run across mistakes we haven't caught.
Making the Chingu platform stonger and more relevant to the needs of its members is an important task and one that's one responsibility of every Chingu. As a result please take the time to open an issue here if you have an idea, suggestion, or correction to report.
Successful teams do three things in the following order of importance:
- Be nice to one another
Team members aren't required to be in total agreement. In fact, there considerable evidence that differences of option accelerates innovation. However, while it's okay to disagree it is not okay to be disagreeable. Great teams are open to new ideas, change, and working together to identify the best path to success.
- Collaborate and communicate openly on a regular basis
High functioning teams communicate and collaborate both formally and informally. Formal communications typically occur as part of your weekly Sprint/Scrum meeting(s). Informal communication are those between individual members and usually start with a question like "I'm having a problem..." or "What do you think about this?...".
- Work in an Agile fashion
Working in this type of fashion means following an Agile methodology like Scrum. However, any Agile methodology is based on design only to known requirements, don't try to anticipate future requirements, develop using frequent iterations, and refactor as situations change.
At the start of a Voyage 3-4 Chingu's are assigned to a team. One team member will act as a Project Manager (PM). Therefore there are two distinct roles - PM and Team Member. The PM helps to organize and maintain the teams backlog of tasks (i.e. user stories) and report status to the Chingu organization, but everyone shares the responsibility to work on these tasks to complete the project.
Your team is free to structure itself in anyway it feels is best for success though. There are many paths to success and its up to your team to find the one that's best for you.
A careful review of the emails and Medium articles for the current Voyage is the best starting point. Next, look at the contents of this wiki, and then discuss Section 03.Establishing the Team with the project team.
The importance of soft skills in the global economy is unequivocal, but there is a lot of debate and research presently on the best way to teach people these increasingly important skills.
We do not purport to have the final answer to this question, but it seems that deliberate practice & experience is key. If you have been in a remote team project before, you likely appreciate the importance of team dynamics. A team of enthusiastic learners with soft skills can unlock opportunities unimaginable before. A team of all-star coders with no soft skills usually fail.
At this point, I have overseen hundreds of teams with thousands of learners from over 120 different countries, and it is clear that soft skills are wildly advantageous. While the demand for specific hard skills will come and go (ex. yesterday jQuery, today React, tomorrow something different), the ability to learn what is needed and work effectively in teams are skills that will benefit you for your entire life and career.
Here are 30 soft skill principles that can level-up your skills.
Life happens! It's common for unforeseen events to occur that will restrict or eliminate the time you think you had available to devote to a Voyage after it starts. If this happens the first step is to notify your team of the change to your level of commitment. Next, make sure you have documented your work and that GitHub reflects the current state of your tasks. Nothing is more frustrating to a team than to be held up waiting on something you had promised them.
If a team member stops communicating the PM should start by emailing the individual and if there is still no response note this as part of the Weekly Checking. Thursday's are set aside as "Repair" Days for members of the Chingu Management team to work with the PM to identify the best course of action. For example, add a new member, merge teams, etc.
Send a direct message (DM) to @chance as soon as possible.
Disagreement is something that's normal and should be resolved calmly and in a rational manner. There is no need to be disagreeable. All Chingu's are here to learn and improve, and there is nothing about our projects that justify a heightened level of emotion - no one will die if one of these apps isn't right!
Start by treating a disagreement as you would any other problem. Make sure there's a clear and concise statement of the problem. Then as a team build a list of pros and cons. Weight these if necessary to highlight those that are more important than other. Then discuss and vote. If there's no clear consensus then the PM should choose a solution. Remember, if you choose the wrong solution you will have learned something valuable and you can refactor.
GitHub is one of several software as a service (SAAS) options for maintaining Open Source software such as that produced during a Voyage. GitLabs and Bitbucket are examples of other widely used source code repositories. The Chingu organization uses GitHub due to its broad acceptance within the Open Source community, high degree of maturity, and tight integration with git
.
Equally important is the fact that we collect metrics from Voyage repos to help in the measurement of the progress of the Voyage, isolating the attributes common to successful teams, and identification of best practices. Dealing with a single source code repository makes this task easier than dealing with ten or even three different repositories.
In other words, we are lazy efficient.
At the start of a Voyage your team's repo will be automatically set up and your team members will be authorized for access. If you are having access issues it's most likely due to an authorization issue. Your PM has the admin privileges necessary to correct this type of issue.
We chose Slack and have been using it since the start of the Chingus due to its widespread use, features, and most importantly the fact that its used in many companies so it was felt that it would help prepare Chingus to be “job ready”. Other tools are periodically discussed, but so far none have had benefits that outweigh the cost and disruption associated with conversion. We have a considerable amount of automation built up in Slack that we depend on.
Chingu uses the free version of Slack with automatically limits the number of viewable and searchable messages to 10,000. See Slack Help
The command /
entered by itself in the Slack message box will display a list of the Slackbots installed in your channel?
To see what Slackbots are available consult the Slack App Directory. Also keep in mind that documentation for how to used individual Slackbots is also located on this site.
Slack supports various ways to format your messages to help in creating clear and readable text. Formatting options are documented Slack - Format your messages.
One formatting option to emphasize is to format any code you include in messages by surrounding it with 3 backticks ('`') just as you would in Markdown. This makes it far easier to read than normal prose.
Software licenses, regardless of whether they are intended for open source or commercial projects, are designed to protect the intellectual property of the owner. Even though your apps are developed using Open Source principles they none-the-less have value and its in your best interest to take the minimum steps necessary to protect the efforts of you and your teams labor.
Comparison of Free and Open-source Software Licenses OpenSource.org
Choose a License is one resource that can help you evaluate the differences between the various open source licenses so you can make an informed decision.
About this Wiki
Project Setup
Understanding Your Obligations
Establishing the Team
Setting Up Your Git Workflow
Defining Your Project
Development Sprints
Project Closure
TBD