【A Brief History of Agile】Jon Kern - Agile MDA in the Details

2022-03-22 16:36:28
Jing
Original 1683
Summary : By the late 80s, Jon probed the new object-oriented paradigm, and he quickly adopted C++. With the birth of UML, Jon finds a firm direction and path: to become an evangelist for object-oriented and lightweight processes. In 2001, a new concept was proposed: MDA. Model Driven Architecture (MDA) is a practical design approach that developers take to capture the project requirements, plans, and implementation design and follow it to implement the system. In the decades that followed, Jon Kern worked as an Agile MDA tutor in the business of Agile training.


"In the moment when the camera freezes, all the good things happen to you unexpectedly", this is Jon Kern's expression on life. To better record his life, he created a photoblog of his own on a website called Flickr. In this blog, Jon has uploaded various photos, the subject photographed could be a fully loaded ferry, a pair of fire hydrants that look like guards, or a lizard reflected in the water. Jon is not only accustomed to observing the small details around him in life but also accustomed to observing the details in his work to promote business success.


The following will take you to know Jon Kern.

First contact with software development

At the end of the 1960s, after the "Software Crisis" emerged, people began to think about meeting the increasing demand and maintaining the ever-expanding number of software products. In the decades that followed, models such as rapid prototyping and incremental have emerged, driving the software industry forward. During this period of intense turmoil, Jon Kern discovered an unknown world, and with curiosity about this world, he ventured into the field of software development.


Jon successfully graduated from Ohio State University in 1981 with a B.S. in Aerospace Engineering. With the excitement and enthusiasm of entering the society, he joined the Naval Air Propulsion Center (NAPC) as a project engineer. Jon's work focused on advanced R&D testing of cruise missile jet engines at the Propulsion Center.. During this time, Jon kept writing data acquisition code to calculate thrust, airflow, and other elements in real time. Whether it was the job requirements or his own personality, this experience made Jon pay more attention to details.

He joined Veda, a global data, analytics, and technology company, as an aerospace engineer, working on semi-physical control, flight simulation, and real-time data acquisition. Very quickly, software development became Jon's passion. During this process, he gradually discovered the advantages of lightweight development methods and began to explore a new object-oriented paradigm. He believes that this is an inevitable requirement of software development.

UML/MDA

By the late 80s, Jon probed the new object-oriented paradigm, and he quickly adopted C++. Jon found that different methodologists proposed their object-oriented analysis and design during this process. This brings up a problem: Each methodology has its own set of concepts, definitions, notation, etc. There is no universal concept in this domain. When a developer chooses a methodology, he will be confused by the differences in these details. Therefore, a unified representation is urgently needed to be established.


In 1997, to break this deadlock, three methodologists started to break the deadlock by combining the best of each methodological approach into a single proposal. This proposal UML (Unified Modeling Language) was finally approved by OMG (Object Management Group) as a standard and managed by this organization ever since.

Source: OMG

With the birth of UML, Jon finds a firm direction and path: to become an evangelist for object-oriented and lightweight processes. At the same time, he was joined by a like-minded friend, Peter Coad, a proponent of FDD (Feature Driven Development). Peter and Jon were early practitioners of object-oriented programming and the Coad/Yourdon methodology. For Jon, Peter is a good friend who shares weal and woe.


Peter and Jon have a profound connection. They worked together in the early 1990s and co-authored the book " Java Design: Building Better Apps and Applets". From Peter, Jon has learned an essential thing, that is "honesty", which means that in software development, it is important to make sure that the team is promoting "frequent, tangible work products" rather than a development process that is infinitely closer to completion but never finished. "Honestness" has had a strong influence on Jon, and he has always adhered to this principle in his subsequent work.


