aboutsummaryrefslogtreecommitdiff
path: root/docs/mission.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/mission.rst')
-rw-r--r--docs/mission.rst55
1 files changed, 55 insertions, 0 deletions
diff --git a/docs/mission.rst b/docs/mission.rst
new file mode 100644
index 000000000..eb85d87aa
--- /dev/null
+++ b/docs/mission.rst
@@ -0,0 +1,55 @@
+.. _docs-mission:
+
+======================
+Mission & Philosophies
+======================
+
+-----------
+Our Mission
+-----------
+.. pull-quote::
+
+ Create both *software* and *process* foundations for *sustained*,
+ *robust*, and *rapid* *embedded* product development with *large teams*.
+
+Each component of our mission has additional meaning:
+
+- **Software** - Our modular components and surrounding tooling are our
+ primary deliverable. The software is the product of our philosophies.
+- **Process** - Developing robust software processes is hard, and not something
+ all teams have time for. Our mission is to create reusable processes that can
+ save time and increase team happiness. Our approach is to offer tooling and
+ standards. For example, our integrated code formatting, module directory
+ structure, style guide, test processes, and more are all designed for reuse.
+- **Sustained** - Products often live a long time or are part of a series of
+ related products; and over time the requirements change. Our mission is to
+ make these sustained development situations easier. Our approach is to create
+ flexible and reusable foundations to gracefully handle changes. For example,
+ our porting abstractions make switching a microcontroller vendor easier.
+- **Robust** - Creating robust products is hard, yet important for finding
+ market and product success. Our mission is to assist teams in creating robust
+ products. Our approach is to:
+
+ #. Invest heavily in software reliability tooling and processes (unit testing,
+ sanitizing, formatting, etc)
+ #. Comprehensively apply said tooling and processes to Pigweed, making Pigweed
+ a robust foundation
+ #. Make said tooling available for downstream use, so teams can ensure code
+ they write is robust
+
+- **Rapid** - Creating products quickly is critical in today's market. Our
+ mission is to make shipping products faster with Pigweed. Our approach is to
+ accelerate product development by offering reliable foundations (less bug
+ hunting), having great onboarding tooling (low engineer churn/setup), offering
+ modules solving common but hard problems (RPC), etc.
+- **Embedded** - Our mission is to support software embedded in products such as
+ earbuds, watches, phones, thermostats, satellites, cars, drones, and related.
+- **Large teams** - Developing software with large teams in the embedded space
+ is increasingly frequent due to more capable embedded processors.
+ Traditionally, teams were 1-5 people, but are increasingly much larger
+ (50-200 person) teams. Our mission is to make developing larger products with
+ correspondingly larger teams easier and faster, with an eye to support rapid
+ prototyping where there is a chance to scale from an idea to production. Our
+ approach is the investment in common abstractions, common practices, common
+ standards, tooling around those standards, and a focus on automation and
+ repeatability.