In touble, sincerely ask for kind advice.

S

shuisheng

Dear All,

We meet some problem in our project development and sincerely ask for
your kind advice.

We took eight months to develop a project system with about 50,000
lines of code. The code is integrated into our system without careful
testing. So after all the integration, we found there are many bugs.
And I believe if we test more, more bugs will appear. Some bugs lead to
the coputer to crash. And they are very hard to find and remove. For
example, we took a whole week on a particular bug and still no
significant progress. And also I am not satisfied with the design and
think the project will be hard to maintain.

We have no experience on a big project. What should we do about the
project? Redo it or debug it or others? What is the most efficient way
on our situation?

I appreicate your kind help!!!

Shuisheng.
 
J

Jack Klein

Dear All,

We meet some problem in our project development and sincerely ask for
your kind advice.

We took eight months to develop a project system with about 50,000
lines of code. The code is integrated into our system without careful
testing. So after all the integration, we found there are many bugs.
And I believe if we test more, more bugs will appear. Some bugs lead to
the coputer to crash. And they are very hard to find and remove. For
example, we took a whole week on a particular bug and still no
significant progress. And also I am not satisfied with the design and
think the project will be hard to maintain.

We have no experience on a big project. What should we do about the
project? Redo it or debug it or others? What is the most efficient way
on our situation?

I appreicate your kind help!!!

Shuisheng.

If you read your own post, you will notice that there is absolutely no
mention of the C++ language in it. In fact, the problem you have is
one that could be created in any programming language.

You might get some suggestions here, but really your question is
off-topic, because it is not particular to the C++ language.

One commercial tool that might help you, if your program is for
Windows, is PC-lint from http://www.gimpel.com. This inexpensive tool
is an absolute necessity for any serious development in either C or
C++.

As for additional suggestions, your question would be more
appropriate, and most likely get more and better answers, in the
groups and
You might also try a newsgroup for the platform, such as
or
depending on what that
platform is. There might be suggestions for platform specific tools
or techniques that could help.
 
M

Markus Grueneis

shuisheng said:
[...]

We have no experience on a big project. What should we do about the
project? Redo it or debug it or others? What is the most efficient way
on our situation?

This depends heavy on your timeframe, type of application, quality of
existing code, and how much money you want to spend.

Some questions:
* Are you experiencing "integration problems", but have at least some
solid (or working or whatever) base libraries?
* Is the code quality varying between guru and novice level, or was it
more or less a novice-only project? Means: Can you confine the
problematic code to just a few components?
* How much components can be cut out of the current design, or are
they all too heavy interdepending?
* Is it a very specialized application, where much non-programming
knowledge is necessary to complete the project in time?

For instance: if this project was lead by a team without much
experience, you should note that an experienced programmer may finish
the work with 1/4 of LOC and 1/10 of time. Under this conditions, and
given that there is no reusable codebase (only non-documented
heavily-bug-ridden novice-level-code), a complete rewrite by some
professionals may be the way to go.

Actually, the decision will not be so easy. From own experience I know,
that problematic code can often be coerced to work (via strictly finding
the 80% of time use-cases and eliminating the rest, aka
feature-reduction), until the next release, when you have more time and
more experience(!) for refactoring/rewriting the app.

Maybe some regulars may point you to a good way to analyse your situation.


best regards
-- Markus
 
F

Frederick Gotham

shuisheng posted:
We took eight months to develop a project system with about 50,000
lines of code. The code is integrated into our system without careful
testing. So after all the integration, we found there are many bugs.
And I believe if we test more, more bugs will appear. Some bugs lead to
the coputer to crash. And they are very hard to find and remove. For
example, we took a whole week on a particular bug and still no
significant progress. And also I am not satisfied with the design and
think the project will be hard to maintain.


Dear Mechanics Group,

I built a car recently using the wrong parts, threw it together
wrecklessly and without tightening any of the bolts properly. The car red-
lines at 10mph in second gear, and many other things are faulty with it.
Should I scrap the car or rebuild it?
 
D

David

Dear All,

We meet some problem in our project development and sincerely ask for
your kind advice.

We took eight months to develop a project system with about 50,000
lines of code. The code is integrated into our system without careful
testing. So after all the integration, we found there are many bugs.
And I believe if we test more, more bugs will appear. Some bugs lead to
the coputer to crash. And they are very hard to find and remove. For
example, we took a whole week on a particular bug and still no
significant progress. And also I am not satisfied with the design and
think the project will be hard to maintain.

We have no experience on a big project. What should we do about the
project? Redo it or debug it or others? What is the most efficient way
on our situation?

I appreicate your kind help!!!

Shuisheng.

You bit off more than you could chew. At least you admit the problem.

We can't really give you any advice as we don't know anything about
your project.

Your remaining desired time may affect what needs to be done. I don't
see any shortcuts given the meager description. The entire design
needs to be reviewed by many people with a critical eye. Make sure
that if it were built correctly that it could perform the desired
tasks. There is likely no easy way to find and elimiate all those
bugs that have been seen. The project was implemented without due
care and you likely spent 8 months building a bunch of stuff that
you hoped would all work. What steps were you supposed to take
to insure success of the project and why weren't they done?

Everyone has responsibility for what has been created thus far.
Many organizations like to point fingers, place blame, and pretend
the persons responsible have been dealt with. Those left may still
need to accomplish the original goals. Everyone should get a chance
to deal with it, if they are able to. A nice start would be a large
group meeting of everyone involved and stating "we messed up and
need to figure out how to get from here to our original goals".
Then figure out how to do it and inform the proper parties. Own
up to the situation but try to let the project owners know what
needs to be done from now on.

Good luck to you and your organization in determining a better way
to work. Perhaps working on smaller projects and taking on bigger
tasks is the way to go. Whatever it takes, make sure you can do
what you've committed to next time. Experience matters.