To better help clients deliver business value using software development, Jon decided to start his own company in 1995 and named it Lightship. Lightship is focused on providing customers with advanced, object-oriented, multi-tiered solutions through best-practice software development methodologies. During his time at Lightship, Jon made significant contributions to the company as the chief architect/modeler for IBM's next-gen Manufacturing Execution System (C++, thin-client, message-driven, fault-tolerant). In addition to applying UML to his team, Jon places excellent value on architecture. He believes that the primary goal is to help teams build an environment that enables effective practices and a reliable architecture to deliver business value efficiently. Therefore, he focuses on finding better ways for the team to achieve their goals from the perspectives of person, process, and technology.

Jon's views about the team and the customers earned the approval of many people, including his good friend Peter Coad. In 1999, Jon was invited to join TogetherSoft, a company founded by Peter, to help the team promote UML modeling tools. The team members and customers he worked with said that Jon was a man of deep insight. Of course, this vision is evident in his daily work: he values his team, actively interacts with customers, and guides team members through the delivery and feedback process, helping them with technical practices and tools, etc. During nearly three years of this work, TogetherSoft has achieved great success with the support of UML modeling/ IDE (Integrated Development Environment) products and the team of professional mentors assembled by Jon. At the end of his tenure, Jon left behind a team that was more valuable to TogetherSoft.


In 2001, a new concept was proposed: MDA. Model Driven Architecture (MDA) is a practical design approach that developers take to capture the project requirements, plans, and implementation design and follow it to implement the system. MDA provides guidelines for structuring software specifications that are expressed as models. System functionality is first defined as Platform Independent Model (PIM) through domain-specific language like CORBA, .Net, the Web, etc. PIM is then translated to platform-specific models (PSM) through domain-specific or general-purpose languages like Java, C#, Python, etc. Translations between PIM and PSMs are done using automated tools, like model transformation tools. The appearance of MDA points out a solution for improving the convenience of document preparation. After Jon came into contact with MDA, he found that the excellent synchronization features of MDA can also provide strong support for the lightweight methodology, and then Jon started his MDA journey.

Agile UML/MDA

Also, in 2001, Jon Kern co-authored the " Agile Manifesto" with sixteen other prominent representatives of the software development field. At this conference, the Agile Alliance was established. By stimulating crowd intelligence, they integrated the scattered "light" methods to form a more inclusive concept to meet the actual needs of different teams and different projects. They work together to integrate the originally fragmented concept of "lightweight" into a more inclusive connotation. This led Jon to move in the direction of Agile MDA/UML.


Source: The Agile Manifesto Creation

In the decades that followed, Jon Kern worked as an Agile MDA tutor in the business of Agile training. He has worked in various capacities, such as an agile consultant, web developer, and architect, and founded several small companies. No matter what changes have occurred in Jon's identity and role, his original aspirations for agile and his insistence on object-oriented programming have not changed.


Looking back on the conference in 2001, Jon says that none of them had any idea that the gathering would make such a big splash in the software development world. Because at the time, lightweight methods were a tiny part of software development practice. Now, decades later, it is not difficult to see that the agile movement has formed an irresistible situation and is still moving forward with great vigor. Today's Agile has derived new branches and content based on the original agile. Jon supports these new elements because the influx of fresh blood can energize Agile.


When asked what he regretted about the conference, Jon's answer was unexpected but reasonable. He said, "I should have gone a few days earlier so I would have more time to go skiing before the conference started."

For him, detail is an important factor in both work and life. Jon is not only good at taking a long-term perspective but also at finding the details and pushing the team or company to perfect every detail to drive business success. From the beginning, Jon has insisted that it makes the most sense to build a durable, tried-and-tested process for solving challenging business problems and to have teams guided by object-oriented and agile methodologies. This is why he has been sticking to Agile MDA/UML.


On the one hand, Jon Kern shares technical content on a blog called "technicaldebt". On the other hand, in his spare time, Jon Kern spends his time with his wife and family traveling, photographing, skiing, hiking, climbing, tasting different kinds of beer and wine, etc.


Jon Kern gives new meaning to life, which is a constant search for "new knowledge".

Write a Comment
Comment will be posted after it is reviewed.