Jump to content
xisto Community
Sign in to follow this  
rcparur

Is Software Development A Science Or An Art Trying to explain concepts like Practices and Methodologies

Recommended Posts

This article will try to outline my understanding of what constitutes software development. The best analogy to describe software development would be to compare it with writing. Most of us have a decent grasp of the English language, we are all posting in this forum aren't we :P Let me then ask a question. How many of us believe that if we were to write a book, it would sell like the Harry Potter books. Is the reason my book would not sell because of my lack of English skills.Now, lets look at writing tasks. We could start with a post it we put on the refrigirator as a reminder to buy milk, there could be emails we exchange, there would be fairly easy to contruct reports we generate at our work place and so on till you come to the large books.Similarly, you could have a small Javascript to handle MouseOver functionality in a webpage to more complex software pieces to finally a large software project, like say Banking software. Writing the small pieces of code, you could achieve with a basic understanding of any language, as in writing a Post-It. But as you progress to larger and larger pieces of software, you require skills to visualize the entire project, the interdependencies and how all the pieces should be put together. This would be the design of the software system. It is not necessary that you know UML etc. to be able to design good software. You require problem solving skills, a vision and enough communication skills to present your ideas to your readers or listeners.There are tips and tricks you learn as you develop more and more software, which are quite difficult to document, that will help you in designing better software. This is the primary reason, nobody has really written a good book on "how to design good software". It would be about as useful as a book on "How to write a best seller".Now, lets talk about Design patterns and algorithms etc. These are the scientific part of the software development process. There are well established rules and conventions about which design pattern to use in what kind of scenario etc.Next, development methodologies. These deal with how software is developmented and deal more with the process of writing code than the code itself. There is therefore more of Management than software development.Thus I believe, Software development involves art, some science and a lot of intelligence and aptitude.

Share this post


Link to post
Share on other sites

When you love your job, it always looks like an art for you. In this situation you are thinking lesser about the money and more about the quality of your job (finally it gets the money, too).On another hand, good sofrtware program has not only appropriated bussiness logic and user interface. I has also a good structure, clear specifications and descriptions, readable and effective comments in source code - it is necessary for further modifications and supporting by other people. So, good application looks really like a good book and we should make similiar efforts to build it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.