Software Organizations Flashcards
he first and most important concept is that even in software organizations, the point of the company is
rarely to make software; it’s to provide value.
Software is sometimes the central means to providing value
but more often than not, it’s the information flowing through that software that’s the truly valuable piece.
Requirements
help engineers organize how software will provide value
Marketers`
look for opportunities to provide value. In for-profit businesses, this might mean conducting market research, estimating the size of opportunities, identifying audiences, and getting those audiences attention.
Product managers
decide what value the product will provide, monitoring the marketplace and prioritizing work.
Designers
decide how software will provide value. This isn’t about code or really even about software; it’s about envisioning solutions to problems that people have.
Software engineers
write code with other engineers to implement requirements envisioned by designers. If they fail to meet requirements, the design won’t be implemented correctly, which will prevent the software from providing value.
Sales
takes the product that’s been built and try to sell it to the audiences that marketers have identified. They also try to refine an organization’s understanding of what the customer wants and needs, providing feedback to marketing, product, and design, which engineers then address.
Support
helps the people using the product to use it successfully and, like sales, provides feedback to product, design, and engineering about the product’s value (or lack thereof) and it’s defects.
Managers
exist in all roles when teams get to a certain size, helping to move information from between higher and lower parts of an organization.
Data scientists
typically facilitate decision making on the part of any of the roles above. They might help engineers find bugs, marketers analyze data, track sales targets, mine support data, or inform design decisions. They’re experts at using data to accelerate and improve the decisions made by the roles above.
User researchers
help people in a software organization make decisions, but usually product decisions, helping marketers, sales, and product managers decide what products to make and who would want them.
In many cases, they can complement the work of data scientists, providing qualitative work to triangulate quantitative data.
Risk
Much of an organization’s function is to mitigate the consequences of risks.
- Data scientists and researchers mitigate risk by increasing confidence in an organization’s understanding of the market and it’s consumers.
- Engineers manage risk by trying to avoid defects and moving fast.
Engineers have to work with a lot of people working with
different roles. Learning what those roles are and what shapes their success is important to being a good collaborator.