Principles
SnipFlow originated from the observation that so many people are working in less-than-ideal ways, and that problem-solving around this is rarely holistic: tooling and process improvements tend to focus in on one area or another.
Underlying these observations are a set of guiding principles that SnipFlow is based upon and supports; all of these help teams work more efficiently and create more value.
Time and flow
A crucial founding principle is that your time is valuable. This is true for anyone in a high performing team, and when salaries and day rates are considered it’s easy to justify to any businessperson (especially when it comes to engineers, technologists and product people).
Something more often missed is flow time; creators (including coders, designers, writers, etc.) need long unbroken stretches of time to do their valuable work. All too often this flow state is broken by other team members or leads, or by other stakeholders: SnipFlow can’t help you schedule your meetings but it can at least remove the context switching that comes with administrative tasks (especially when they require switching your workspace around).
Transparency and independence
A key foundation for high quality project teams is trust and the independence that comes with it. At the same time, in order for the team to function properly all colleagues need to be able to know what each other are doing and to check on progress in order to be able to work effectively.
Working transparently fosters independence since people can check in on progress or the latest feature in their own time and at their own pace without calling meetings or asking explicitly for links to be built. Since many team members’ timetables are different to each other (e.g. a PM and a Designer will think very differently about their calendars), this also helps protect the flow time of the creators on the team.
At the same time, transparent working helps build that trust in the first place - it’s easy for new team members to demonstrate their achievements without needing to shout about it, simply by working in ways that make their contributions explicit.
SnipFlow encourages developers to work into draft PRs early, and each PR has a dedicated environment where any team member can keep abreast of the changes as they’re pushed to the repo.
Simplicity and cost
Fewer tools and simpler integrations mean less maintenance and higher productivity for a team.
Over time, teams and organisations tend to adopt more complexity in their processes and their tooling; then to start to diverge in their processes and tool choices between projects and teams. Complex methodologies lead to people taking shortcuts, and usually to specific individuals being responsible for maintaining them - at least they lead to extra documentation, more maintenance and longer onboarding processes for new team members, all of which is time taken away from productive activity.
SnipFlow needs the minimum of tooling and espouses simple ways of working over complex ones. It is suitable for teams of all sizes and maturities so that it can be adopted across an entire organisation.
Risk and automation
Administrative, repetitive tasks should be automated. Not only do they take team time away from more valuable activity, but running manual processes instead of automating them leads to extra risk. For example, a complex deployment process that’s run manually will inevitably lead to a high stress situation, and the person running it is likely at some point to make an error. Automating the process may take some time but the benefits will include less risk for the project and less stress for the team, as well as the time savings.
Introspection and history
A central source of truth about a project, capturing as much of the thought process of how it came about, is extremely valuable.
Historical context about code that’s been written only increases in importance as a project progresses, both for bugfixing and onboarding, as well as for the structural conversations that come up when new decisions need to be made. SnipFlow helps teams easily keep a clean commit history, without being onerous to maintain.
Unmotivated team members often focus on their individual deliverables rather than the project goals. This can lead to frustrating scenes - e.g. the bug that can’t be replicated because “it works on my machine”.
Focusing teams on built environments, similar to production and all centrally managed by a CI/CD process, helps to keep everyone pointed at the project deliverables; the online environments become the “source of truth”. By ensuring that each use case for a project link in any state is met with a CI/CD approach, SnipFlow helps keep teams pointed inthe same direction.