Our Objectives

Methodology Objectives

Be on the same page

With the power of drawing and using a limited set of elements, it should be straightforward to understand each other. Let it be language barriers, knowledge differences or separate fields of studies, this simple drawing system should be easy to learn. Once you know the terminology and the elements, you should be able to start drawing.


Think backwards, refine by understanding

Just like reverse-engineering, if you know what you would expect, that's a good place to start. You can then start to identify those elements or actions that needs to be present or done to fulfill that expectation. You should be learn along the way, and refine even the starting expectation. By this backward-thinking approach, you would be able to find out, what the real expectation is, and how to get there.


Simplicity is the key

If there is a tool that is useful for everything, it is not tailor-made to any specific problem. Expectide should be used to identify a clear expectation and find the way how to get there. Don't overthink, don't overcomplicate. Just start drawing, identify the key points and go on. If you need to adjust the initial expectation again, do it. Don't overcomplicate a drawing. If you need further details, create another flow which can represent the internals of a single element.


Plan together

The methodology supports collaboration, solve your problem by gathering the key knowledge holders around. Just apply the proper culture to this workshop or meeting: set clear expectations on the meeting and on the whiteboard, paper, or software tool you are using. Work together, encourage simple statements and let everyone share their point. You could end up with knowledge you never imagined you'd need for success.


Below you could read through our high level objectives for the fully-fletched software tool that supports the methodology

Ease of use

Be an actual alternative to pen and paper or a whiteboard and a marker. This includes the ease of adding, modifying elements to a representation, but also the collaboration part, without passing around the marker in front of a whiteboard. A whiteboard or a sheet of paper is not restrictive by nature, can hold any representation and the content can be modified or extended easily. It can be used to explain an idea or come up with a solution to a complex problem. Our goal is to offer the same kind of functionality in an already digitized form, and even more.


Ease of collaboration

Our application should be able to support multiple users, multiple tenants at the same time in a cross-platform manner. No matter what are the tools that you are familiar with, just like a whiteboard doesn’t restrict in this manner, Expectides goal is the same. In addition to that, what a whiteboard struggles at, Expectide shines: working on multiple parts with multiple contributors at the same time, using a unified representation that is accessible to anyone, and can be formed to everyone's liking, while keeping all the different viewpoints and focuses accessible.


Information access

The speed at which we access information can never be fast enough. One of Expectide’s main goals is to provide a platform, where not only all related information is easily accessible, but offers a way to expand the available information and distribute it among contributors as fast as possible.


Executable

Flows created and modeled in the editor are actually actionable and executable routes and representations of data. The behavior of components can be specified to provide the expectation at every outcome. With the execution of a process the possible flaws can be discovered early, the behavior of the system is verifiable and it gives the possibility to discover bottlenecks or incorrect behavior right away, providing an instant early feedback about compliance and performance.


Live environments

With Expectide’s product it is possible to wire in outside connections and data sources easily. This makes it possible to observe, validate and monitor live environments or parts of it. It is possible to create partial bindings that makes it possible to evaluate an extension to an already existing process and further examine the emerging new mechanisms of actions. The binding to live environments are two way bindings to support a wide variety of use cases to not only be able to consume data, but also emit messages and results. This way it becomes possible to test components and new solutions without an implementation or mocking phase.


Multiview

Usually people create multiple views and aspects of a process depending on what kind of audience their work is intended for. Establishing a relationship between different representations, mapping them to each other often takes more time than actually creating these representations. With Expectide these representations are simply different viewpoints of the same topic, process or architecture. The views are dynamically adjustable and modifiable, which makes it possible to keep multiple views and representation in sync easily.


Document storage

Besides providing a way to represent processes, architectures, topics of interest our product gives the opportunity to store, organize and distribute connected documents, documentation as well. On one hand this can be an organized, wiki-like storage, but it is also possible to attach documents to every component or even execution. This makes the distribution of the documents highly effective, every component can have all supporting documents while maintaining a highly structured and accessible unified form.


Pinned, exportable views

It is possible to export predefined chunks of the constructed process, representations. These predefined portions of the whole are pinnable, making navigation or switching between concurrent viewpoints seamless and natural. These views are also building blocks of the whole process (they can be defined as one), meaning they are also examinable, documentable and linkable objects inside our system.


High quality, vector graphic representation and exports

The graphical representation of processes and architectures in the designer are created, handled and exported as high quality, vector graphics. This way a high uniform quality is achievable regardless of the applied zoom or granularity level, making the representations scalable with practically infinite resolution. The constructed representations are lightweight, easily distributable and reusable.


