Nor will dreaming about long-term refactorings and migrations which will rarely ever come to pass. What all of those IT use cases have in common is that someone, with a basic working knowledge of the system, needs to know exactly how understandability the system behaved in a specific instance so that they can respond to it appropriately. This means we collect data about a predefined set of events, which tends to be about how the system is interacting with the world around it.
In , Leitner-Fischer and Leue describe an approach to generate counterexamples based on event variables in a specialized event-order logic and use them to reason about causality, implemented in the tool SpinCause . Causality-based approaches that analyze counterexamples and extract user-understandable visualizations have been suggested only recently [992,993]. Inspired by the concept of certifying algorithms [994,995], some work has tackled the generation of certificates for positive verification results .
Financial accounting information presented with infographics: does it improve financial reporting understandability?
These findings support the need for the adoption of simplified language and format in reporting addressed to citizens with important implications for popular reporting (Stanley et al., 2008; Biancone et al., 2016; Manes-Rossi et al., 2019). The novelty of the research consists in its ability to give voice to citizens’ preferences regarding the way the financial information is presented, which has been largely neglected by previous studies. In parallel, it analyzes the effect of accounting knowledge on accounting understandability. Moreover, it is the first study that analyzes the use of infographics in public sector financial reporting.
The results show that infographics improve accounting understandability by nonaccounting experts compared to the traditional financial statements. However, infographics alone are not enough to succeed in making nonaccounting literate citizens experts in fully understanding accounting information. If the system is well designed (e.g., using strong software engineering practices and object-oriented or component-based techniques), as new developers join the project they are able to understand easily the implementation details and quickly begin contributing to the project. If the system is poorly designed and overly complex, people not involved in the original design of the system require additional time before they are able to make significant contributions to the project. In addition, their contributions are likely to further complicate the architecture because identifying the most effective way to implement a specific feature is difficult without a solid understanding of the overall architecture. Unfortunately, without intimate access to implementation details, this characteristic is very hard to determine.
Understandability of accounting information by citizens
Changeability and Extensibility—Change or enhancement involving one abstraction potentially requires making the same modification in the duplicate abstractions as well. Reusability—Clients of the abstraction with Leaky Encapsulation smell may directly depend upon the implementation details of the abstraction. Hence, it is difficult to reuse the clients in a different context, since it will require stripping the client of these dependencies (for reference, see Command Pattern ). Extensibility—Consider Example 2 wherein the number of types in a hierarchy can grow exponentially when new combinations need to be supported in the design.
Our ability to effectively exercise that great power often falls short on a very surprising limitation —our ability to know our own creations. As applications grow and teams scale, it becomes even harder to maintain a clear understanding of the software itself, causing projects to crumble like the biblical Tower of Babel. Reusability—Duplicate abstractions often have slightly different implementations (especially Type 3 and Type 4 clones). The differences in implementations are usually due to the presence of context-specific elements embedded in the code. This makes the abstractions hard to reuse in other contexts; hence, reusability of the abstractions is impacted. Setting the natural language of a web page or section can be done through lang attributes in HTML.
Thesaurus Entries Near understandability
These rely on the concept of counterfactual dependencies , stating that E would not have happened if C had not happened before. Halpern and Pearl formalized counterfactual actual causality using a structural-equation approach [976–978]. Whereas algorithmic reasoning following this approach is computationally hard in the general case [979,980], tractable instances for deciding causes and explanations could be identified in . Probabilistic causation attempts to provide criteria for the stochastic evidence to treat C as a cause for another event E. As illustrated, e.g., in [974,982], various nuances of probabilistic causation have been defined in the literature. Most of them share the idea that causes raise the probabilities for their effects and rely on a formalization using conditional probabilities.
More often than not, we find ourselves boarding the train midway through, with little or no control over how it got there. And so, we must start tracking and managing Understandability as its own key metric, maximizing engineering velocity and quality, even under less than optimal conditions. We now have a better perspective on the importance of Understandability in software development. On the one hand, we always knew that keeping code easy to read and maintain was important and that much of software engineering was focused on that feat. And yet, we now have a greater appreciation for how much of a difference it can make in allowing software to grow and evolve over time.
- For instance, if a banking application implements a checking account service that does not implement a deposit function but instead relies on the client to use a separate deposit service, this would detract from the service’s modular understandability.
- In the same realm, albeit students are a considerable part of our sample we expect that they dealt with the study by adopting a citizens’ stance.
- In , Leitner-Fischer and Leue describe an approach to generate counterexamples based on event variables in a specialized event-order logic and use them to reason about causality, implemented in the tool SpinCause .
- Adherence to a reasonable level of understandability would prevent an organization from deliberately obfuscating financial information in order to mislead users of its financial statements.
Some of these definitions use an explicit notion of time and require that causes occur before their effects, whereas others use a formalization of the screening-off principle that attempts to avoid the spurious correlation of events due to common causes. Pearl’s probability-raising approach  relies on the distinction between observation and intervention, where the latter overrides the original model and zooms into what would have happened if system variables are forced to take a certain value. Other probabilistic extensions of Halpern and Pearl’s structural-equation model have been considered recently under philosophical aspects  and in a logic-programming approach .
Last but not least, make sure to have the scaffolding in place to deal with complexity when it arises. Write automated tests in the form of both unit-tests and system-tests to ensure that your engineering team can safely refactor that complexity away. Put in high-quality observability tools to help you gain a high-level understanding of the system. Automate your integration and deployment pipelines to enable you to improve and iterate fast. Talented engineers draw on their experience to express complex business problems in simple and elegant ways in both the software’s source code and architecture, creating an easier to understand software. Let’s look at an example of understandability in accounting through the lens of an investor examining a company’s financial statements.