Sunday, May 04, 2008

New Ford Slogan-- Seen on TV

Quality is about finding solutions before the problems happen.
Read more!

Sunday, April 27, 2008

Agile Estimating and Planning--My Rating--4 out of 5

Chapter 1: The purpose of planning

Cone of uncertainity:Boehm's initial ranges of uncertainity at different points in a sequential development process.
http://www.construx.com/Page.aspx?hid=1648

Chapter 2 : Why planning fails
Drawbacks of planning by Activity rather than feature.

Mulitasking Causes Further Delays
Read more!

Tuesday, April 08, 2008

Is Microsoft's MVC is going to be the Tipping Point

If one goes by the blog buzz, the answer seems to be yes

The Tipping point is that Magic Moment when an idea, trend or social behavior crosses a threshold,tips and spread like wildfire.


References
1. http://books.google.com/books?id=MMlxzMNkE_0C&vq=tipping+point&source=gbs_summary_s&cad=0

2.http://codebetter.com/blogs/jeremy.miller/archive/2008/04/07/things-really-are-changing-in-the-net-community.aspx
Read more!

Monday, March 31, 2008

Who changed my Flag?

I am working on complex workflow application where different services or components can modify same flag.

While we are doing good job of tracking the state of workflow, one flag in database is inadverently getting modified.

How one can track which process or component modified the flag

1. Log the SQLs.
2. Every Service/Component should modify the timestamp with its signature.
3. Search the Sourcesafe's stored procedure directory.
Read more!

Thursday, January 24, 2008

Toyota Production System(TPS)


In the most simplistic definition of TPS all manufacturing activities are divided into adding value or creating waste. The goal of TPS is to maximize value by eliminating waste.


Defining value can be one of the most difficult tasks a company can undertake. TPS has addressed this issue with a very elegant solution; value is an item or feature for which a customer is willing to pay. When this metric of value is implemented it allows companies using TPS to have an exceedingly clear vision when analyzing an activity or process. No organization likes waste, however it is difficult to eliminate waste if it cannot be identified. The Toyota Production System forces companies to ask, “Would someone pay for this?” If the answer is no, then it's waste.


In software , generally extra value means more bells and whistles. I think that agile stories are more aligned with TPS rather than traditional up-front design.

Reference:
TPS(Toyota Production System)

The MIT researchers found that TPA was so much more effective and efficient than traditional, mass production that it represented a completely new paradigm and coined the term "Lean Production" to indicate this radically different approach to production.



Reference:
http://www.swmas.co.uk/Lean_Tools/Toyota_Production_System.php
http://www.toyota.co.jp/en/vision/production_system/

http://www.toyota.co.jp/en/vision/production_system/illustration.html


Victor talks about the striking similarties betwen Agile methodology and TPS
http://www.danube.com/blog/victorszalvay/practices_without_principles_tps_without_the_toyota_way.html
Read more!

Can Lean Production and Over Engineering go hand-in-hand

Yes, Camry proves the above point.
Over engineering results in over delivering.
One can always drop extras with out compromising over the core features.

Reference:
How Toyota became #1
Read more!

Monday, January 21, 2008

How Toyota became #1 -- 4 stars out of 5.

How Toyota became #1

Stupid, it was processes not tool.

Very readable. I was able to read from cover page to the end.

Highlights

1. Focusing on the long term.
2. Jumping beyond the current trend
3. Making quality everyone's responsibility
4. Striving for continuous improvement
5. Managing Individual strengths
6. Committing to authentic transformation.

TPS(Toyota Production System) - A signature formula for lean production, in which waste is minimized and efficiency maximized.

NUMMI(New United Manufacturing, Inc) - A joint venture that was supposed to benefit the both partners. One made the most and other frittered away the benefits.

Raise the bar to unreachable heights
over engineering has its own benefits.

Take all time to take decision but execution should be speedy and efficient.


Bad news first.

Next planned reading


The Toyota way



