software level
1. Works when no one is watching
When the requirements are completely out of control, many programmers celebrate even having reached this point.
2. Works if you do it just right
Too many applications, most not written in Perl, make it to this point and stop cold. Forget reusable, this isn't even usable.
3. Trying most things once, it doesn't break
You may be tempted to give a software demo in front of a crowded auditorium at this point. Don't.
4. Other people tried it, and it seems to work
Software released to the community often starts at this point. Before
this point, there isn't enough benefit for it to be worthwhile for them
to fix your bugs.
5. Been in production for a while, and you're running out of bugs to fix
Most perl programs quickly shoot to level 5, and stop. Level 5 is a
good level. Since its really about the users, not the developers, Perl
has traditionally been great for end users.
6. Other programmers are adding to it, so you made the code understandable
Other programs can incorporate this program into theirs, or vice versa, and benefit from your work.
7. A lot of people are working on it, so you made it modular and well laid out logically
Resistant to damage caused by new features, different requirements, and new programmers. In a lot of ways, like a Spider Plant: fractal, prolific, and cute.
8. It has turned into a generic framework for doing things of this kind, and has been separated from early assumption
Different products that do the same thing but better are different, but are based on this class, can easily be created.
9. Hordes of the nit-pickiest people on the net have picked every last nit out of it
...