Java J2EE Portal
Enterprise Java Station
J2EE curve
Java News / Articles
Java News / Articles
Enterprise Mashups – Opportunities and Challenges!
Effectively Taming Service Oriented Architecture (SOA) Chaos
Happenings @ IndicThreads.com Conference On Java Technology 2007
Processing...
Buy Java, Deals On Software Technology Store
Click here for great deals on computers, laptops, software and books
The IndicThreads Software Technology & Emerging Trends Conversation 2008 PDF Print
Written by Content Team   
Feb 27, 2008 at 04:28 AM

Harshad >> What according to you are the top 3 factors which determine the technology to use for a software solution?

Atul : 1) Why should we use it? (In other words, prove that it is not a fad).
2) How easy it is for the developer community to learn, adopt, and experiment with it?
3) What are the areas that you could use to market the technology to the business?

Deepak: Features, Maturity, Availability of skills

Gaurav : Generally, in a software services organization, the technology and tools that we use are governed by the clients. So, clients decide what they want the s/w to be made of. This is generally cause the high end consultancy firms generally do their system study and propose technologies to be used. In situations, where we have a say, there are a combination of factors like, the complexity of the problem, the type of the problem, availability of skilled resources for that particular technology etc.

Subodh : The choice of technology depends on the answers to the following key questions:

1) Is the technology of choice effective in solving the problem at hand – does it speed up the process by providing off-the-shelf components as building blocks to form your solution? 2) Is the technology proven in a demanding production environment – can it address non-functional requirements of performance, stability, etc. satisfactorily? 3) Is it a widely available skill in the developer community or is it a niche-skill?

Harshad : Java has traditionally pitched that unlike a Microsoft solution, with Java there's no vendor lock-in. How important is it for a solution to be based on open technologies (need not be open source) and not locked into a vendor?

Gaurav : I think it is important not to get locked in with the vendor. There are many areas where the vendor may not be providing the most optimal solution. Well, it also depends on the kind of project/problem one is facing.

Atul : I think it is very important if the vendor is not reputed/competent. For instance, if you are getting locked into IBM, Oracle, Microsoft, and so on, there should not be any problem. We know that these companies will deliver come what may. However, the real danger is getting locked into small time players. In such cases, it is better to trust open technologies. On a general note, of course, any day, open technologies would be better than closed ones, unless closed ones really do something that is lacking in open ones.

Harshad >> Software quality is often underrated as it does not seem to generate as much buzz as new programming tools and techniques. Any quality tools and techniques that are making a significant impact in your organization?

Atul : I think we need to bring in a lot of tools, such as code review tools that detect memory leakages, performance issues, security problems; testing tools that help in automating regression tests; performance analysis and monitoring tools; etc. Currently, a lot of this happens manually, if at all. This is where we lose a lot of time and energy.

Deepak : Nothing special. Static code analyzers, unit testing tools, mock objects.

Subodh : No particular tool. Recently, I came across an open source framework for test automation called Jameleon and found it quite interesting and easy-to-use.

Atul : I think sometimes there is a mentality issue as well. Many people do not like tools, because they feel that tools may not be good enough! It needs some sort of education and a lot of insistence on the part of technical leaders to imbibe the importance of technology tools to take some pressure of the humans.

Harshad >> Which would be the top three irritants in the execution of a project?

Atul : 1) Vague requirements 2) Unrealistic deadlines 3) Lack of appropriate hardware/software/environment for development/testing

Deepak : Lack of understanding of basic software engineering principles in developers, lack of dependability in leads and managers and lack of good tools to measure progress (and take corrective actions) of deliveries

Gaurav : Good Question. I would say, the changing requirements of the clients, the lack of quality engineers and shortage of time in producing quality software in a project life cycle.

Subodh : Nothing in particular…. As a PM you have to manage Cost-Schedule-Effort triangle to ensure promised deliveries on-time.

Harshad >> A few years back I had written a piece "IT Survivors: Staying alive in a software Job". An overwhelming majority of the 100s who commented on the article felt that unrealistic deadlines and late hours were the thing that they hated most about their work. Why do you think that's the case in India. Are things changing?

Gaurav : Deadlines are unrealistic not only due to the changing requirements but also due to partially or unskilled manpower available to the industry. On a different platform, it is also about the way Indians look at work. I have seen clients in the UK going for a vacation even during the critical times of their business. We can’t even think about this, probably because of the insecure background the working class of India comes from.

