This occurs most when people try to make a software too flexible then it should be. Those keep saying they may need to serve in an another format; serve in a different platform/technology; but these never happen.
Requirements and technology changes rapidly; it is our job to be synchronized with them. Business wants development teams to be agile. For this reason, we have been populated our code base with:
- interfaces (that has only one implementation and will never change),
- design patterns where we do not need them actually (strategy pattern with one strategy)
- aspects where actually a simple web filter was enough (debug became harder; great)
- targeting high unit test ratios caused unit tests testing only order of method calls with mock objects
- useless documents
- too many configuration files (that never change)
- pages of spring beans; every developer will debug again and again
In order to be agile for business requirements; we should not forget two things:
- the language should be agile in nature (see few words on ruby)
- the team should be agile which is more important. To make team agile we need to be sure that the code is easily read; understandable by new joiners (where in IT world; recruitment occur more). Sometime it is better to do copy&paste code then a series of design patterns if team says replace all is easier. (and I doubt if it will ever needed.)
Requirements and technology changes rapidly; perhaps a design / software done five years ago is nearly dead and you think it is time to build it again with different technologies. Follow technology and use it; but do not lost yourself inside it; do not be obsess with being too flexible, technology and patterns. Check your old projects; don't you have a great new plan/design for those?
change ur blog theme...makes me puke !! n difficult to read too dude !
ReplyDeleteBig data is a term that describes the large volume of data – both structured and unstructured – that inundates a business on a day-to-day basis. big data projects for students But it’s not the amount of data that’s important.Project Center in Chennai
DeleteSpring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Corporate TRaining Spring Framework the authors explore the idea of using Java in Big Data platforms.
Spring Training in Chennai
The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training
This is one of the finest article with good information
ReplyDeleteWebsphere Training In Hyderabad
being agile and technical masturbation nice posts../.
ReplyDeleteHadoop training in hyderabad.All the basic and get the full knowledge of hadoop.
hadoop training in hyderabad
Big data and data warehousing related information is always updated to me at hadoop online training in hyderabad. Nice insight on the topic refer the details at
ReplyDeletehadoop online training
ReplyDeleteThank you for sharing the article. The data that you provided in the blog is informative and effective.
Best Devops Training Institute
after reading this web site I am very satisfied simply because this site is providing comprehensive knowledge for you to audience.
ReplyDeleteAWS training in chennai | AWS training in annanagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery
Your blog provided us with valuable information to work with. Each & every tips of your post are awesome. Thanks a lot for sharing.
ReplyDeleteSalesforce Training in Chennai
Salesforce Online Training in Chennai
Salesforce Training in Bangalore
Salesforce Training in Hyderabad
Salesforce training in ameerpet
Salesforce Training in Pune
Salesforce Online Training
Salesforce Training