Ideas on Enterprise Information Systems Development

This blog is devoted to ideas on Enterprise Information Systems (EIS) development. It focuses on Lean Thinking, Agile Methods, and Free/Open Source Software, as means of improving EIS development and evolution, under a more practical than academical view. You may find here a lot of "thinking aloud" material, sometimes without scientific treatment... don't worry, this is a blog!
Every post is marked with at least one of Product or Process labels, meaning that they are related to execution techniques (programming and testing) or management techniques (planning and monitoring), respectively.

EIS Patterns Change Log & Roadmap

EIS Patterns is a didactic framework that is in constant evolution. Therefore, from time to time, major changes representing reconceptualizations of parts of it occur, causing some difficulty tho accompany its evolution. Also, sometimes code and posts are not synchronized during some time. This page aims to keep a log of these major changes with pointers to the related commits at Github, where the code is hosted.

Pure Experimental Rough Sketch (v 0.1.0)
Series of commits for experimenting Should-dsl, Specloud and Letucce, as well as basic ideas on the domain. Sincerely, it is not worth checking it. The associated post is Part I.
Starts on November, 22, 2010 and goes up to December, 09, 2010.

Configurable + Configurator (v 0.2.0)
Series of commits representing experiments with configuration of objects. Classes are basically data bags, therefore tests are very simple and boring most of times. For each concept there is a concept configurator. Lettuce wasn't used because it would be overkill. The associated posts are Parts II and III.
Starts on December, 12, 2010, ends on March, 01, 2011.

Business Decorators & Python Decorators (v 0.3.0)
Commits representing the experimentation with Decorators as well as using should-dsl to define rules of association. The associated posts started with Part IV. Started on March, 11, 2011.
-Commits of March 21 sketched the use of Python Decorators to implement Operations and Rules of Association. Described in Part VII.

Rule Checker & Documenter (v 0.4.0)
-Commit of April 9 presents the first nice version of RuleChecker, a class able of find Business Decorators' rules implemented in should-dsl and run them against a candidate decorated object.
-Commit of April 13 changed Material to Work Item, a more generic and technically sound term.
-Until this version, the business processes were treated implicitly, by directly manipulating Movements in the acceptance tests.

Playing with Fluidity (v 0.5.0)
-Commit of May 27 introduced Fluidity, the project's state-base workflow machinery. Fluidity and Extreme Fluidity became separated projects because they can be used outside this project.
-Part IX explains how to develop using the framework.
-Commit of May 30 introduced the first customized contract matcher: "be decorated by". (v 0.5.1)
-Commit of June 05 started to mix Fluidity with Process and Movement configuration. (v 0.5.2)
-Commit of June 07 introduced context logging for Movements. (v 0.5.3)
-Commit of June 10 is the first version using Fluidity in acceptance tests. (v 0.5.4)

Examples moved to a separate project (v 0.6.0)
-Commit of June 29 (v 0.6.0) separates the core from the example 'Bank System', which now is a separate project found here and tagged initially as v0.1.0.

Transformation and Transportation as Categories (v 0.7.0)
-Commit of August 11th changed Transformation and Transportations to categories of Movements, instead of classes. This commit is only an indication of use, given that Categories are not used correctly yet, however, the docstring of Category class now has improved examples of use.
-Commit of August 15th provides a basic mechanism for logging the activation and deactivation of decorators, through Decorable.decorate() and Decorable.Undecorate(). In the same day, examples were updated accordingly.
-Commit of August 19th on EIS Patterns Examples was the first play with a common rule base, in this case, a experimentation on simple rules for Resources, marked with v0.1.1.
-Commit of August 26th introduces Rule Manager and defines a Decorator.decorate() reusable method, marked with v0.7.2
-In the example bank system, commit of August 26th puts the example in compliance with the Rule Manager (v0.7.2 of the framework), but still using a workaround while dynamic loading of @rules is not ready, marked with v0.1.2.
-Commit of August 29th separates rules from the rule manager (v0.7.3), using a composite object to define them, marked with v0.7.3. It is reflected on eispatterns-examples by creating a subclass of Core Rules called Bank System Rule Base (v0.1.3).
-Commit of September 02nd makes Configurator module compatible with the Rule Manager, marked with v0.7.4.


Roadmap
v 0.8.0: Make Process.run_activity() generic, instead of Fluidity dependent.
v 0.9.0: First version with Natural Language Processing to read requirements and find candidate Decorators and Resources.
v 1.0.0: Integrate Category class to domain classes.

*At some point the configuration procedures, described on Parts II and III will be merged with decorators, described on Part IV onwards*