471,066 Members | 1,020 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,066 software developers and data experts.

Software Development Process Decoded

Hi everybody I am a project manager with a mid level software development company Some days back I came across a posting in a forum where a person otherwise a competent finance professional wanted to know about basics of software development process

This got me thinking In todays world of multitasking it is not rare to see people from different professional backgrounds converge and collaborate But there seems to be pain involved in this Why Because as I see it todays highly focused professional education is creating people with one-dimensional capabilities

So when two such guys meet more often than not it is a trial and error sort of on-the-job-learning (they can not really go back to school can they) leading to much heartburn and consequent delays cost overruns errors rework and lowering of confidence in otherwise very capable people

I am writing this series of software development basics to help people especially non-IT professionals understand the way IT projects work Please do chip in with more inputs

Lets start with the basics It cannot be emphasized enough that a detailed and intelligent process is a must if you are developing software Process means a guideline description of a repeatable procedure that describes the way that your organization develops software It also defines your organization because it is the process that will be applied to the development of future projects

Since Indian companies are choice of most organizations wanting to develop software it would be wise to emulate their process as it is the foundation stone of their providing high quality work at almost half the usual cost Therefore following is a little glimpse of typical process employed by the leading Indian companies like Infosys,BrickRed, Wipro etc


Domain Analysis
It is usually the first step in attempting to design a new piece of software It involves the investigation of the area such as: banking marketing retailing insurance etc where the software is to be employed

Know Thy Client
The holy grail of any project satisfy your client For that you need to know what is in his mind regarding his requirements He is the best person to tell you what they want While skilled and experienced software engineers can fill in any incomplete ambiguous or contradictory information

Specification
Specification means precisely describing the software to be written in a rigorous way

Software architecture
The architecture of a software system refers to an abstract representation of that system Architecture is concerned with making sure the software system will meet the requirements of the product as well as ensuring that future requirements can be addressed

Implementation (or coding)
Reducing a design to code may be the most obvious part of the software engineering job but it is not necessarily the largest portion

Testing
Testing of parts of software is done by a software engineer to check out any bug or error

Documentation
An important (and often overlooked) task is documenting the internal design of software for the purpose of future maintenance and enhancement

In my next posting I will discuss methodologies adopted to successfully develop and implement software projects I hope this posting though not enough by any stretch of imagination should give the beginners a little something
Sep 10 '07 #1
2 2117
JosAH
11,448 Expert 8TB
Since Indian companies are choice of most organizations wanting to develop software it would be wise to emulate their process as it is the foundation stone of their providing high quality work at almost half the usual cost Therefore following is a little glimpse of typical process employed by the leading Indian companies like Infosys BrickRed Wipro etc
I don't want to start an "outsourcing or not" discussion but it's a business myth
that Indian companies are "better" or more "hi-tech"; they're just cheaper. Quite
a lot of companies that outsource(d) are/were only in it for the money, i.e. they
wanted to save a few bucks.

I worked with quite a bit of clever engineers from India and on a daily basis I was
aware that there's a culture clash when it comes down to pure (ICT) knowledge
and diplomacy etc. Most if not all of them bluntly answer "yes" on the question
if they understood what was just been explained to them.

The "outsourcing model" is not the "one and only" best model and should not be
presented as such because *you* might think the other party understood what
you want to be done for your project while *they* don't and they couldn't care less
if you don't examine or even "interrogate" them about those (ICT) technical and
business logic matters.

kind regards,

Jos
Sep 10 '07 #2
praveen2gupta
201 100+
Hi
It is a good and useful article written by you. please include SDLC model in your futur toics. How and which model is used.
Sep 13 '07 #3

Post your reply

Sign in to post your reply or Sign up for a free account.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.