How we do projects
Managing projects can be easy, hard, or somewhere in between. Most projects generally have the same components: an objective, a plan, and a team.
Objectives might include some indication of cost or time constraint (or both), but we generally see objectives in the form of problem statements without them.
Plans are flimsy at first, and they firm up over time. A productive team collaborates to understand the finer details of the objective (requirements). Traditional project management techniques advise that all requirements should be well understood before designing a solution. Some modern problems require these techniques as well. Fortunately for most businesses, adaptive techniques can yield results faster and expedite the ROI for many software projects.
One of the core values of agile software development is collaboration. We collaborate throughout the planning and developing phases through countless interactions. Like most teams that aspire to be agile, we do agile differently than the textbooks.
We can’t afford to spend valuable time traveling between our office and yours. It’s not cost effective for us unless we’re in the same city.
We substitute physical presence for a virtual presence. We use Zoom to video chat with our clients early and often. The frequency of these conversations is higher during the intitial planning phases, then dips as we get creative, and increases again as we begin to prototype.
We also value many iterations of working software over a big bang rollout after 6 months of development. Iterations can be daily, monthly, or somewhere in between. We try to ship working software daily because it forces us to keep our changes small and focused. It also allows us to respond faster to feedback you give us.
There are rarely every two projects that are identical, and so we feel that each project should form new routines around those individuals that are working closest together.