Wednesday, April 29, 2009

Quantification and Qualification of a Service Assurance Solution



Association of solution to how it impacts our bottom line [tactical and strategic (tangible) benefits]:

Measuring total number of customer calls which are not for an identified issue by SA solution. This is the highest priority and would serve as a report card for SA solution.


Inputs on the overall business continuity and growth/volume planning [strategic]:
Defining the trend analysis accountability team member

Encouragement/goveranance [strategic]:
Encouraging the team members for leveraging SA solution to ensure availability of services at all times. Association of individual performance to overall application availability and csi

Updating our customers on identified issues proactively[tactical]:
What happens sometimes is although teams are experiencing an issue, teams do not notify customer right away and start fixing the problem. Two options to fix this, documenting a problem management process with the first step to be a customer notification and communication, or auto email from the tool on the issue. Starting with the former would be a better approach.

TMN Framework

http://www.iec.org/online/tutorials/tmn/topic01.asp

Logical model was most quoted, rest were terms which never took off...

Friday, April 24, 2009

SWOT Analysis for Business Service Management (BSM) Consulting Organization

Strengths
· Displays health of organization in single pane of glass dashboard; allows tracking major initiatives and revenue streams associated to the initiatives
· Unique solution for alignment of business, operations and IT
· Only solution which reflects aggregation of Service Assurance, Fulfillment, and Billing for a service provided
· Diverse tool offerings and lack of system integrators provides a unique edge
· Integrated solution for SLA compliance, Fault management, and performance management for the entire enterprise
· Provides a strategic decision support technique which can be leveraged for executives, middle level managers, operations and IT staff
Weaknesses
· Accuracy of information displayed is very critical, this is often a big challenge
· Contextual sensitivity of the solution to fit to the environment of implementation is very difficult to achieve
· Lack of thought leadership and awareness in the industry
· Lack of open source tool availability for implementing BSM
· Lack of evaluation techniques for successful business service management solution is very often a limiting factor
· Cultural mindsets of not trusting automated systems for decision making is a significant factor contributing to resistance for BSM
Opportunities
· Early entrant in the industry, lower competition
· Multiple vendors trying to develop tools and capabilities for achieving the solution
· Open source tools are picking up the BSM theme and aligning with the BSM community; this opens opportunities for BSM consulting organization
· Multiple companies looking for aligning Business, operations and IT which creates a big client base for this solution
· SLA compliance is a mandatory for many companies and is a part of regulatory process and auditing standards
· Current economic factors play in and consolidation of systems is looked at as a strategic benefit, BSM fits perfectly in this space
· ITSM, ITIL, Problem management processes are widely followed which makes BSM a perfect solution for these companies
Threats
· Reputation and industry opinion of the solution is getting negative due to phony sales pitches and buzzwords like “8 hours to BSM” and “value of the shelf”
· Lack of standards and guidelines for implementation.
· Lack of sales pitch and strategy
· Investments required for leveraging toolsets in the organization and need to purchase if tools are not existing
· Lack of industry professionals with knowledge of BSM is a big weakness for market capitalization
· Expectation management is a problem with over-hyped solutions in the market
· Executives with old school mentality do not feel comfortable using automated solutions for decision making

Thursday, April 23, 2009

RDP, Fake it!!

Executive Summary

This paper is an effort to evaluate and draws a comparison between the paper by D L Parnas that discusses on RDP and the Joomla system design process followed by Joomla community. It is also an effort to evaluate the Joomla architecture documented by my team (!Minnows) in context to the RDP as described by Parnas.
One of the defining results of this study is the ability to understand and appreciate the need to fake the design process. This study also provides an insight in improvement areas of! Minnow’s Joomla system architecture documentation like the need to specify interface and behavior completely and concisely along with a need to avoid myopic approach to documenting architecture.
Discussion

D L Parnas and Clements discuss the need to practice the RDP, to the maximum possible extent (fake) for designing a system with the constraints in the view, in any software ecosystem. They very rightly point out that idealization of the process is not possible in most cases, but the importance of following the process cannot be neglected. Joomla system development process is an ideal comparison to the RDP mentioned in [Par86].
Joomla system architecture is a peculiar case of mix and match of “accidental and planned architecture” and also a classic case of “faked rational design process.”
Well planned architectural decisions in Joomla like MVC architecture, Joomla packages & extensions and the framework in Joomla are very well defined and followed to the specifications in the subsequent phases and releases of Joomla; this makes one think of it as a very much inline with the RDP. But blunders like no support for multi vendor databases and continuous security related issues in most releases immediately points to the fact that the system has large amount of accidental architecture and design decisions. All accidental decisions may or may not cause impacts key success factors or cause failure of the Joomla system; but never the less lack of documenting such decisions impacts the continuity planning, conflict resolution and strategic decisions of the Joomla system, which is also pointed out in section 5 in [Par86].
Joomla development community religiously follows the role definitions and task completion criteria, which answer “What kind of persons should do the work?” and “What criteria that work product must satisfy?”; which is also pointed out in the section IV of [Par86]. The same section also discusses the role of planning on the next course of actions and gathering information required for execution; which is the role of the core community in Joomla. The core community is dedicated to and responsible for envisioning, planning, risk approaches and steering as mentioned in the phase 1 and phase 4 of our documentation.
Critical Analysis