On a lighter note: I have been critical of Corporate Software Development process in general.
If Toyota's rival has not implemented the above processes and adhering to above principles, we , in software field are then doing an excellent job.


Read more!

Sunday, November 25, 2007

Model/View/Provider and Black Art of Mock Objects

References:
1. http://haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx

2.

http://www.jpboodhoo.com/blog/AnswersToSomeGoodQuestions.aspx


3. http://blog.vuscode.com/malovicn/archive/2007/02/04/tdd-rhino-mocks-part-1-introduction.aspx


4. Rhino Mock Documentation
Read more!

Thursday, November 22, 2007

SOA and CRUD

SOA and CRUD

There is complete census that CRUD is Anti-SOA pattern


Simon thinks that one can think of CRUD as business events rather than service operations

http://www-128.ibm.com/developerworks/blogs/page/johnston?entry=crud_vs_business_operations_events


Maarten Mullender’s says to take the best of both worlds. Use CRUD interfaces for service when concurrent updates can be avoided because
1. Updates are seldom, or
2. Updates have only one source (person or system)

http://blogs.msdn.com/maarten_mullender/archive/2004/07/23/193524.aspx


Ramkumar Kothandaraman writes
If one of the services fails to handle the CRUD request, then the EA service should be able to handle this business exception. One of the mechanisms to handle a business exception involves executing a flow that compensates for prior activities.
A Business Analyst usually determines Compensation Logic. Compensation Logic can be either automated or manual. For example, a compensation action may involve alerting the monitoring facility when one of the services returns a business exception, leading to a manual resolution.

http://msdn2.microsoft.com/en-us/library/ms954596.aspx


My thoughts
There are going to be CRUD operation even for a SOA scoped Application. Best way of writing optimum CRUD operations is to visualizing a client talking to a service rather than a traditional RPC application.
Service APIs will be designed or dictated by client application and it is responsibilty of client to submit bulk CRUD operation with concise payload. It is responsibility of client to make sure that it has correct state.
Read more!

Friday, October 12, 2007

Have no Architect in Team and this is what you get

The Winchester Mystery House
Read more!

Thursday, September 27, 2007

Quantifying Complexity: .NET vs. J2EE

Found via
http://www.davidchappell.com/blog/2006_12_01_weblog.html

Customer may be willing more to pay for J2EE solutions(28%) because of cross-platform where .Net is still lagging behind
Read more!

SOA Facts

Found via Dotnet Fox

SOA Facts

They are just hilarious on lines Chuck Norris Facts
Read more!

Code is Model

Interesting thoughts
http://devhawk.net/2005/10/05/Code+Is+Model.aspx

Though the C# or VB Code is a higer abstraction than Cobol,C or Assembly Language.
But today we are solving far complex problems than people were solving with assembly language.

Still I think we need Model at higer abstraction for good communication among different shareholders.
Read more!

Wednesday, September 26, 2007

Communication Patterns

http://www.infoq.com/news/2007/09/steve-jones-qcon-london

According to above presentation, business should lead IT and IT should be aligned along with Business. It is not happening because there is lot of miscommunication.
Hence there is need of communication patterns.

My thoughts
Communication patterns can be derived by use of

1. Domain Driven Design (inputs user stories, user interviews,requirements,glossaries)
2. 1 will lead to ubiquitous language

Ubiquitous Language
1.
Ubiquitrons

2. Where Does the Ubiquitous Language Come From?
Read more!

Tuesday, September 25, 2007

Silverlight Links

http://blogs.msdn.com/bobfamiliar/archive/2007/08/30/adopting-silverlight-an-architects-point-of-view.aspx

http://weblogs.asp.net/scottgu/archive/2007/06/19/building-silverlight-applications-using-net.aspx

http://www.wynapse.com/Silverlight_Tutorials.aspx

http://www.vertigo.com/familyshow.aspx

http://windowsclient.net/downloads/folders/wpfsamples/default.aspx
Read more!

SOA and Business Intelligence

http://www.infoq.com/articles/BI-and-SOA

Had a interesting chat with Enterprise Architect sometime back.

