I believe in evolving…
It’s been more than four and half years since I am involved in QA activity and have executed quite a lot number of projects varying from 6 months duration to 2 months. Most of those project execution was based on Waterfall model and Iterative model. One question which keeps coming to my mind is why different companies follow different software development models? Does it really matter to the end users or Client or Stake holders, if you have followed typical waterfall or a fashionable agile model? Why would they even bother about that as long as you are giving them what they want (Quality Software) and on time (satisfying their “Time to Market” clause)? They might be interested in the success rate of the projects which followed “A” methodology or surprised by the “X” amount of overhead some company is charging which follows “B” methodology (which is based on some of the best engineering practices for rapid and high Quality Software Development).
Software is an evolving field and so should be the processes. We need to continuously improve and refine the processes for delivering better and high quality software. One distinctive feature of Agile methodology is regular adaptation to changing circumstances. To improve we should look back, analyse, find out the short coming and rectify it going forward. In the way I understand, nothing is hard coded in so called agile methodology, we adapt good practices, drop out some unproductive practices and take some time out to see where we stand and how to improve.
So the question is still at it’s own place, why do different companies follows different methodologies? It might be something which is wired into the DNA of the company when it is founded, it might depend on client to client (whatever we can sell) or sometime it’s just like “let’s ride the wave”.*
* Conditions Apply :)
I think now a days all companies want is that resource utilization should be maximum and all decisions should be made by TEAM,not by an individual.
ReplyDeleteNow if you can achieve above, what process you follow doesnot matter.
I believe that maximizing resource utilization can never guarantee a quality software deliverable. One should focus on quality more than the quantity of hours logged in the time sheet of an individual.
ReplyDeleteThanks,
Nishant Verma
Yeah man , resource utilization means every team member is committed and utilize is ability optimally.
ReplyDeleteLogging time in time entry tool will not guarntee the resource utilization optimally.
So if every team member is comitted to his work and delivering results your resource is utlilized optimally.
I believe the words 'maximize' and 'optimize' are not interchangeable here. Maximizing would mean hitting an efficiency of 100% - that would surely fall into the realm of NP hard problems. Nishant, if you hit upon a heuristic to do that - even computationally then you should let the world know.
ReplyDeleteOf course everything falls flat when 'humans' come into the picture. Controlled environments are only moving windows completely dependent on the mental makeup of the evaluator.
Yes Zakk Wylde , those words are not interchangeable. Well if you see the blog it's a question on why companies follow a different methodology. My views are maximizing the resource utilization will not guarantee you a quality software !!!
ReplyDeleteLet me know if I have mistaken you !
Yes, you are right. My post was in reference to the earlier comments. I'm not much of a software guy anyway but I enjoy reading your blog. Keep up the good work!
ReplyDelete