We’ve started a series of posts designed to provide context and background to readers on many of the topics we post about. This page serves to make it easy to navigate to these pages. It will be updated as new Foundation posts are added.
You’ll know a Foundation post because it will have the picture above.
An introduction to this series of posts
Descriptions of waterfall and incremental software processes, and what it means to be a software development process. Also includes discussion of real-world tradeoffs and why one process would be better than another in a given circumstance.
Definitions of the types of requirements in a structured requirements framework. Also includes diagrams showing how they are related to each other.
An introduction to the two main classifications of software tests. Also includes analogies and common examples.
An introduction to unit tests. Explains the difference between unit tests and system tests.
An introduction to the different roles that make a user’s experience with software better.
An introduction to the different CMMI (Capability Maturity Model Integration) levels developed by the Software Engineering Institute (SEI) at Carnegie Mellon (CMU).
An introduction to the FDD process and a comparison with waterfall and extreme programming processes.
An introduction to using PERT to estimate task duration as part of managing projects.
An introduction to and explanation of the benefits of continuous integration as an element of every development process.
An introduction to functional tests, or system tests. Also contrasts with unit testing and shows how to use a layered testing approach.
A brief tutorial on how to interpret a formal use case
An explanation of how to use a data dictionary to consolidate definitions of business objects for re-use when managing requirements.
An introduction to BPM including a simple example and links to resources.
15. JAD Session
An introduction to joint application design (development) sessions.
An explanation of the two types of product managers and how the role is divided.
An explanation of utility curves – also known as indifference curves.
An explanation of the difference between correlated and causal variables (also known as independent and dependent variables), and the challenges faced in writing requirements because of confusion around them.
Explanation of how SaaS value and costs work, with detailed comparison against software licensing models
20. Price Elasticity
Explanation of price elasticity of demand, including inelastic and elastic demand and unitary elasticity.
Explains the differences between the two, financial calculations, and conversion statistics.
Explains the economic behavioral models that are the underpinnings of cross-selling and upselling.
Explains how user stories move through the agile software development process known as Scrum.