09 November, 2009

Bangalore BTSummit Nov 09

The BTSummit held at Bangalore on November 03 and 04, 2009 provided greater insight into latest trends in Cloud computing, SOA and BI. It is indeed a good effort from BTS event executives to bring industry leaders and practitioners under single roop.
Day-1, 3rd Nov 2009
The keynote/focused session was delivered by Mr.Howard Charney CISCO, in his inspirational speech, he highlightedthe IT visionary by developing smart IT services for better future for all of us.
After that, Mr.Ravikumar delivered speach on Cloud Computing, he explained different cloud computing environments andrelated models to chose and apply. In his views, "Cloud Computing is an application and infrastructure over Internet". There are three aspects of cloud computing:
1) The availability of infinite computing on demand
2) The elimination of up front community
3) The ability to pay on usage basis
Also cloud infrastructure shall be categorized into less constrained models to highly constrained models. The offering from Amazon, MS or Google falls either of these categories.Also he shared and urged the audience to have a look at white paper called "Above the cloud a Berkeley view of Cloud Computing".

Mr.Robert S, from think88, shared his views on SOA, Composite and Cloud Computing. The SOA key concepts covered are scope of vision,scope of deployment, decision making, speed to deployment, technical skills required, market penetration, speed to ROI, eventual total ROI, expected longevity of solutions, available standards and maturity of the vision. I personally felt, these concepts are very vital in overall SOA/EA initiative.He also emphasized on some characteristics of cloud computing such as s/w assets hosted offsite, browser is the primary UI, if there is no UI, then s/w assets are being accessed through REST services. Many of us did not know the true meaning composite apps, so from the speech it was evident that, "from the prospective of the user, it appears that, the primary functionality is 'extended' from multiple disparate apps". Also he envised that composite apps and mashups might converge in near future, may be 3 to 5 years. The composite apps are business oriented where in mashups are consumer oriented.
According to Mr.Robert, following factors might favor cloud computing:-
a)Limited internal apps
b)Limited IT assets-
c)Non-sensitive data
d)Not willing to buy IT assets
For SOA, the limited IT resources, software reuse and hosted web services might influence strategic decisions.

Mr.Eben Hewitt, took us a brief case study on SOA. According Hewitt, "Business Driven" means business users/Top executives knows SOA/or any other EA initiatives. Also he shared his views on establishing CoE. Also according to him, SOAP vs REST is outdated topic, and organizations are moved beyond that. Also Eben delivered speech on designing the RESTful web services and related architecture. He emphasized REST is an a architectural style with some of characteristics/concepts such as stateless, separation of concerns, cacheable, uniform interface, info hiding etc. In REST architecture, GET is for read, POST is for create/update and PUT is for update/create.

Mr.Som Sarma from 3i Infotech, delivered very inspirational and typical business executive style of speech on innovation. He highlighted how innovations are changing the business dynamics and how products like iPhone are becoming part of enterprise IT.

Dr.Robert Marcus, Sr.IT professional delivered speech on Cloud computing use cases. He categorized the clouds as end user to cloud (public cloud), enterprise to cloud (outsourced services), enterprise to cloud to end user (enhanced services) and private cloud (intra services). Following are standard requirements mapped to use cases under cloud computing environment: - Cloud Management- Security- Identity- Open Client- Federated Identity- Location awareness
Also Mr.Robert Marcus, explained cloud categorization such as IaaS, PasS, SaaS.

Mr.Jinesh Varia from Amazon delivered one of the best speech (in my view) on cloud computing; specifically on cloud migration strategies. He highlighted the phased approach to address the existing apps migration to cloud env. According to speaker, following are few phase-wise steps one shall consider for migration planning.
a) Cloud Assement Phase - In this phase, care should be taken for cost benefit analysis, app/infra dependencies, technical assessments etc.
b) POC Phase - In this phase, reference architecture shall be built by having management buy-in for this new initiative. So POCs must include some critical factors such as technology validations, testing of legacy apps, orgn feasibility etc. Also reference architecture must be developed with the help of learning AWS, small apps and small datasets. It is to just check the water before going big-bang approach.
c) DB Migration Phase - One should take care by leveraging different storage options, different db options, expert opinions from db architects etc.
d) App Migration Phase - He advised two strategies called "forklift" and "hybrid" migration strategy
e) Leverage the cloud Phase - He highlighted the cloud capability such as auto-scaling, automation and elasticity.
f) Optimization Phase - Mr.Jinesh, explained importance of having optimization phase by considering some of the factors such as utilization, performance (post migration) and efficiency. Also give a brief explanation on Amazon's capability for different elasticity styles such as proactive cycle scale, proactive event based and auto-scaling on demand basis.