David
 
I

Ivan Vecerina

: We took eight months to develop a project system with about 50,000
: lines of code. The code is integrated into our system without careful
: testing. So after all the integration, we found there are many bugs.
: And I believe if we test more, more bugs will appear. Some bugs lead to
: the coputer to crash. And they are very hard to find and remove. For
: example, we took a whole week on a particular bug and still no
: significant progress. And also I am not satisfied with the design and
: think the project will be hard to maintain.

I wonder: how many people were involved in writing the code?

: We have no experience on a big project. What should we do about the
: project? Redo it or debug it or others? What is the most efficient way
: on our situation?


It is impossible to recommend a specific without reviewing
the project and source code. But a full rewrite might bring
you again in the same situation in another eight months.
Refactoring the code, fixing its design and implementation
weaknesses at the same time as you address the bugs,
is often the fastest and most reliable approach.

First of all, make sure that you and your team understand
the mistakes that you have made.
You say that the design is poor, but do you know exactly
how to improve it ?
Is your project broken down into modules?
Did you write unit tests?
Do you make the best use of the C++ language, standard
library, and other libraries that can help?
Do you apply a reasonable coding style guide that
helps avoid common bugs? (use RAII, const, etc)

Once you have determined what you need to do,
you can go and solve the root of the problem.


My advice would be to get an experienced C++ software
developer/architect on board, to assess the situation
and provide guidance.
Best would be to find someone 'local'.


Regards,
Ivan
 
P

piboye

shuisheng 写é“:
Dear All,

We meet some problem in our project development and sincerely ask for
your kind advice.

We took eight months to develop a project system with about 50,000
lines of code. The code is integrated into our system without careful
testing. So after all the integration, we found there are many bugs.
And I believe if we test more, more bugs will appear. Some bugs lead to
the coputer to crash. And they are very hard to find and remove. For
example, we took a whole week on a particular bug and still no
significant progress. And also I am not satisfied with the design and
think the project will be hard to maintain.

We have no experience on a big project. What should we do about the
project? Redo it or debug it or others? What is the most efficient way
on our situation?

I appreicate your kind help!!!

Shuisheng.

This is a question about software engineering.
I suggest you to redo.
Because be harder maintainning code than recode,and also this is a
problem of analyse and design ,not only coding.
 
S

Stuart Golodetz

shuisheng said:
Dear All,

We meet some problem in our project development and sincerely ask for
your kind advice.

We took eight months to develop a project system with about 50,000
lines of code. The code is integrated into our system without careful
testing. So after all the integration, we found there are many bugs.
And I believe if we test more, more bugs will appear. Some bugs lead to
the coputer to crash. And they are very hard to find and remove. For
example, we took a whole week on a particular bug and still no
significant progress. And also I am not satisfied with the design and
think the project will be hard to maintain.

We have no experience on a big project. What should we do about the
project? Redo it or debug it or others? What is the most efficient way
on our situation?

I appreicate your kind help!!!

Shuisheng.

I'm a student still, so you might want to take this with a pinch of salt,
but:

It very much depends on how much time and money you have. With infinite time
and money, the right course of action would be to hire a sufficient number
of talented people who do have experience on a big project and get them to
rewrite it properly from scratch. If you don't have enough time to do this,
but you do have enough money, then again hire talented people but get them
to fix it for you as best they can. (Bear in mind that it will take them a
certain amount of time to acquaint themselves with your system, however good
they are. If you can't afford the time for them to acclimatise, you may be
forced to do the job yourself.)

If you don't have enough money, you'll have to do the job yourself. If you
can afford at least a couple of good people to help you out, that would help
matters. (Make sure they're not prima donnas, though, or they'll offend the
rest of your team. Hire carefully.) Either way, you then have to choose
between rewriting or fixing. If you have little time, you clearly have to
try and fix it. (If that's unworkable, you'll just have to miss your
deadline. These things happen. In that case, you might want to consider
rewriting.) If you have lots of time, try rewriting. But if you just start
again without changing what happened last time, you'll probably just do the
same thing again. You need to learn how to do big projects. (This is where
hiring people who already know how comes in.) In the worst case scenario,
where you don't have time to learn how to do big projects or to rewrite your
code, and you don't have money to pay someone else to do it, you're hosed,
to put it bluntly. There's no way out of that dilemma except by missing your
deadline. C'est la vie, c'est la guerre. Why do you think so many software
projects overrun?

Hope this helps a little,
Stu
 
J

Jim Langston

shuisheng said:
Dear All,

We meet some problem in our project development and sincerely ask for
your kind advice.

We took eight months to develop a project system with about 50,000
lines of code. The code is integrated into our system without careful
testing. So after all the integration, we found there are many bugs.
And I believe if we test more, more bugs will appear. Some bugs lead to
the coputer to crash. And they are very hard to find and remove. For
example, we took a whole week on a particular bug and still no
significant progress. And also I am not satisfied with the design and
think the project will be hard to maintain.

We have no experience on a big project. What should we do about the
project? Redo it or debug it or others? What is the most efficient way
on our situation?

I appreicate your kind help!!!

Shuisheng.

Basically I would say it depends on how well the project was engineered and
the type of bugs you are encountering.

The proper way to develop a project is to test as you go. If this was done,
then it may just be the errors you are getting are from unexpected input
that the programmers didn't think about (which is fairly common). If this
is the case, then it would be best to debug your existing code, as the same
thing would happen if you totally scrapped your project and started over.

If, however, the project was not well engineered, or it was not tested as it
was developed, you may be better off to scrap the whole thing and start
over. It's hard to say.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,898
Latest member
BlairH7607

Latest Threads

Top