Wednesday, August 20, 2008

Agility

In GEN Casey's (Chief of Staff, U.S. Army) address to the 2008 LandWarNet conference he talked about agility of the Army as an enterprise. Two main points were brought out regarding the meaning of agility in an organization built from autonomous groups of people and heterogeneous information systems. Agility takes two forms, Intellectual and organizational. The contention is that the agility of an organization is built from the responsiveness of it's people.

"Intellectual agility is the ability to recognize opportunity and the courage to take it."

Sent from my iPhone

Thursday, July 31, 2008

Measures of Effectiveness

Considering the application of architecture patterns to infrastructure and services. How do you tell if patterns are useful? Do the patterns increase the interoperability and alignment of different enclaves within the enterprise? Do patterns increase the efficiency of developers building services or the creation of composite applications? A framework for the measurement of the organizational impact of SOA and architecture patterns is needed.
---------------------------
Sent from my iPhone

Saturday, April 12, 2008

Domain Modeling and Agile Development

By having developers focus on application software and user requirements in the form of piecemeal user stories critical understanding is lost. The agile development method encompasses the concept of a “user story”, to define user-centric operational threads. A collection of user stories make up the requirements from which software is built. About every two weeks a version of software is delivered which implements capabilities brought out in the user stories. Threads (i.e. User Stories) that do not get addressed in the current iteration are placed in a backlog for implementation in future iterations. As Evans [1] points out, a critical domain-centric focus is lost in this approach. There is never a consistent thorough model developed, the application software never has full knowledge of its usage domain.

Consider an application used for financial analysis developed through agile methods. User stories call out requirements for importing stock market information, business records, and conducting trend analysis on financial data. Software is developed to implement “stories” written by users that describe how the above required capabilities are exercised. A top level business data model would be very beneficial to implementing the required capability. Using the agile approach, stories will be deconstructed and software built from the ground up. The unified top down design and domain frame of reference is lost. As with all things, it seems a combinations of approaches here makes the most sense.

Ref: Evans, pg14
.

Saturday, March 8, 2008

Awareness Quote

Problems cannot be solved at the same level of awareness that created them.

-Albert Einstein

Sunday, March 2, 2008

Software Reliability

This week the course material for Stevens SSW565 covered some architectural techniques for software reliability and assurance. The subjects are generally labeled diversity and have really peaked my interest:
  • N-Version - Multiple independent versions executed simultaneously with the results correlated for accuracy.
  • Recovery Block - A highly efficient version for general purpose execution and a highly accurate version for execution when error conditions occur.
This architectural solution to reliability issues has great impact to complex systems and extended enterprises. Key to this notion is autonomy or lack of control and accountability. For a complex service oriented architecture where particular service implementations are outside the consumers domain of control the N-version technique has applicability. One can see this in everyday use. When I am going on a motorcycle ride I go to the internet to check the weather. But I never go to just weather.com, I always check my local cable feed and usually a NOAA radar map. This is the N-version technique in action. Three implementations of a weather information source correlated and fused to provide a common picture of the days weather.

Part of a SOA in an operational enterprise is a service control board that provides governance to the service portfolio available on the network. Looking at the governance issue from the reliability perspective it may be desired to have multiple implementations of the same service, for N-version reliability. I think learning is happening here. Thank you Dr. Vesonder!

Wednesday, February 27, 2008

Change

Become the change that you wish to see in the world.

- M Ghandi

Saturday, February 23, 2008

Mobile Post on Emergent Order

In nature order continually emerges from chaos. In management we continually try to impose order out of fear that chaos will take over. The imposed order is most always dydfunctional. Emergent order, as in nature, is functional and arises from autonomous entities working together with a shared vision and a sense of personal mastery.

Reference: The Fifth Discipline, pg269