Atul : It is quite interesting. On one hand, many people in India keep complaining about long working hours etc, and on the other, they seem to waste so much of time that I sometimes wonder why they cannot complete their work in about 9 hours in a day. Many people like to start their working day at 10 AM or so with a breakfast and general discussions, followed by some work, by which time it is already lunch time. Work actually starts only after lunch, and then there is little wonder that they are in the office till 10/11 PM. Sadly, they take pride in this! I think, it is simply a question of prioritizing, time management, and understanding work-life balance. I understand that at times, there are very stiff deadlines, and many people have to also work in other time zones and so on. However, that does not mean that you become someone who has no existence outside of your home and office!

Harshad >> What's your take on IT education standards in India. Do you find freshers ready for real world projects? Is there anything that you think is amiss?

Atul : Not at all. They are taught the theory too much, and that also incorrectly many times. Even if they come only with theory, but then really solid foundation theory, then also it is acceptable. However, what we actually get is a dismal mix of weak theory and horrible practical knowledge. They often end up doing projects from which they do not learn anything of real practical use, nor the project itself is useful to anyone! They seem to be still in the world of C/C++, when we are talking of even Java possibly being dead. No body looks at crucial issues such as design, architecture, performance, security, application plumbing, new trends. The syllabi are horribly outdated, the teachers are going through motions, and in the process, everyone suffers!

Deepak : While there are exceptions, most freshers are not ready for projects. The time to groom them could be as much as 3 months. The course work/curriculum may need revision.

Gaurav : I am of the opinion that although IT education is omnipresent in this country but the people that are reaching the industry are not completely ready for it. Basically, unless the academic institutes have industry affiliations and/or high quality research exposure, it's tough to get the skilled s/w professionals ready for the industry.

Subodh : IT education in India is of acceptable standards. You will never get freshers ready for real-world projects, simply because it needs a change in the mind-set from being academic to being pragmatic. Each organization has a unique culture, so freshers need to be ‘inducted’ into the organization; they need to be exposed to the processes and best-practices being followed, and also to real-world problems that are being solved by the use of software solutions.
As long as the educational institutions ignite the desire for continuous learning in the students, you don’t have a problem - if they become ‘factories’ that churn out software engineers, you have a serious problem.

Atul : I think it is a question of big confusion. The academicians are today not sure what to teach, and how. Some so-called experts in the industry are raising questions such as “Do strong theory and fundamental concepts matter?” That adds to the confusion. The impression that academics gives to students is that they must be very bookish. The industry tells them that they must be very practical. Sadly, no one tells them that it should ideally be a combination of the two, and achieving it is not impossible at all!

Harshad >> It's been a pleasure taking to you all. I am sure readers of this discussion would have received valuable insights into the software development scene today. Thank you all.

Discussion conducted by Harshad Oak, founder of Rightrix Solutions and editor of IndicThreads.com. He is author of 3 Java books, several articles and is an Oracle ACE Director and a Sun Java Champion.

Readers - If you agree / disagree with anything said here or wish to add an important missing point, please use the comments section below to have your say. Thank you.


User Comments

Comment by GUEST on 2008-02-27 03:26:35
Hi, 
 
Though I agree with Atul Kahate to some degree that people waste time and hence ending up doing long hours, I also believe that project managers/seniors need to appreciate people who do good work in 8 hours and thus send a strong message to the rest of the team that they do not like the late-hours culture. This will not only encourage people to try to effectively manage time, the 8-hour workers will also not feel the pressure to sit back every evening. In my experience, this NEVER happens and project managers conveniently decide how hard some one is working by the hours spent in office. Unrealistic deadlines continue to dominate the scene so that the 8-hour workers are so exhausted every day, they end up becoming more and more ineffective (and become time-wasters) and dissatisfied.

Comment by GUEST on 2008-02-28 02:36:24
i remm in my organisation - a lady was awarded for hardworking - hard work was really fighting all day to write 2 lines of code. Management is the main culprit behind night sitting of the employees. Until they change, we can't expect the good development in freshers coming in. Although i have been of the structure of working from 9am to 5:30pm, on occasion i have had a word with my managers too as even when work allocated was complete, they pointed out why am i leaving at 5:30pm. and i happen to work with a company with is a reputed Indian MNC. 
 
Sorry Atul, but i have heard abt iflex too taking up projects and asking employees not only to work long hours but even on weekends for meeting deadlines and continuously. One of my friend happens to be working with iflex Mumbai Office and i happening his room mate, collect about such a work culture. I tried my best to move him to 8 hrs culture but failed. Hope you being leading a division can take some action on it internally so that our freshers recollect that there is life outside Office too.  
 
