Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
How do you plan the evolution of your programs? What preparations do you make for future amendments?

Update: Thinking about it the whole point of my post is stating that I think there are 2 lower points than the source. The lowest being what the software must do within certain constraints. The next being what would be nice if the software could do.

First I like to attempt to define the problem space appropriately. Second I spend the time to look at what does and doesn't work in the same problem space. Once I have these pieces a general framework has been defined, which will in turn define, at a high/vague level, the amount of flexibility needed in this particular space.

There are some places where a great deal of flexibility is nice, ( ala File::Find ), and others where you give up flexibility for some other prerequsite (security or speed). Granted those prereqs are a little contrived, but I think thats a decent example of the principle.

Once the base has been reasonably defined, with clear goal of what the software "can/should" do, then you can examine what you would like the software "to" do. Or at least things you think might be fun to bang out in the future, and/or use the code to do later.

With all that in mind, you can then either start developing your own code, or look at other pieces that meet those requirements.

Case in point: data center monitoring tools.
Off the top of my head I can list BigBrother, BigSister, NAGIOS, NOCOL, SolarWinds, NetSaint, NetExpert, HP OpenView. If you only want to monitor hosts, all of those will do just fine. If you have more than X hosts to monitor, you start to run into issues with some of those pieces of software. Now lets say you want to do SNMP trapping/polling on network devices, some of those apps drop right out of the available list.

So I guess what Im trying to say, is the best way I have found personally and professionally to plan the evolution of a program is to attempt to understand the problem space as thoroughly as possible. Define a base req, define what would be nice, and go from there.

Cheers

MMMMM... Chocolaty Perl Goodness.....

In reply to Re: Multilevel flexibillity by l2kashe
in thread Multilevel flexibillity by zby

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2024-03-28 19:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found