Glossary
Agile and DevOps
Flexible development approaches that prioritize collaboration, continuous adaptation, and rapid iteration, allowing for changes throughout the project lifecycle.
Example:
A team creating a social media platform might use Agile and DevOps to frequently release new features and gather user feedback.
Citing Sources
The act of formally acknowledging the original creator and location of external code or resources used in a program.
Example:
Including a link to the GitHub repository of an open-source library you used in your project's documentation is an example of Citing Sources.
Comments
Lines of text within code that are ignored by the computer but provide explanations and notes for human readers.
Example:
Adding a line like '# This function calculates the total price including tax' above a block of code is using Comments.
Consultation
The process of gathering input and feedback from clients, team members, and external research during program development.
Example:
Meeting with potential users to discuss their preferences for a new fitness tracker app is a form of Consultation.
Designing Code
The phase where developers plan how to achieve the program's goals, including brainstorming, organizing into modules, and creating UI diagrams.
Example:
Before writing any lines of code, sketching out the user interface and deciding how different parts of a weather app will interact is part of Designing Code.
Exploratory Development
A less structured development approach involving experimentation, often used when requirements are unclear or under time pressure.
Example:
When trying out a new programming language for a small personal project without a strict plan, you might be doing Exploratory Development.
Incremental Development
A development process where a program is broken into smaller, independent parts, with each part built and tested before being combined to form the complete system.
Example:
Building a complex game by first completing the character movement, then the inventory system, and finally the combat mechanics, each as a working piece, is Incremental Development.
Investigation and Reflection
The initial planning phase of program development, focused on understanding the problem, defining goals, and gathering input from stakeholders.
Example:
Before coding a new school scheduling app, conducting surveys with students and teachers to understand their needs is part of the Investigation and Reflection phase.
Iterative Development
A development process focused on repetition, where a prototype is developed and then refined through repeated cycles of design, implementation, and testing.
Example:
Creating a drawing app by first building a basic sketch tool, then adding color options, and finally adding layers in repeated cycles demonstrates Iterative Development.
Program Development
The entire process of creating software, from initial ideas and planning to the final product, involving various structured phases.
Example:
Building a new mobile game from scratch, including brainstorming, coding, and testing, is an example of Program Development.
Program Documentation
Explanatory materials, such as notes, comments, and user manuals, that describe how a program works and how to use it.
Example:
Writing a 'ReadMe' file for a software project that explains how to install and run the program is a form of Program Documentation.
Program Requirements
Descriptions of how a program works, detailing user interactions, necessary inputs, and the program's expected responses.
Example:
Stating that a password must be at least 8 characters long and include a number is a Program Requirement for a user registration system.
Program Specifications
Detailed descriptions of a program's goals, functions, and expected behavior, agreed upon by developers and clients.
Example:
A document outlining that a new e-commerce website must allow users to add items to a cart and process payments defines the Program Specifications.
Sourcing (Work/Code)
The practice of identifying and acknowledging the origin of any code or resources used that were not created by oneself.
Example:
If you use a pre-written library for a specific function in your program, you must engage in proper Sourcing by noting where it came from.
Waterfall Model
A linear, sequential development process where each stage must be completed before the next one begins, flowing downwards like a waterfall.
Example:
Developing a simple calculator app with clearly defined requirements from the start might use the Waterfall Model, completing design before coding.