Google Answers Logo
View Question
 
Q: Can you find me detailled processes for Software Development? ( No Answer,   0 Comments )
Question  
Subject: Can you find me detailled processes for Software Development?
Category: Computers > Software
Asked by: ianp-ga
List Price: $25.00
Posted: 04 Sep 2004 03:34 PDT
Expires: 04 Oct 2004 03:34 PDT
Question ID: 396746
Hi, 

I am looking for a set of detailled industry standard software
development processes (migration from one system to another).

I work in a small software development department. We need something
we can bring in quickly and modify to our needs. I am aware of CMM but
I am looking for already developed processes not guidelines to improve
existing processes.

I am a process improvement person so I realise this is a big task and
will take time but I want to kick start my work with some existing
detailled processes. I understand the phases of analysis, design,
build, test and implement but I am looking for the lower level
detailled processes (at the procedural work level).

Software engineering is over 50 years old and although it is not a
predictable as constructing buildings, processes are fairly well
established. It is quicker to adapt industry standards. Besides, even
the best processes don't guarantee results - there are non-process
issues to manage also.

The more detail you can find the better - please offer different
frameworks but it is the procedural detail within the process
frameworks which I seek.

If you can refer to any general methods/approaches on improving software
development processes through the course of your research that would
be useful. 

An overly academic or intellectual approach is not enough:: I need
demonstrable results quickly.

Thank you

Request for Question Clarification by answerguru-ga on 04 Sep 2004 10:01 PDT
Hello Ian,

Are you looking for reference material for a methodology specific to
migration-centric projects? I'm not sure if you've heard of the
Rational Unified Process (RUP) before, but I think that would suit
your purpose. It can get extremely detailed, which is an advantage
because you can decide that any less-granular level is enough for your
organization and stop there.

If you like, I can point you to some reference material around this
process. Please let me know if this is the type of information that
you are seeking.

Thanks,
answerguru-ga

Clarification of Question by ianp-ga on 04 Sep 2004 11:39 PDT
Hi, 

For large scale development projects (12-24 months). Some are
migration, some are not.

I am looking for the more detailled steps within each analse, design,
test, build phase.

I am not looking for something which is to different from best
practice i.e. getting buy-in would be difficult.

Request for Question Clarification by answerguru-ga on 04 Sep 2004 14:46 PDT
How comfortable are you with UML modelling (which is a best practice
design language itself)? RUP has been developed very much in terms of
UML, so if your team is familiar with it that would be even better.

Request for Question Clarification by answerguru-ga on 04 Sep 2004 14:53 PDT
I've included a link containing a detailed description (in the form of
a whitepaper) which will give you a very good understanding of RUP. If
this meets your needs, let me know and I will post it as an answer:

http://www.augustana.ab.ca/~mohrj/courses/2000.winter/csc220/papers/rup_best_practices/rup_bestpractices.pdf


answerguru-ga

Clarification of Question by ianp-ga on 05 Sep 2004 15:38 PDT
RUP looks great but it is something which has to be purchased as a
product. As I said, I am looking for:the lower level detailled
processes (at the procedural work level). I am not interested in
buying software tools with processes which I can tailor. I want the
processes without the software tools etc.

Request for Question Clarification by maniac-ga on 08 Sep 2004 18:22 PDT
Hello Ianp,

From your clarification, it sounds like you are looking more for
process materials than for tools / applications.

Does the Personal Software Process or Team Software Process
  http://www.sei.cmu.edu/tsp/
sound like something that can address your needs. It includes:
 - training materials
 - reference books
 - detailed process descriptions / forms / and so on