Distributed creation process

Besides simplicity and productivity one of our main objectives is to support native collaboration inside the ecosystem of our product. Making the creation process distributed and supporting real time collaboration on processes and designs can shorten lead times, improve productivity and teamwork by democratization of the creation process and architectural thinking.


Be a single source of truth

Be an actual alternative to multiple intertwined components that creators and visionaries use on a day-to-day basis, in a uniform way. This makes it possible to preserve high productivity rates and ease of use without unnecessary context and tool switches. By being a single source of truth the same product can meet the needs, expectations and requirements of all stakeholders in the envision, create, implement and maintain process without the extensive process of setting up connection between countless different tools and workflows.


History

The ability to store practically unlimited history of the creation and design process makes the communication of the idea behind the result more natural. By following the steps that resulted in the actual state of the product explains the thought process and is able to reveal hidden details and nuances. In addition a detailed history makes the creation process auditable and can ensure a compliant result.


Versioning and time travel

Store milestones, historic or upgraded versions of the constantly evolving process, architectures with ease. With continuously changing the design, storing, switching between, and comparing versions is of great importance. The stored versions not only can be checked out or compared to, but it is easy to restore them, switch between them and also execute them once they are loaded.


Inspectable

Expectide’s product makes the process/architecture inspectable at any point in the creation flow, not just in time but topologically also. Inspectability means that components or expectations details are examinable with high fidelity. During the design or implementation phase this provides a high reliability. Inspectability during executions means the actual real life behavior becomes observable in detail, way before the actual implementation, providing the possibility to fail and fix early.


Security

Provide end-to-end encryption for used data, not just during transmission but for data at rest also. Using state-of-the-art encryption methods the safety of the prepared plans, designs can be guaranteed. By formulating customizable security levels, not only the security of data storage can be assured, but also the information available to those who have access during the collaboration can be customized. With this approach, in addition to the represented processes, the used components, details, expectations, historical data, versions can be customized in terms of accessibility also. Share the graphical representation with watermark?


Fault detection and prevention

Be able to detect faults, compliance issues automatically with ease at an early stage in the design process. With manual executions, inspectability and automatic verification errors and bottlenecks can be identified once they emerge.


Quality

Quality means not only reliability, but also ease of use, easy and well supported workflows, and scalability. Our pursuit of quality is multi-layered. On one hand we aim to offer a high quality product to our customers, which can support the necessary workflows and increase efficiency without the need to introduce cumbersome new processes with a steep learning curve. On the other hand we put a lot of energy into the non-userfacing quality aspects in order to provide a reliable, fault-tolerant, easily maintainable product with high availability.


Extendable

Additional services, plugins can be added to Expectide’s product easily due to the implemented and used plugin architecture. The base product can be extended with any number of plugins no matter if these are in-house developed or are from 3rd party sources. Besides additional functionality offered by external plugins, the components used by the flow designer can be extended also, with custom designs or even snippets.


Integratable

We take great care to design our product so that it can be reliably and fully integrated into other solutions without degrading the features provided, especially ease of use and security. This on one hand provides a way to easily distribute the created processes or architecture to other products or stakeholders while being a seamless extension to existing processes and delivery pipelines on the other hand.


Testable

Make the produced process/architectural designs testable by providing a highly customizable, easy to use mocking interface to all components used. These mocks are capable of mimicking real life behavior of components that are not yet implemented, or not yet designed. It is also possible to wire together implemented, mocked and integrated real life components, making it possible for testability to come into picture to easily verify designs on performance and integration aspects.


Dynamic

The representations created with the product are not static representations of an underlying process or idea, but a continuously, dynamically evolving concept. The design can be a subject to constant developments and changes. The contributors are able to dynamically switch and use different flows or versions in a project.


Internalization, localization

Support multiple languages at every level in the product. This not only means the localization of the UI components but also the possibility for the user to offer localization with the produced process/architectural designs. Switching between different localizations for the designs is easy and totally independent of the UI localization settings.


Customizable

With our base product we aim to provide a limited complexity, which is not necessarily suitable to serve all the needs of our users immediately. In order to provide a solution that can be used as widely as possible and satisfy our customers' needs a high degree of customizability of the solution is required. This means the customizability of the user interface, the free extensibility of components, templates used during the creation process, and also a customizable rule set to verify and evaluate the designs created.