Free Avro Schema Viewer

Avro is a data serialization system. The core is Avro schema which can be used to describe the structure of datasets very much like XML Schema or JSON Schema. Avro is primarily used in Big Data scenarios for which it offers special features like schema evolution. This is a typical Avro file:

{"namespace": "net.pleus.domain",
    "name": "customer",
    "doc" : "Customer Dataset",
    "type": "record", 
    "fields": [
        {"name": "id", "type": "int","default":"-1", "doc":"Unique id of the customer"},
        {"name": "name", "type": ["string", "null"],"default":null,"aliases":["fullname"],"doc":"Customer's name (optional)"},
        {"name":"address", "default":null, "doc":"Address information",
                    {"name": "street", "type" : "string","default":"unknown", "doc":"Street"},        
                    {"name": "city", "type": "string","default":"unknown", "doc":"City"}
        {"name": "contact", "default":null, "doc":"List of contact options", "type": {
            "type": "array",
            "items": {
                    {"name": "type", "type" : { "name":"values" , "type": "enum", "namespace" : "net.pleus.contacts", "symbols" : ["EMAIL", "PHONE", "MESSENGER"]}, "doc" : "Type of contact"},        
                    {"name": "url", "type": "string","default":"unknown", "doc":"The contact url"}

As you can see it is a JSON file that is structured according to the Avro specification. Although this verbose form might be suitable for technical people, often such structure definitions have to be discussed with non-technical people from the business domain. This is especially the case if you follow a domain driven approach.

To make it easier to discuss and negotiate Avro structure definitions without creating redundant model representations, I’ve created an easy to use Avro Viewer. If you drop the file shown above you will see a visual representation that just shows the essence of the schema.

You can see records, enums, arrays, defaults, aliases, documentation and so on without the JSON markup noise.
Avro Viewer is free to use. It is just plain HTML+JavaScript+CSS. If required you can download the source and modify it to suit your needs.

Fintech Success Story

In 2017 PLEUS Consulting supported Yareto GmbH in the development of their new independent comparision site for the automotive finance industry.
Yareto is a fintech company that specializes in automotive financing. In 2016 the corporate startup was founded to build a brand new comparision site for the automotive finance industry. The site enables car dealers to compare credit offers in the areas of sales financing and purchase financing. Lenders get access to sales channels they couldn’t serve before.

PLEUS Consulting supported Yareto in setting up a Creative Software Workbench. The Creative Software Workbench aligns technology, processes and people in a way that creates an environment in which high quality digital products can be developed in short time.

The front-ends were developed using modern web technologies such as Java-/Typescript, HTML5, CSS and Angular. For the backend Java Enterprise (JEE) and a Sustainable Service Design approach was utilized to design and build a backend with a high degree of reuse and scalability. The service landscape was established using Domain Driven Design principles. Operations was performed using cloud platforms.

On the technical side, PLEUS Consulting supported the teams as Lead Developer. In the area of agile techniques, PLEUS Consulting supported the development teams as Agile Coach. The combination of those roles worked quite well especially in the phases of seed and growth. With these roles the company received thorough support in the areas of technology and methodology.

The project has shown that with a combination of modern technologies, agile approaches and the right people a very short concept to market cycle can be achieved, creating competitive advantages. This is what the Creative Software Workbench is all about.

You can read more details about the project in the official success story. More info about the Creative Software Workbench can be found on the official website.

JAX 2018: Management of Requirements and Quality the Agile Way

Between the 23th and 27th April 2018 JAX will be taking place at Rheingold Halle in Mainz.

On the 23th I am going to give a presentation about the way agile companies turn ideas into valuable software in a short time and how this differs from classic requirements engineering practices.

On the 24th I am going to show how agile teams build high quality software. I’ll cover techniques and principles that help to ship software increments to the customer after every Sprint.

You can see the timeslots on the JAX website. I look forward to seeing you there.

Agile Culture Cards

People are born with an agile mindset. Many of them lose it throughout their career as they are shaped by an industrial culture which is based on ideas like the lone warrior and error avoidance.

Establishing an agile mindset amongst the team members is a challenging task, especially in non-agile organisations. Behaviours and habits which have been appropriate for many years have to be unlearnt and replaced by new behaviours. Many Scrum Masters and Agile Coaches, including me, work with posters explaining the principles of Scrum, Lean, etc. While these posters are helpful, they are a bit limited as they only show abstract principles. To apply these principles, people must transfer them to specific actions, which is sometimes difficult. To make this step easier I have created the Agile Culture Cards. These cards address certain behaviours directly and offer alternatives. They are close to the reality of the workplace and thus make it easier to understand and apply agile principles.

You can download a deck of Agile Culture Cards from the download section. The cards are currently available in German only.

Agile Culture Cards intend to train an agile mindset on a daily basis.
Feel free to use them as you like. If you have any ideas for more cards please let me know so that I can include them in the next version.