1.. _docs-mission: 2 3====================== 4Mission & philosophies 5====================== 6 7----------- 8Our Mission 9----------- 10.. pull-quote:: 11 12 Create both *software* and *process* foundations for *sustained*, 13 *robust*, and *rapid* *embedded* product development with *large teams*. 14 15Each component of our mission has additional meaning: 16 17- **Software** - Our modular components and surrounding tooling are our 18 primary deliverable. The software is the product of our philosophies. 19- **Process** - Developing robust software processes is hard, and not something 20 all teams have time for. Our mission is to create reusable processes that can 21 save time and increase team happiness. Our approach is to offer tooling and 22 standards. For example, our integrated code formatting, module directory 23 structure, style guide, test processes, and more are all designed for reuse. 24- **Sustained** - Products often live a long time or are part of a series of 25 related products; and over time the requirements change. Our mission is to 26 make these sustained development situations easier. Our approach is to create 27 flexible and reusable foundations to gracefully handle changes. For example, 28 our porting abstractions make switching a microcontroller vendor easier. 29- **Robust** - Creating robust products is hard, yet important for finding 30 market and product success. Our mission is to assist teams in creating robust 31 products. Our approach is to: 32 33 #. Invest heavily in software reliability tooling and processes (unit testing, 34 sanitizing, formatting, etc) 35 #. Comprehensively apply said tooling and processes to Pigweed, making Pigweed 36 a robust foundation 37 #. Make said tooling available for downstream use, so teams can ensure code 38 they write is robust 39 40- **Rapid** - Creating products quickly is critical in today's market. Our 41 mission is to make shipping products faster with Pigweed. Our approach is to 42 accelerate product development by offering reliable foundations (less bug 43 hunting), having great onboarding tooling (low engineer churn/setup), offering 44 modules solving common but hard problems (RPC), etc. 45- **Embedded** - Our mission is to support software embedded in products such as 46 earbuds, watches, phones, thermostats, satellites, cars, drones, and related. 47- **Large teams** - Developing software with large teams in the embedded space 48 is increasingly frequent due to more capable embedded processors. 49 Traditionally, teams were 1-5 people, but are increasingly much larger 50 (50-200 person) teams. Our mission is to make developing larger products with 51 correspondingly larger teams easier and faster, with an eye to support rapid 52 prototyping where there is a chance to scale from an idea to production. Our 53 approach is the investment in common abstractions, common practices, common 54 standards, tooling around those standards, and a focus on automation and 55 repeatability. 56