Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
I have used Visio before, but tend to go back to the analog whiteboard. I have often thought of a 'correct' way to plan and map software (at least Perl-centric software). I have worked a few places in my time, and find that a 'correct' way one place wouldn't work somewhere else. It all depends on the people on the team, company policy, etc... In general, however, I think there are a few things that always help, and are staples for planning software.

  • Clear 1000 foot view of software. It will do X, and be used by Y.
  • Map of any integrations. Interfacing with existing database? Need new database? Need new tables? Interfacing with software? Is there an API? etc...
  • General bubble chart (flow-chart without real flow) of 500 foot view. Can this be modular? Can sub-teams work on various parts (ie. Admin section, backend, front end, UI, etc...).
  • SPECS!!! SPECS!! SPECS!! The specs should have specifics and details of how things will work. These should be worked on by management AND development.
  • Final specs should include list of technologies being used (XML,Perl, Apache, Oracle, etc...) so they can be installed.
  • Now, have fun on the whiteboards. I see things work well when sub-teams create DETAILED flows of their bits, then explain their bits to other sub-teams. This helps you see how the bits will touch and mesh and allow for people to know what API's to make sure they have for other bits. Then, revise flows and details as needed.
  • Develop! Changes will be made, things will be added/removed.. there is no permanence in software design.

There is a lot in between (I could probably do a book on dos and do-nots of real-world software design), but those are some highlights I have seen work well. Generally I don't like to use any flowchart software (unless someone else will maintain the flowcharts) because whiteboards are better (if you are luckly, you have a whiteboard that prints). I love walking into a room and seeing all the whiteboards marked up with the flow of a big piece of software!


In reply to Re: Planning your software before writing by KM
in thread Planning your software before writing by belize

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?

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (5)
As of 2024-06-25 06:41 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.