In some cases, even staying away from home has made people sit late in office. I remm in my previous organisation, bachelors staying in shared acco used to stay in Office till late. When i asked them why not go out and enjoy -' The answer is they have internet and tea facility'. Leaving Office, they would go home and feel bored. I guess we even need to work on changing the mentality of people coming in as freshers and for that we will need strict rules in organisation - like staying after 5:30pm you need to have your management approval. Once they are forced out of office, they will learn to explore new ventures outside Office.  
 
I guess you all being seniors in your respective organisations, can bring a change for sure. I happen to be at junior level yet but still trying talking to people and opening their thgts to move in other directions. But seniors are major people, who can bring a change.  
Thanks

Comment by GUEST on 2008-03-06 01:37:10
Hi, 
 
I have always worked on projects which followed Waterfall and I remember the whole team groaning when requirements changed. But after having studied the ideas behind Agile methodology, it just seems that the whole concept of making the client freeze requirements right up front is unrealistic expectation. 
 
Take a look at the excerpt from martinfowler.com about why a software project requirements should not be frozen. 
 
"Software's intangible nature also cuts in. It's very difficult to see what value a software feature has until you use it for real. Only when you use an early version of some software do you really begin to understand what features are valuable and what parts are not.  
 
This leads to the ironic point that people expect that requirements should be changeable. After all software is supposed to be soft. So not just are requirements changeable, they ought to be changeable. It takes a lot of energy to get customers of software to fix requirements. 
But even if you could settle all that and really could get an accurate and stable set of requirements you're probably still doomed. In today's economy the fundamental business forces are changing the value of software features too rapidly. What might be a good set of requirements now, is not a good set in six months time. Even if the customers can fix their requirements, the business world isn't going to stop for them. And many changes in the business world are completely unpredictable". 
 
So perhaps it is time that we appreciate the way the world works (in a far more dynamic and evolving model) and see how we can adapt our development models. According to Gaurav Awasthi, changing requirements is a top irritant. That is not how it should be viewed, rather welcomed according to Agile concepts. So you deliver a better and far more valuable piece of software.

Comment by gaurav awasthi on 2008-06-11 21:48:00
Hi, 
This is in response to a comment on my answer, where i mentioned that "changing requirements is a top irritant...". This whole conversation was in the context of services industry, its way of working, trends and issues faced. Agile is nice buzzword but to really implement its ways in a s/w dev, there are some obvious requisites. When you say, "That is not how it should be viewed" for changing reqmt, you must realize that the kind of s/w talent (or the lack of it), that the s/w services industry receives has hardly 1% of the total in it who are actually the right fit for following Agile methodology.  
With that I mean, the resources should be ready to change the design almost on a weekly basis, the dev should start as soon as the kickoff happens, there should be a continuous contact with the client.  
Most of the resources are incapabale of handling such situations and the top management reluctant in getting the best of the best from the pool.  
I don't say its not possible but in a typical services company, there are hardly 1% of the total lot who are so capable and there are organisations like where Martin Fowler works at present who are infact that much in strength only.

Comment by MicroNest on 2008-06-26 11:49:44
The key challenge is how do we guarantee that a better work culture is inducted or enforced, is that matter of awareness of project managers and if does is it sustainable ? 
 
http://www.micronest.com
Your Name / Email Address
Comment
Spam Protection - Please enter the code in the image -

Listen to code




Add This Feed Button

Enter your Email


Java Expert Interviews
Ramesh Loganathan Pramati
Pramati 4.1 and beyond: An interview with Ramesh Loganathan
Mukesh Hegde NCStudio IDE
Java IDE in a brand new avatar. Making development server centric.
RubyOnRailscreatorDavidHeinemeierHansson
Let Java retire from the spotlight of web applications in dignity
Processing...
Go to top of page  Home |
SiteMap

Copyright 2004 to 2008 Rightrix Solutions. All rights reserved. All product names are trademarks of their respective companies. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Rightrix Solutions and IndicThreads.com are independent of Sun Microsystems, Inc.

Views expressed at IndicThreads.com reflect the views of the authors alone, and do not necessarily reflect those of IndicThreads.com. IndicThreads.com and it's authors are not responsible for reader comments and opinions.

Enterprise Java J2EE JEE Portal >> IndicThreads.com