04 Nov 09 - 2nd Day
Mr.Nils Puhlmann from Cloud Security Alliance delivered thought provoking speech on new challenges of security under modern enterprise environment.The speaker highlighted some key drivers and associatedchallenges/threats to protect business from security vulnerabilities. Following are few drivers:
1) Younger generation is growing up with consumer technologies
2) IT becoming a tool to enhance peoples creativity
3) Consumer products like iPhone are now part of enterprise environment; including but not limited to emails, calendar, contacts, SMS etc...Also he shared interesting fact about iPhone taking every user browsing activities as screen shot in the background.
Mr.Srinvivas V from Vigyanlabs, shared his thoughts on virtual enterprise and key facts like how business can leverage on latest technological trends to truly become virtual enterprise?, the typical spread of modern enterprise comprising customers, employees, partners/suppliers, enterprise assets, services, products spread across multiple IT products and services.

Mr.Robert S from think88, shared his views on applying governance technologies for effective SOA governance. Following are top 10 strategies:
1) Include governance technologies as part of SOA governance
2) Make sure your governance platform is agnostic about service development platforms
3) Make sure that governance platform is able to support all service deployment technologies
4) Importance of SOA testing
5) Collect governance metrics and review periodically
6) Track activity through multiple IT resource layers (e.g., db, middle ware, object, app server)7) Breakdown the barriers between repositories and registries
8) When selecting governance technology product, write a formal RFP (interesting strategy, this leads proper homework)
9) Avoid tools that would require code modifications
10) Make sure that, the selected governance tool fits into existing IT governance landscape

According Robert S, following are three major SOA life cycle events- Design time (meta data mgmt, service discovery, service composition/modeling, orgn policy)- Testing and QA (Service unit validation, policy adoption, compliance, performance and prediction)- Runtime (SLA, Version control, error reporting & mgmt, performance monitoring)

Mr.Eben Hewitt delivered speech on "10 things software architect must know", these are shared views from different architects/developers worldwide and it is available on the net under the title called "97 things s/w architect should know". He highlighted the Gartners architecture definition covering concepts like abstraction, constraints, translation, properties/principles and enabling evolution. One of the thing (in list of 10) that particularly took audience attention was moving the problems on course of enabling evolutions.

Mr.Janakiraman delivered inspirational speech on open source based cloud computing. According to speaker, there are four key tenets:
1) Elasticity
2) Pay by use
3) Self service
4) Programmability (muliti machine apps).

Cloud shall be classified as IaaS - Renting machine in simple terms, PaaS - O.S specific, being offered by google, MS and SaaS - Google apps. Also cloud could implemented as private, public, hybrid and community clouds.
Under the anatomy of cloud, "hypervisors" are plays a key role. These are heart and soul of the cloud computing technology. Over the hypervisors, platform, infrastructure and applications shall be placed and managed. There are couple of open source hypervisors; KUM from linux ubuntu and Xen from EC2 Amazon; the Citrix is the commercial form. The cloud open source tools stack includes LAMP (linuxm apache, mysql and php), ubuntu enterprise cloud, apache Hadoop etc.
Mr.Vivek Khurana from SoundSource, shared his dashboard design and development experience under the topic called "Building Enterprise Dashboards". According to speaker;
1) Dashboards should act as immediate decision making aid
2) While designing dashboard; one should keep different stakeholder's interest in mind
3) UI controls should be selected judiciously
4) Focus should be on data, try to remove unusable data
5) Don't put too much data; because of screen size
6) Don't listen to business users on solutions part
7) Dashboard data should be current
8) Notify user on dashboard events/data changes
9) Learn from new sites like CNN, BBC, nyt for about placing and arranging important/key data
10) Important dashboard data which do matter to the business should be placed under mobile - best way is to arrange with text based SMSs
On the trends, speaker identified following few such as animated charts, streaming dashboards, collaborative visualization and expressions. For animated charts, speaker requested audience to visit Hans Roslings TED talks/gapminder.org

Mr.Udayan Banerjee, shared NIIT's experience in developing collaborative website for internal employees using enterprise 2.0 tools. The speaker advised that "collaboration and interaction can not be forced rather it has to emerge and technology is an enabler". Following are web2.0 technology stacks; wiki, blogs, IM, mashups, RSS, social networking sites etc.

28 October, 2009

TOGAF 8/9 Training and Certification

I underwent TOGAF 8.1.1/9 training and certification program in last week of sept'09. It was good experience and lot of knowledge gained. I successfully completed all the requirements required for the certification.
I specially liked the instructure (Mr.Dave Gilmour from Architecting the Enterprise) word that "TOGAF is a structured common sense from the past experience". This is true as EA is complex in nature and often poses the challenge where to start, where to end, how to compile, deliver etc. With the structured framework like TOGAF, the architect should not be worried about structured following, clear deliveries and structuring of the EA artifacts

27 April, 2009

Few agile thoughts

Last week I spent a week in my office to undergo training on agile i.e. from 21 april 2009 to 25 april 2009.
It was very effective and found to be informative in the sence mixing the UP, XP and SCRUM practices for today's software development demands.
Day-1
Following are key points which come-up during discussion:



  1. Agile is a collabaration of all principles


  2. SCRUM does not address all the aspect of software development; best bet would be mix of processes like XP, UP and Scrum



  3. "Time Boxing" will break if deadline is extended or scope is reduced



  4. Six week iteration will pose a motivatio challenge to the team; as human does not show the urgency if the task is more than 6 weeks long



  5. Initial productivity will also been lost due to laid back attitude



  6. The ATS expects fundamental change in mind; usually change expects 12-36 months duration. As most of the human fall either Neophilic (embrace change), Bewildered (dominant followers) and Neophobic (dont embrace change)



  7. No missin critcial or important projects should be taken as part of ATS



  8. Iteration is all about cutting down WIP tasks, it is about finishing the tasks
Principles of 2nd generation agile lean


Standups - Catch the problems which are smaller in size


  • Many agile teams unable to keep track of project progress

  • Agile project mgmt is all about risk management

  • Up-front req is bad as there is a chance of feaure being not used by user (study shows that 45% of the developed features are not being used)

  • Deliver early and oftenly is a best way to deal with req mgmt

  • Iteration '0' shall be used for strategic planning, high level architecture, POC, goals, vision etc

  • Risk driven development addresses both technical and business risks


Risks
Scoping risk - dont know what is in the scope



  • Req risk - dont know what is req

  • Verification risk - dont know what is acceptance crieteria

  • Do the work which you dont understand; always look for dark corners in teh project

  • Lean principles such as No waste; only value add, no unevennes and no stress must be applied for better worklife and product output

Requirements



  • Requirements is always exploration in accordance with risk

  • Requirement analysis must be carried out always through out teh life cycle to identify the lean symptoms

Day-2



  • Dont impose the work; rather design the work which suites the individual.

  • Pair programming- Front seater: key in code, syntax check (tactical), Back-seater: strategic thinking

  • Retrospectives: Without actions; it is waste of time. Also it should be place for strategic thinking and implement few actions (SMART)

  • Pay attention to study Neural Networks to know behaviour of s/w ppl
    estimation is a guess. It has two types, wild guess and scientific guess. Pessimist makes always good guess :)

  • Self organizaing teams: a) Train the team about prinicples b) Set the goals, objectives c)Get out of the way from team

  • Goal is direction and Objectives are phases to achieve the goal
    ----------obj1----------obj2-------------obj3-------objN---------->GOAL
    Risk profile is directly propotional to sw process
    Risk first; do the risk things first; it is better to fail early and cheaply

Key roles in good team

Project Mgr - Responsbile for project progress (Steering committie, Sponsers, LoB VP)


Product owner - Responsible for business value (Busines Analyst, SME)
Tech Lead - Care about feasible solution (Architects, Designers, Developers)
Test Lead - Concerns about s/w quality (Testers, Test Analyst)

9 Box technique for risk driven development



Agile Metrics



  • Measures outcome; not output

  • Follow trends; not numbers

  • Must be easy to collect

  • Dont email the metrics report to anybody; since it aviods the communication (direcly ask them to come for meeting)

  • Metrics are artifacts

  • Any development involves two types of code; solution code and verification code

  • Agile strories can be Epic->Story-Features. It similar to RUP Use cases like Composite UC->Scenario->UC
Estimation is not committment
Estimation shall be divided into
No-fidelity (No analysis, less time) +- 200%
Low-fidelity (some analysis)+-50%
High-fidelity (good analysis, POC, good time) +-5-10%
Estimation variance
no-fi = effort * 3.0
low-fi = effort * 1.5
high-fi = effort * 1.05



  • Iteration planning must include change mgmt, new stories estimations, WBS, report progress (strategic plan/release plan)

  • Vision should be collabartive effort; never take all the inputs from single source. As part of requirements/ATS disussion sessions; follow few guidelines such as

  • situation questions like where are the pain points, what are teh goals, problem context, real problems, value of the client etc.

Key questions



  • Why - pains, goals

  • who, where - Narrow or broad groups, shallow or deep team (like BA, Executives etc)

  • what - business types, LoB, business practice in use

  • how many - affected groups, size of each group etc

  • how soon - time constraints

  • how much - budget constraints, targets

  • Team work - The real problem of responsbility emerges when things go wrong

23 March, 2009

Few EA info

SOA and TOGAF
SOA is a more of bottom-up model where in TOGAF is more top-down model.For the successful EA; one must understand both the model. Most of the RUP based implementation such as OOA/P are heavily influenced by top-down; If too much concentration at higher level, then every fear is that system might never built.
The TOGAF ADM phases like oppartunities and solutions, migration planning, implementation governance (E, F, and G phase) mostly inltrgh RUP.

TOGAF phases naturally fits SOA style of initiative. In Business Architecture phase one need not essentially know the what should be done with the technology. The business operations must be defined with out keeping implementation in mind.
In IT architecture phase, along with defining the new services, care must be taken to cohessively work with existing legacy applications; that will not be converted "services"

Architectural Standards
Every company should have architectural standards;reference base to reduce the structural complexity of the software system in development system.
Architectural governance means enforcing such standards into software development system to bring in modularity, consistency in the system. Lack of such governance will reduce the chances of meeting architectural decisions and vision with implementation (code).
Architectural standards/rules are: -- Layered Architecture-- Seperation of concerns-- Domain Driven Design-- DAO layer should not depend on other layers-- Presentation layer should not directly interact with DAO layer-- Service layer should never call web layer-- Service objects shoud be created using factory classes

EA issues
Following are few enterprise issues should have support from development platform:-- Scalability-- Concurrency-- Transaction-- Robustaness-- Performance-- Atomicity

EA decisions
-- Choice of tools/frameworks-- Choice of programming languages-- Choice of platform-- Choice of OS-- Choice of database-- Choice of architecture style

MDA
The Model Driven Architecture (MDA) enables business user to define the business processes using standards like UML, MOF (Meta Object Factory) and CWM (The Common Warehouse MetaModel) which seperates the business logic from application logic. Using MDA, business or underlying technlogies shall be changed to gain the advantages of new business trends or technological solutions.
MDA->UML,MOF or CWF->J2EE, .NET, WebServices etc

One new learning / day - however small it is

Read a blog / or article Watch TED talk  Read a small self-help book (many free eBooks available with less than 100 pages/can be completed i...