My thinking before chat was that is very limited place for SOA in BI platform.
After the chat , we agreed that though BI platform is well supported by ETL process but SOA thinking can definitely make BI ecosystem a better place to live in.

http://www.webservices.org/weblog/patrick_leonard/high_performance_soa_a_contradiction_in_terms
Read more!

Fire you best people

http://www.testearly.com/2007/08/17/fire-your-best-peoplereward-the-lazy-ones/

Found via
http://codebetter.com/blogs/jeremy.miller/archive/2007/09/25/fire-your-best-people.aspx

My thoughts are that one has to wear the one or other hat at different stages of development process.
I can be the lazy developer while designing the solution and had to be the fast one while fixing the issues during QA testing.
Lazy ones do get hard time at start of project by Management. But once they are spoted, they are awarded with complex assignments, where as fast ones only get the routines programming assignment. (Some people may not consider complex assignments as awards.
Read more!

Tuesday, September 18, 2007

Making Web Based Business Intelligence Tool Web 2.0 compatible

Here is my roadmap

1.AJAX By using AJAX to give rich experience to users
2. Personalization.
3. Improving performance,performance and performance

Links
1. http://www.codeproject.com/Ajax/IntroAjaxASPNET.asp
Read more!

Tuesday, August 14, 2007

Causes of Chinese Bridge Collapse

China's Construction Project Rushed

Some Quotes from above article. Bold captions are mine.

1. Unreasonable Deadlines

They are sometimes rushed - often leading to design or building flaws - in order to finish work on time, or even before expected completion dates.


2. Lack of right skilled resources
A lack of properly trained workers also means plans are not always carried out to designers' wishes, experts say.


3. No Consistent Standards
Tao Hongyi, China director for the bridge builder Dorman Long Technology, says standards vary across the country.

"Big projects in major cities are usually built to a high standard, but lesser projects in remote areas often slip under the radar," says Mr Tao, whose UK-based firm has built eight major bridges in China.




China is a country driven by dreams, so projects have to meet targets



4. Callous Management
Mr Tao says another problem is that big construction projects are controlled by politicians in China, not engineers.

These local officials like to see projects delivered on time - it makes them look good," he says


5. Bad Design

There is also a lack of skilled foremen, who are vital if design ideas are to be turned into reality by often low-skilled workers.




6. Corruption/Low Paid Skilled Worker Force
Corruption is also an issue in the construction industry.



7. Underestimated Stress/Load test

Xiao Rucheng, secretary-general of the Institute of Bridge and Structural Engineering, says projects are now completed in ever-shorter time spans.

"In the past, designing a bridge needed at least one year, but now it usually takes one month," he said, speaking before the bridge collapse on Tuesday, in Fenghuang County in central China's Hunan Province.

"You even find bridge designers working overnight to finish the task," he adds.

Another problem, he says, is that many of China's 500,000 or so bridges were not built to withstand today's increasing traffic volumes.

"Many bridges were designed and built 20 years ago when designers did not predict the huge traffic flows today," he says.



8. Cheap Material
One foreign architect working in Beijing says developers would rather use cheap, shoddy building materials rather than more durable, but expensive, products, even on high-end projects.


Read more!

Sunday, August 12, 2007

Why Fit is hard to sell to Business Analysts/Customers

1. Needs extra effort from Business Analyst/Customer. xUnit is sole prerogative of developers.

2. Any acceptance test which bypasses User Interface is hard to sell to Business Analysts

3. No great User Interface exists for B.A/Customers to create and Manage Fit Tests.I am very hopeful that this problem will be solved once Jeremy's StoryTeller is out.



Reference
1. http://codebetter.com/blogs/jeremy.miller/archive/2007/08/12/why-i-m-suddenly-down-on-fit-fitnesse.aspx
Read more!

Wednesday, August 08, 2007

ObjectMother vs Mock/Stub

http://vikasnetdev.blogspot.com/2007/01/no-stubs-no-mocks-just-use.html
I was quoted on following forum
http://www.infoq.com/news/2007/08/object_mother

Very interesting article and also do read the comments.

I think that I am on the same page with vast majority of programmatic TDD practitioners.


Read more!

Tuesday, August 07, 2007

Another tragic accident-- Minnesota Bridge Collapse

http://news.yahoo.com/s/usatoday/20070803/cm_usatoday/abridgeinamericajustshouldntfalldown

A bridge in America just shouldn't fall down

In 1983, a 100-foot span of the Mianus River Bridge, part of Interstate 95 in Connecticut, came crashing down without warning in the middle of the night. The toll — three dead, three injured — would have undoubtedly been higher had the collapse happened during rush hour, as occurred Wednesday evening in Minnesota.


In 2003, more than one of every four bridges was designated as "structurally deficient" or "functionally obsolete."


New technologies — ultrasound to find cracks that aren't visible to the naked eye and computer programs to predict the future condition of bridges based on current data — could greatly improve the safety of the nation's aging bridges


Read more!

Professional Rich Internet Applicatons : AJAX and Beyond -- My Rating 5/5

Generally I don't give 5/5 to any book unless it influences my thinking. This book did the trick and brought my brain to live state again.
A must read not to just stay fashionable but also to make sure not to get technically obselete.

Chapter 1. What characterizes Rich Internet Applications

Excellent Chapter that brain washes one brain to buy this book.If you want to build a killer application that can cause envy to google. This chapter is a must read. A nice point raised by authors is that Rich Internet Applications has to be developed using Service Oriented Architecture mindset.Generally I am against scoping an application using SOA mindset in Conception/Design phase that involves creating imaginary users for services. But it does not hurt to figure out what strategic advantages other applications can acquire using this application.


Chapter 2. RIA Foundations
XML,XHTML,CSS, Javascript
I cannot disagree with Author or Survic

Chapter 3. Programmable Web : The Mashup Ecosystem

If you dont't know Mash or think that it is something of voddo magic that you cannot use,just read this chapter.

Chapter 4. Getting Started: Creating your First RIA
If you thought AJAX is just a buzzword , marketing hype then this chapter is for you.
Author builds an excellent case for one to think about using AJAX to enhance the user experience.

Chapter 5. Debugging the Client Side
Debugging Tools : Firefox, The Mozilla DOM Inspector, The Javascript Console,Venkman,Firebug,Markup Validation etc.
Logging : The Alert Function

Chapter 6. The Model View Controller Pattern
I am glad that I implemented in some form in my applications.


Chapter 7. Javascript Library Survey

Why use Javscript Libraries

Various Libraries: Dojo,MochiKit,Script.aculo.us, Yahoo!UI Library

Chapter 8. Compiling to Javascript
Google Web Toolkit

Chapter 9. An Introduction to ideaStax


Chapter 10. Form Validation

Client -Side Validation with Dojo

Chapter 11. Form Usability


Chapter 12. Drag and Drop

Chapter 13. User Interaction, Effects and Animation

Chapter 14. Tagging and Rating

Chapter 16. Providing an API

Read more!

Is not posting frequenty == brain dead?

Yes.
Thanks God that I do read survic blog and picked up a book called Professional Rich Internet Applications(AJAX and Beyond) from library.
Read more!

Saturday, July 28, 2007

Reckless sturctural changes to supporting beams lead to building collapse and 24 deaths

Accoriding to news clips, reckless structural changes to supporting beams by a Jeweller who owned the shop on ground led to collapse of building. This resulted in 24 deaths including three his relatives(his wife and two kids).

Lessons for software Architects from this tragic incident
1. cover your framework by automated tests
2. Never make changes to framework unless you know what you are doing
3. Never make changes to framework if you running short on time.
4. Have a plan B
5. Never let junior programmers mess with framework.

Links

http://www.foxnews.com/story/0,2933,289861,00.html
http://timesofindia.indiatimes.com/Top_Headlines/Police_form_special_team_to_investigate_collapse/articleshow/2218153.cms
Read more!