Source

Kephra / doc / CompleteProgramming.pod

Full commit
=head1 Complete Programming

This document describes the method the Kephra editor is developed with.
Its highest aim is to have at all times a usable program with the
highest quality at all levels while still letting programming be fun.



=head2 Overview

=head3 DISCLAIMER

I strongly dislike strict rules imposed on me and made fun of people that
produce theories with three letter acronyms that try to be the answer to everything.
But now I am standing here, trying to "sell" you yet another programming methodology.
That IS irony, isn't it? At least I use only two letters beause this is more important.


=head3 Rational

Well, several reasons brought me here.

1.) I always wanted a sane balance between the old bureaucratic waterfall method
    and a bit too shortsighted, modern extreme or agile programming, combining
    sound planning and practicability.

2.) Writing tests is no silver bullet and is used for several competing purposes.

3.) The awesome powers of prototypes are still not fully used.

4.) All methodologies I know of overlook several aspects of the product.
    That includes even "documentation driven development",
    which gave important impulses for the creation of CP.

5.) New tools like hg or git allow new workflows which solve pending problems.

=head3 Main Goal

Highest aim is the conscience the code is produced with. As result you get
   * a superb overall user experience
   * quality code
   * transparent project planning and status
   * room for experiments and changes without trouble


=head2 Phases of Development

Even if productive software is never done and you wand to get something usefull


=head2 Details

=head3 Defining Task

main task

aprox. feature set

parts to do
   * documentation (user, programmer, comments)
   * prototypes
   * supply libs 
   * tests
   * logic
   * visuals
   * configs

resources

what kind of team to solve it with

what technologies, languages, libs, os, other tools
fallback alternatives or areas you might expand into

=head3 Early Development

=head3 Normal Development

=head3 Maintenance



=over 4
=item * 
=back