You can also draw on certified instructors if needed to bring your
staff up to speed (or you can have someone attend a "train the
trainer" course).

There are several companies / government organizations that have used
these methods. If this is more what you are looking for - please
indicate so I can provide a better explanation of what is available
and suggestions on how to proceed.
  --Maniac

Clarification of Question by ianp-ga on 09 Sep 2004 15:21 PDT
Hi, 
I am not looking for tools, training. 
I am looking for the lower level processes. 
I am familiar with SEI - that's where CMM is from. 
However, I did not know PSP. 
I am looking for examples of the lower level processes. 

The overall planning process is on the web site. But I want to know
what happens in each of the boxes:

http://www.sei.cmu.edu/publications/documents/00.reports/00tr022/00tr022figures.html#figure2

E.G How are things estimated, how are the requirements defined, how is
the product developed. I am interested in the details within these
boxes.

Examples of these...what are the activities etc.

Request for Question Clarification by maniac-ga on 09 Sep 2004 18:04 PDT
Hello Ianp,

Let me walk you through the PSP (figure 5) to see if this will get you
what you are interested in. The following will refer to material in
the book
  "A Discipline for Software Engineering"
  http://www.amazon.com/exec/obidos/ASIN/0201546108
Some of this is also available on line at the SEI in reports,
presentations, and related materials.

As described in the book, the Personal Software Process grows in an
incremental manner. With "PSP0", you basically start with your
"current process" (whatever you may do) with the addition of:
 - four scripts - one for the overall process and one each for
planning, development, and the post mortem
 - a time recording log and instructions
 - a defect recording log, defect standard, and instructions
 - project summary form and instructions

These are all pretty simple. As an example, the development script has
four steps (design, code, compile, test) includes:
 - Entry criteria - a requirements statement, project plan (with
estimated development time), time log, and defect log & standard.
 - Design - review the requirements and produce a design, record time
 - Code - implement the design, record any defects found, and record time
 - Compile - compile / fix defects until it compiles error free,
record any defects found, and record time
 - Test - test / fix defects until all tests run without error, record
defects found, and record time
 - Exit criteria - a thoroughly tested program, completed time and defect log
The book has about 15 pages of reference material in Appendix C along
with the general explanation in chapters 2 (baseline personal process)
and 3 (the planning process).

Emphasis at this stage (PSP 0) is to establish a baseline of
performance that captures the effort and defects. For example, based
on the first program, you have an initial estimate of time to plan, to
design, code, etc.

PSP 0.1 builds on that to make an estimate of lines of code (new and
changed) as well as the by phase time allocation. It has an updated
set of scripts, forms, instructions, and standards. Recording process
improvement ideas will also be started at this point.

PSP 1 requires a size estimating method. The book describes several
and recommends a "proxy based" method called PROBE. PROBE starts with
a conceptual design and identification of the objects (number of
methods, type of objects, relative size, and new/reuse). Based on
historical size data (by type of object, sizes) you then estimate the
program size with an error estimate. The idea here is to get you to an
estimate without bias (not optimistic nor pessimistic). You also start
estimating productivity at this point (e.g., lines of code per hour).

PSP 1.1 adds basic task and schedule planning. Again, based on your
experience, you will estimate task duration and resource availability
(e.g. hours of "work" per day) to produce a task list and schedule.
You can then track your performance against the schedule to produce
revised completion time.

PSP 2 adds code and design reviews. The idea here is to have several
programs completed with detailed data collected on defects. Based on
those defects, you produce a personal design / code review checklist
to use on future programs. You also generate estimates of defects
introduced / removed at each phase. From the actual data, you also
track defect removal efficiency for later analysis.

PSP 2.1 adds at design templates to help improve the design. If you
already use an established design method - I would recommend using
that.

PSP 3 scales up the process to use cyclic development. You basically
start with a planning & high level design (and review), do one or more
cycles of detailed design / review / code / review / compile / test,
then a post mortem.

The book has a number of sample programming assignments that fit
pretty well with the incremental growth of the PSP. For example, the
second and third programs are code counters, needed for PSP 0.1. The
sixth program does prediction intervals, used in PSP 1 (if you use
PROBE). The tenth program is large enough that you can define a couple
cycles for PSP 3. Almost all are related so you can reuse code from
earlier efforts in the later programs so you get an understanding of
the benefits / problems of reuse and code modification.

The Team Software Process is done similarly where:
 - there is an expectation that everyone is PSP trained
 - you add coordination activities with the team
 - team members have one or more tasks (e.g., quality assurance) that
help a team activity but not necessary for individual development
Again, you have resources such as scripts, forms, standards, and so on.

If you really put the effort into the PSP / TSP, you can get a modest
improvement in productivity with a good improvement in product
quality. Also, if you do adopt the PSP / TSP, make sure you make a
real commitment to follow through. I have had some experience where
staff gets distraced by "real work" or "deadlines" and the benefits
disappear with the lack of follow through.

Again - if this appears to be what you want - please indicate in a
question clarification so I can produce a more proper answer.

  --Maniac

Clarification of Question by ianp-ga on 12 Sep 2004 10:15 PDT
Thank you. All very interesting but all I seek from the web is:
"examples of the lower level processes". The diagrams, flowcharts,
procedures. I am not looking for improvement methods.
I have plenty of improvement methods and don't wish to buy any more text books

Request for Question Clarification by maniac-ga on 13 Sep 2004 18:07 PDT
Hello Ianp,

It is not easy to find software processes suitable for "small
departments". The TSP is perhaps the best fit but you have stated you
are not interested in that approach.

As an alternative, some companies charge a fee or offer software
process documents as part of some consulting support. For example
- QAI India, Ltd - offers process documentation along with a 2 or 3
day consulting on the CMM
  http://www.qaiindia.com/profound_set/profound_set_overview.htm
- TeraQuest - refers to a "workshop" CD that provides a set of process documents
  http://www.teraquest.com/resource/downloads.shtml
If there is a match in what they offer to what you are looking for -
this is certainly an approach that can be taken.

Otherwise, free software process documentation is generally available
only from military sites. For example
  http://sepo.spawar.navy.mil//Process_Assets_By_KPA.html
is the Space and Naval Warfare Systems Center San Diego. This indudes
process documents and other references for levels 2 through 5 of the
CMM. It is a site referred to by several other sites (e.g., the
Digital Library at the Software Productivity Consortium -
http://www.software.org/Library/).

There is also a military financial site at
  http://www.dfas.mil/technology/pal/index.htm
which includes software process standards, processes, and related
materials. You did not indicate the type of software you are
developing - these processes may be more suitable than those available
at the SSC/SPAWAR. In particular they do describe software migration
in some of their materials.

Please review these sites and make another question clarification. If
these are not suitable - please indicate the additional constraints on
the process documentation so I can make a more focused search. If
suitable, let me know so I can produce a proper answer.
  --Maniac
Answer  
There is no answer at this time.

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy