You have a team (more than just you) working on the same project, but how do you collaborate? We’ve got you covered. But first, here’s a quick round-up of the alphabet soup of words you might hear.
- Waterfall is a linear project framework with discrete phases (Milestone A, Milestone B) done sequentially. It comes from manufacturing. For example, you can’t put a roof on a house until you’ve built the walls, and you can’t build walls until you’ve poured the foundation, you don’t pour a foundation until you have a design.
- Agile is a set of principles for delivering value to users by continuously deploying working software and iterating on that software with customer feedback.
- Scrum is about getting more work done faster. A Scrum Master facilitates daily meetings to remove obstacles during a sprint and the team does a retrospective at the end of each sprint to understand what can be improved.
- Sprint is a ~2 week time period where the team decides on a set of deliverables and then builds those deliverables. If someone says ‘90 day sprint’ it’s not a sprint.
A note! Agile is a methodology, not a religion. It’s a tool to get things done, not an end in itself. Also, the Federal Government has been overcome with agile buzzwords. These are not always accompanied with agile practices. And now for the tools!
Trello
Create a board, and put up cards for each project task. Assign them to your team members. Go. That’s Trello. Easy, simple, and keeps you focused on work and away from your inbox. Look up Kanban and Scrum for more card-based project management tools. There are tons of them, so find what suits you.
Jira
Jira used to be for bug/issue management but has evolved to be a project management tool. It’s free for military projects here, so get started today!
Version Control - Git
Aside from managing project tasks, when you’ve got a team you’ll want to manage your code tool. Enter Git.
Git is a free version control system that’s easy to use and lightning fast. With Git, you’ll store your code in the cloud - Gitlab and Github are the two most common platforms. Then you’ll clone it to your computer, and any changes you make locally are tracked. When you’ve finished, you’ll ‘push’ your updates back up to the cloud.
When you’ve got multiple team members working together, you’ll want to use Git to create forks and branches for more complex workflows, possibly via the git flow toolkit. This will allow you to move seamlessly between development and production code and add plenty of features along the way.
Human/User Centered Design
We are solving problems for users, not just for the fun of it. So users (the eventual people who use our product) need to be at the center of our process. If we make the world’s coolest technology but it doesn’t make a user’s life better or solve their problem, then our technology will shit on a shelf and collect dust (like the Segway). User centered design is all about putting the user at the center of the product design process from the very beginning, not as an afterthought. Here’s a good article on user centered design. The Design Thinking Process is a design methodology that provides a solution-based approach to solving problems
There are five main steps to the design thinking process:
- Empathize - gain an empathetic understanding of the problem you’re trying to solve.
- Define (the problem) - define the core issues at hand based on analysis and observation from Stage 1. This should result in the form of a problem statement in a human-centered manner.
- Ideate - begin brainstorming solutions that will solve the problem statement defined in Stage 2. This is where the majority of an application’s features and functions come to life. There are a variety of different ideation methods that are meant to encourage free thinking and expand the problem space.
- Prototype - Create a number of inexpensive, scaled-down versions of the product.
- Test - Rigorously test and evaluate the prototype designed in Stage 4.
While these steps are numbered in sequential order, they are meant to serve as a general guideline. These steps are also iterative; typically, the Test phase redefines the problem and enables the designers to explore more solutions for future iterations to create a refined product.
Navigation
» About
» Ingredients
» Recipes
» Resources
» Code examples