Agile Development

Separating Form & Function to Facilitate Rapid Change & Development, Whilst Maintaining Aesthetic Richness Where it Counts

"There is a natural trade-off between functional and aesthetic richness.
     "You can't have something that is at the same time both an excellent high-functionality application and a great work of online art.
     "That point falls outside the sphere of design. The reason for this is that things that have the highest aesthetic beauty and impact cause you to stop and look at them, while things that are most functionally effective help you to do the job you want to achieve without being looked at. The two can't happen at the same time.
     "The most functional web sites are those that are information-rich, quick to load and totally obvious to use. While they can also be pleasing and attractive, their focus on function would be compromised if they were extremely visually impacting.
     "Likewise, the most beautiful designs - the ones that make you stop and stare - are rich in visually-stimulating elements. While they can certainly also be highly usable, they cannot also feature the weight of highly functional features that would also put them at the very top of the functional quality scale." [Ben Hunt, The Web Doctor]

Have you ever put a huge amount of effort into creating wall charts to use in workshops? Written a facilitators manual which took you hours to do? Then you have a meeting of your peers and they want, in the name of progress, to make some changes to some of the wording and categorisations used in the material you all use. You are reluctant to agree to the change because you will have to completely re-do your wall charts and it will take hours to re do the manuals, not to mention the cost of having new print runs!!

This is an example of how effort involved in making changes to material, resulting in a total lack of motivation to engage in redoing or editing it, can significantly impede change and progress.

There is a solution, separate form and function
  • Separate form (structure, shape, appearance) and
  • Function (process).
In the case of form, there's deep structure (internal structure) and surface structure (look/feel/ appearance) which also need to be separated. Let's use the Minessence Values Framework (MVF) as case example to illustrate how this works in practise.

Form--Deep Structure

At its core, the MVF is the structural relationship of values and other attributes and entities. Below is a snippet of this structure:
  • Each Value has [name & description]
  • Each Value is either [goal or means]
  • Each Value belongs to one cluster [Self-Preservation | Security | Family | Self-Actualisation | Service | Emerging Order | Wisdom | Global Transformation]
  • Some Values are associated with a Brain-Preference [Intuition-Thinking/Feeling | Thinking-Intuition/Sensing | Sensing-Thinking/Feeling | Feeling-Intuition/Sensing]
  • Each Value is associated with one Motivation Field [Inspiration/Spirit | Integration/Insight | Meaning/Truth | Community/Heart | Control/Order | Leisure/Pleasure]
  • Each value has a priority which a person or group of people place on it [0..100] 
  • And so on...
All the above & more stored in a database. An International team of experts are charged with the role of keeping MVF up to date and relevant to today's world. The text describing any of the items inside the [ ] may be changed at any time, based usually on feedback from people working with the MVF--i.e. there is a permanent Action Research Project to develop the MVF. The team make changes through a set of database editors set up as part of our own Intranet (we call our Intranet, MissionControl). Below is what one of these editors looks like:

MVF: Values Name/Descriptor EditorMVF: Values Name/Descriptor Editor

There are editors for everything: which values are associated with which skills, names of the clusters and the world-views, names and descriptions of the Motivation Fields, etc.

Process Level

The editors are powered by software which resides at the process level. They are implemented in ASP.NET 2 and 4 by IT specialists. The editors enable non-technical people to keep the MVF up-to-date and relevant to its users.

Also at the process level is software to score people's responses, create groups of people, generate reports, produce statistics, etc. Below is an example snippet of code used to take a person's top values and place the text related to them on to a template supplied by a Value Consultant (see Form--Surface Structure):

Code Snippet
Code Snippet

Only the X, Y, W (where X & Y are the coordinates in points to the left and top of the text to be printed. W is the width of the text.) and font settings need to be changed in the code above to make the values appear in the desired location on a suppied PDF page template. At present these parameters have to be altered by by an IT person to suit each supplied template. However, the ultimate goal is to enable value consultants to do this for themselves (inclusing uploading the template) via a special page set up for them on the web.

Form--Surface Structure (Shape, Feel, Appearance)

This is the domain of people who use the MVF, mainly Value Consultants (VCs).

Typically, a VC will design a chart, document, single or multi-page report, leaving sections blank where information from the MVF is to be inserted. The VC's material can be as elaborate and aesthetically rich as the VC desires. It is supplied to the IT people as a PDF.

Minor changes to process level parameters, made by the IT people (see description of the Code Snippet above), then enable the same results from the MVF to be displayed in different ways on the aesthetically rich templates provided by the VCs. Three examples follow, each looking at my same Top 10 values (the first one has no template and the last one displays only my Top 9 Values):

Top 10: No Template
Top 10: No Template



Top 10: Template from Values Connection
Top 10: Template from Values Connection


Top 9: Template from Values AT Work
Top 9: Template from Values AT Work

Top 7: Magma Effect
Top 7: Magma Effect

A change to any part of the MVF is automatically reflected in any document/chart/report of any VC at the instant it is required/generated. Thus, by separating function and form in the implementation of the Minessence Values Framework a degree of nimbleness has been achieved in its ability to adapt to the requirements of changing times.

This flexibility is not restricted just to the generation of reports based on the changing value priorities of individual people, but it also enables the rapid deployment of charts, handouts, etc used in workshops--all the VC has to do is supply a template, and once linked to the MVF via the process level, whenever required, it's guaranteed to be up to date

No comments: