Software Architecture: The high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. These structures are needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building.
Client component/method/object: The component/method/object that is interacting with a given code.
Coupling: The degree of interdependence between software modules; a measure of how closely connected two routines or modules are; the strength of the relationships between module.
Software Design Pattern : An elegant reusable solution to a commonly recurring problem within a given context in software design.
User story: User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. [Mike Cohn]
User story format: As a {user type/role} I can {function} so that {benefit}
Brainstorming: A group activity designed to generate a large number of diverse and creative ideas for the solution of a problem.
Focus Groups: A kind of informal interview within an interactive group setting.
Prototype: A prototype is a mock up, a scaled down version, or a partial system constructed
Feature List: A list of features (or functionalities) grouped according to some criteria such as priority (e.g. must-have, nice-to-have, etc. ), order of delivery, object or process related (e.g. order-related, invoice-related, etc.)
Glossary: A glossary serves to ensure that all stakeholders have a common understanding of the noteworthy terms, abbreviation, acronyms etc.
Use Case: A description of a set of sequences of actions, including variants, that a system performs to yield an observable result of value to an
[ 📖 :