Digital commons

The digital commons refers to a variety of digital resources that are available for free and open use by the public. These resources include, but are not limited to, software, music, videos, e-books, and images. The digital commons is a growing body of work that is available for anyone to use, remix, and build upon. … Read more

Single Responsibility Principle (SRP)

The Single Responsibility Principle is a software development principle that states that a software module should have only one reason to change. This principle is intended to make software more maintainable by reducing the number of dependencies between software modules. The Single Responsibility Principle is often cited as a reason for why software developers should … Read more

SOLID (software design principles)

SOLID is an acronym for five important software design principles: S – Single Responsibility Principle O – Open/Closed Principle L – Liskov Substitution Principle I – Interface Segregation Principle D – Dependency Inversion Principle Each principle is important in its own right, but following all five principles will result in more robust, maintainable, and extensible … Read more

Research and development (R&D)

Research and development (R&D) is the process of investigating and creating new ideas or improving existing ones. This includes the development of new products, processes, or services. R&D is important for businesses to stay ahead of the competition and to maintain a competitive advantage. There are two types of research and development: basic research and … Read more

Cone of uncertainty

The Cone of Uncertainty is a concept used in project management to describe the amount of uncertainty surrounding the estimation of a project’s completion. The cone is widest at the start of a project, when there is the most uncertainty, and narrows as the project progresses and more information becomes available. The Cone of Uncertainty … Read more

Apache License

The Apache License is a software license that allows for modifications and redistribution of software. This license is used by the Apache Software Foundation (ASF) and is compatible with the GNU General Public License (GPL), making it popular among open source projects. The Apache License is permissive in that it does not require developers to … Read more

Software engineering

Software engineering is the process of designing, creating, testing, and maintaining software. It is a field of engineering that focuses on the creation and development of software. Software engineering is a process that includes the following steps: 1. Planning and requirements gathering: This step involves understanding the customer’s needs and requirements. 2. Design: This step … Read more

Empiricism

Empiricism is the philosophy that knowledge comes from experience and observation, as opposed to reason or innate ideas. In software development, empiricism is the idea that the best way to understand how a system works is to observe it in action and experiment with it. This approach is often contrasted with the more traditional approach … Read more

Water-Scrum-fall

Water-Scrum-fall is a term used to describe the process of using scrum to manage a project, but waterfall methods for actually developing the software. In other words, the project is managed using scrum, but the actual software development is done using waterfall methods. The term “Water-Scrum-fall” is generally used to describe a hybrid approach to … Read more

Moral Machine

The Moral Machine is a thought experiment and online game developed by MIT Media Lab which presents users with a series of dilemmas in which they must choose who should live and who should die. When was Moral Machine created? Moral Machine was created on October 18, 2016. What morals should drive driverless cars? The … Read more