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

free web hosting
Free Web Hosting > Computers & Tech > Programming > Programming General > Design Practises, Patterns & Ideas

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

rcparur
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 biggrin.gif 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.

 

 

 


Reply

java-area
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.

Reply


Got an Opinion! Express your Views! (no registration):-
Add your Reply/ Opinion/ Views/ Comments/ Suggestion/ Questions/ Queries etc.
Posts with decent grammar & English will be accepted and please refrain from profanities.
For asking a Question, We recommend you to sign-up (for free) so that you can track the topic easily.

Nature of your Post*: Opinion/ Reply/ Comments
Question/Query
Feedback to us.
       
Name   Email
Title/Question*

(Maximum characters: 10,000)
You have characters left.
Confirm Code:

Similar Topics

Keywords : software development explain concepts practices methodologies

  1. Detect In Software Connected Speakers - (0)
  2. Software Development: User Interface Debate - (5)
    Designing a classy looking user-interface is something we all adore. The first look of an
    application does determine its longevity in the user's hand. Choosing the right balance between
    proffessional and stylish look involves a lot of thought process going in (mostly from the
    user's perspective). I believe, that developing applications with unique (but not over the
    top), elegant and consistent interfaces is the best choice. What do you guys think? PS: Please
    specify which side you are speaking for (User / Developer)...
  3. Is The Software Process Important For Us? - the cost, benefit of processes (5)
    RUP, XP, Waterfall play great roal in large software projects, and we must choose the right process
    and modify it correctly in a certain project. But is it important when design or develop website? Or
    there is no cooperative work need to do when designning or developing website?...
  4. Numbering Software Versions - (9)
    Hi guys! Do someone can explain me how sucessives versions of a script are numbered?, that is,
    v.1.0 - 1.0?...



Looking for software, development, science, art, explain, concepts, practices, methodologies

Searching Video's for software, development, science, art, explain, concepts, practices, methodologies
advertisement




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



 

 

 

 

ADD REPLY / Got an Opinion! a humble request :-) RAPID SEARCH! Free Hosting [X]
Express your Opinions, Thoughts or Contribute more info. to help others.
Ask your Doubts & Queries to get answers, So that "Together We can help others!"
Register FREE for AD-FREE forum, Create your own topics, Ask Questions, track topics, setup subscriptions & notifications and Get a Free Website w/ Email and FTP.
500MB Space *No Ads*, CPanel, FTP, PHP, MySQL, EMails - 100% FREE