When trying to analyze and compare the RDP described in [Par86] section V to the Joomla system design process; one of the first observations is that the product requirements are not documented upfront. On the contrary, designing and documenting the module structure is religiously followed by the Joomla community and was also followed by us when documenting the architecture. Joomla viewpoints, views and view packets in first three phases deliverables along with the packages mentioned in the last phase provided a really good insight into the module structure of the Joomla system. But one of the things that I think we can improve on is the interface and behavior documentation of Joomla system to describe the architecture of Joomla in an articulate manner. The documentation of Joomla severely suffers with what Parnas defines as Myopia and some of which also influenced our architecture documentation in project phases. This is another thing that I think we can improve on in our architecture.
As most open source systems, Joomla has also evolved substantially over the years due to core community members who decided to start simple and evolve as the system grows following the principle of YAGNI. This does not however mean that Joomla community doesn’t recommend using RDP or does not follow RDP, what they don’t recommend is idealization of RDP (sequential approach with check pointing). Non-idealized (fake) and non-sequential approach to RDP enables agility and a better evolution of the system allowing the system to grow.
Conclusion

Fake it, Don’t idealize the RDP!!
Figure 1: Context independence vs. Understanding

To summarize, I would like to take systemic thinking approach to RDP. Above diagram which is also one of the adopted approaches for Joomla system design process, depicts the context independence vs. understanding [1]; clearly shows that a system evolves only after certain amount of effort and iterations of implementations and cannot be envisioned, architected or designed upfront. The diagram depicts the concept of system evolution; explaining that the first level of gathered input is always data, which after evolution provides information; which by understanding the patterns provides knowledge of the systems real drivers and success factors, and further evolution by understanding the underlying principles makes a system which has the potential success drivers. This state is called Wisdom by the community. This I think is also inline to Parnas’s argument about “allowing a system to grow by faking it” and following RDP as much as possible with the constraints and ecosystem in context.
To conclude, it is not feasible for a system like Joomla! to follow RDP in an idealized manner but it definitely is possible and in fact a necessity to make a genuine effort to follow the RDP as much as possible. Understanding the difference between ideal and fake RDP will be a defining factor for the success in most current and future software systems.
Future Trends
Gartner has recently published a report that SOA [2] are failing due to “idealization” of design process, lack of evolution of system architectural processes and lack of correct governance. This is something that Parnas points out in his paper accurately assessment and provides a guideline RDP which should be faked and not idealized.
Bibliography
[Par86]
A rational Design Process: How and Why to Fake It by DL Parnas & Clements

[1] Systemic Thinking on Knowledge Management http://www.systemsthinking.org/kmgmt/kmgmt.htm

[2] Bad Technical Implementations and Lack of Governance Increase Risks of Failure in SOA Projects
Glossary
RDP - Rational Design process
SOA – Service Oriented Architecture
YAGNI – You Aint Gonna Need It

Saturday, April 18, 2009

Grails Advanced Querying

www.piragua.com/msse
slide 18
/// grails criteria using hibernate

def c = Customer.createCriteria(){

return c.list(){
       servicelevel{ // alias maps to a table
                             eq('name', 'Gold')
                  }
        incidents{
               eq     
              }
}
}


/// 
def searchForCustomer( accountnumber, name, state){

def c = Customer.createCriteria(){
                  c.list(){
or{
like('name', 'h')
like('accountNumber', accountNumber
}
}
}

Transaction status:
slide 22 

Writing & Talking skills

Carlis talk on reports

History of Interactive computing

1) As we may think: http://www.theatlantic.com/doc/194507/bush
2) Doug Engelbard
Collective intelligence, augmenting human intelligence

Monday, April 6, 2009

Groovy

Classpath in groovy

http://dustinwhitney.blogspot.com/2008/03/groovy-classpath.html

Simple connection to oracle
http://docs.codehaus.org/display/GROOVY/How+can+I+dynamically+add+a+library+to+the+classpath

Here are some books/resources if you're interested in doing some extra reading on Groovy and Grails.
Groovy Books- Groovy in Action (Dierk Konig): A little out of date, but probably the best reference- Groovy Recipies (Scott Davis)- Programming Groovy (Venkat Subramaniam)
Grails Books- DGG v2 (Graeme Rocher, Jeff Brown)- Grails in Action (Glenn Smith, Peter Ledbrook) Manning - not out in book form yet, but you can get the EAP pdf directly from the publisher)
Websites: Groovy Website: http://groovy.codehaus.org/ Some good groovy slides: http://www.slideshare.net/glaforge/groovy-and-grails-in-action-devoxx-2008- university-guillaume-laforge-presentation
Grails website: http://www.grails.org/Grails Reference Guide: http://grails.org/doc/1.1.x/