I am a computer Science student on his second year under-graduate course, and have an idea to develop a software,but i feel that the problem need to be solved and the actual development of the software seem to complex for me,and would like to know if i decide to
go ahead with the program would i be assigning myself for failure,annd how do i make sure that failure is not an option?,Since i have no expirience with any real world software engineering im only used to class group projects tha are not of large scale.

Recommended Answers

All 7 Replies

So what is your question..?
Be clear in what you say and ask the questions in a precise manner.

Independently what the real question is, when one have a big task to solve with a software one can always break that big task apart and work on small pieces. When you finish all pieces you have your full software.
I don't think you'll be assigning yourself to failure. Just make sure that you don't get lost when thinking about the problem. That's why dividing one task in others less complex is useful.

@ harinath_2007:
So what is your question..?
Be clear in what you say and ask the questions in a precise manner

sorry for not clearly asking the question, what i meant was since i have no expirience in developing application of larger scale, is it possible for someone like me to develop it? or should i wait until i have enough expirience to turn the idea i have into a real working software or preferable give it to someone who has the right expirience becauase my fear is not finishing it due to complexity of the problems that need to be solved while coding and time since i am still a student.

khanyisani, if you have experience with developing applications at any scale, you can develop applications in larger scales. At some point you'll have to subscribe for a larger project. So I think that yes, you can develop it. Just make sure you can organize all you have to do and like were said before you can break apart the application into small pieces and then you develop each peace and turn them into your application.
Think about some logical pieces of the application and start with one by one. You can always break apart complex problems into a couple of small simple problems.
If you have the opportunity to take such application to develop, don't dismiss it. You can count on a lot of people that can help anytime you got stuck.

@ harinath_2007:
So what is your question..?
Be clear in what you say and ask the questions in a precise manner

sorry for not clearly asking the question, what i meant was since i have no expirience in developing application of larger scale, is it possible for someone like me to develop it? or should i wait until i have enough expirience to turn the idea i have into a real working software or preferable give it to someone who has the right expirience becauase my fear is not finishing it due to complexity of the problems that need to be solved while coding and time since i am still a student.

All it depends on the type of the software and seriousness of software( i mean whether the software will be developed for real time use or is it just a academic project)..

Even if it is a large scale application , why not give it a try??

If you think you are weak in coding , give yourself a considerable amount of time for preparing basics and syntax perfectly.

If you are stuck anywhere , There are many professionals here to help you ..

So prepare yourself and carry on.....

One thing to bear in mind for large scale projects:

Have *clear* requirements. Else you will get "feature creep"
Use source control!
Have a way of tracking bugs/defects
Write tests! And ensure you dont get regressions
Use a proper build system
Document how to actually use and build the system for others

You gain skills and knowledge by doing smaller projects first (and by looking at other people's code). This includes coding standards and debugging skills. You will also pick up modules and code snippets (and build your own library) that can be used to address specific needs when you do further projects.

If you do a relatively small project and the code is organized so poorly that you can barely understand how it works anymore; you can write it off as experience and even rewrite the whole thing if you have to. With a larger project with many modules, if you don't have a good structure and good standards to start with, then you could end up spending a lot of time creating something that you have great difficulty maintaining or changing when it's done. After spending a lot of time to create this much larger system, you would be very reluctant to throw it out and start over (but your ongoing cost if you don't could be quite high). If someone was designing and constructing a multi-storey building, you would expect them to have some training and experience starting with something small. Is software design and construction so much easier that we can just jump in and do it successfully on a large scale before spending the time to develop the appropriate skills and knowledge? I don't think it is. In both cases, I think that the end result may be something in danger of crumbling.

commented: good advice +0
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.