Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Open Source Requirements Management Systems? 117

scphantm asks: "I have the wonderful (and rare) job of building a development department from scratch. One of the things im doing right now is looking for the software im going to use company wide to manage the department and the various projects we are going to have. I have some great ideas for OSS project management software, but the one piece of the puzzle that im missing is a good requirements management system. I have found a few that will do what i want but i have serious issues spending $1200 to $10,000 a seat! I sat down and put together a wish list for what I would want in a Requirements Management System, is there anything like this out there?" While SourceForge and it's free counterpart Alexandria may have a few of the pieces to his wishlist, scphantm has some decent ideas that Project Managers might want to think about.

"I have used your basic Word docs and Excel spreadsheets in the past for this but it just simply wasn't up to snuff as far as I'm concerned. How have Slashdotters solved these problems?

My Wishlist


  • Has to be web based. We are going to be spread all over the country and i see no other realistic way of doing it.
  • Has to handle multiple projects
  • I want it set up so I can take the tree of requirements, click on a button and have it take a snapshot of those requirements and mark them as the requirements for version 1. I can then still use the original requirements tree to create the requirements for version 2.0, in the future. I then want the ability to compare the two snapshots and generate a report that I can give to marketing which says: "these are the changes from version 1.0 to 2.0"
  • I want the defect tracking integrated into it. Source code management I don't really care about, but bottom line, I want to be able to click on my snapshot of version 2.0 and run a report that itemizes everything in it, from requirements to bug fixes. I want to be able to look at a closed bug and see what release of the product it was integrated into. on this level, I really don't give a rats @$# about what version of data.h the fix was integrated in.
  • If I have a bug reported in version 1 of a release, I want it to flag the developers of version 2 that this may be an issue for them as well. Basically have a little bit of AI as far as who needs to know about a bug, and make sure to incorporate the fix for that bug into future releases.
  • I want security set up so there is a free communication during the process of requirements management. anyone who is anyone will be permitted to add input to new feature ideas using this system. the Development Director for the particular project would be the only one permitted to make a suggestion a requirement.
  • I want an impact tree. I want to be able to run a report to show the CEO that if he wants to change the encryption from Blowfish to AES, its going to impact these requirements."
This discussion has been archived. No new comments can be posted.

Open Source Requirements Management Systems?

Comments Filter:
  • Or... (Score:4, Funny)

    by roguerez ( 319598 ) on Saturday October 05, 2002 @05:27AM (#4392652) Homepage
    post your requirements on /., as you've done in this case.. :)

    Version control would get a little difficult though.
  • by jukal ( 523582 ) on Saturday October 05, 2002 @05:38AM (#4392665) Journal
    I quess you already have a valid requirement basis for selecting the requirements management system. I might be perverted, but I would not even install a separate requirements management system before seeing who i will have working, what will they be doing, and how they will be doing it. You must be building a seriously complex software product, otherwise I do not really see your way of prioritizing things - or have you gone through this process before and already know exactly how you want things done?
    • I agree. This to me sounds like someone putting the technology ahead of the humans.

      I'd start out with a decent version control system and that's about it. I'd make that work first, and also concentrate on proper coding standards (comments etc etc) before ever worrying about the rest of the infrastructure.

      The build system would be a close second. For Java I like Ant...I've been using it for years, and the company I work for right now uses it big time.

      Configuration and documentation management would come third, and not too late either.

      OK, it sounds like I am discounting requirements management and high level design and traceability - definitely not. But I think you can do this without resorting to systems. Just make sure that the business analysts are hardnosed SOBs that know requirements analysis inside and out. All you need from them are decent System/Software requirements specs that could be in ASCII for all I care.

      Do your spec review. Make sure the senior programmers are on board and understand the requirements. Give them their bits and let them loose. Let them use UML if they like but don't demand it, and curb excessive use of it. If they want to use something else that's fine. Require traceability.

      Review again. Intensively. All docs at this point are still ASCII/Word/XML/LaTeX/images - no fancy expensive systems are in play. None required, as far as I am concerned. Your best bet is people, not technology.

      I, or other commentators here, could follow the entire lifecycle through - what's the point? The thng is, you don't need the technology - you can do very well with email and simple document formats. It comes down to human skills and training and doctrine.

      • ".....concentrate on proper coding standards (comments etc etc) before ever worrying about the rest of the infrastructure"

        "Configuration and documentation management would come third, and not too late either"

        How can you mention requirements specs and design specs and say that coding standards, of all things, should be tackled before configuration control, document management and project infrastructure ?
        • Small projects, and most software projects are small, do not really need, and cannot afford, "proper infrastructure". Small projects will usually end up with code fairly on in the process and a selection of incomplete documents that describe the design. The documentation is often - either deliberately or by default - not maintained. This situation makes version control and coding standards the highest priority.
    • by Gerry Gleason ( 609985 ) <<moc.nosaelgdlareg> <ta> <yrreg>> on Saturday October 05, 2002 @01:43PM (#4393986)
      Projects can be killed by poor process. One company I worked for had sufferred under a badly done attempt to add process after the fact. By the time I was there, this was all company history, but it was a horror story, and everyone was a little skittish about implementing more process.

      If you are a software company, then you had better pay close attention to having the right process from the start. Once your into the project, you won't have time to go back and do planning and process. If your design and project methods aren't good, how can you even make a schedule or know how many programmers to hire? This is by definition more than a one or two person project or you wouldn't need a software company to do it.

      That being said, don't go nuts on process either. Figure out what is most important to your project, and implement something that hits the important points. Use it and build good habits on your team, and you will be able to refine the process as you go. At the end of each product cycle you have to evaluate the performance of everything and make adjustments.

      This is just like the extreme programming model where you prototype quickly and test constantly. Unlike writing programs, it's harder to automate the testing because your evaluating a human process, not a program. Performance metrics can help, but sometime they hide more than they reveal.

  • support oss (Score:2, Insightful)

    by raffe ( 28595 )
    If you want to support oss buy sourceforge or sourcecast from collab.net! Good companies that could use the money!
  • Take and give (Score:2, Interesting)

    by OSSturi ( 577033 )
    Dear scphantm

    I would be very interested in your decisions regarding all the other parts of your open source development environment. Could you give us a summary of the tools you plan to use?

    I'd be happy to help you with the Requirements Management System. Unfortunetaly all I've ever used for this are plain text files...
  • Microsoft (Score:2, Interesting)

    by cscx ( 541332 )
    Microsoft Project + Sharepoint server for the collaboration. Oh, you want an open source (read: free) solution? Looks like you're shit out of luck, not even SourceForge is free.
  • by PGillingwater ( 72739 ) on Saturday October 05, 2002 @06:11AM (#4392702) Homepage
    Well, may I humbly offer my company's open-source contribution, which we call "Outreach Project Tool."

    It was really developed as a way to allow us to keep in touch with multiple customers and partners for various projects, and includes incident management, a knowledge base, bulletin board, document repository with versioning and notification, and a handy e-mail archiving system too. It has a few plug-in options, including a GANTT tool, and an on-line update capability. It uses LAMP, but will also run under Windows if you're able to set up MySQL, Apahce and PHP correctly.

    See: http://outreach.sourceforge.net [sourceforge.net].
  • by Boss, Pointy Haired ( 537010 ) on Saturday October 05, 2002 @06:21AM (#4392716)
    Seriously, roll your own.

    There's nothing that meets your requirements better than something you rolled yourself, so get to it!

    • Agreed. Be careful though. It is easy to lose sight of the goal and spend all day building tools--they are usually more fun. Treat it as a project. You have v0.1's requirements. Allow it to evolve, but have enough flexibility and extensibility in the early designs so they don't have to be extensivly reworked.
    • by the red pen ( 3138 ) on Saturday October 05, 2002 @09:46AM (#4393084)
      Every software development life cycle (SDLC) methodology I've ever seen starts with a phase called "requirements analysis." They always will, but what's implicitly understood is that the definition of "requirement" varies radically with the type of project.

      One place you won't find the terms "requirements analysis" or "requirements management" used outside of specific examples is in the Project Management Institute Body of Knowledge (PMBOK), which is (get this) an ANSI standard for project management.

      The PMBOK dispenses with the concept of a project as a sequence of segmented phases and describes a project as the outcome of several "process groups" that wax and wane in importance during the project. When you talk about "requirements management" you are cutting a broad swath across these process groups and invoking activities such as risk management, scope management, resource management. time management, and so forth.

      For example, the first process group is "initiating processes." What drives your organization to authorize a project? If your requirements don't relate directly to that, you're already on the wrong track.

      My main exposure to SDLCs was in professional services; limiting the context to "outsourced project" already answers some of the questions I raised above. Some guys I worked with at PwC consulting had the best approach to requirements management (within this context) that I saw. (Yes, I realize that PwC Consulting changed its name to "Monday" and sold iteself to IBM, but despite outward signs of insanity, these guys had the SDLC methodologies down.) Anyway, at the commencement of each project, they would write a custom requirements manager in Microsoft Access. At the end of the project, they'd throw it away, because it was never quite the right one for the next project.

      The cliché that comes up in every Java vs. Perl flame session is "use the right tool for the job." Unless your projects need to follow some kind of rigorous methodology (like DOD contracts), you should plan for variation. Put together a suite of tools (there are already some excellent suggestions) and include as part of the planning for a new project "tool selection" and let the project team deploy these tools as best suits each project.

      The PMBOK definition of "project" specifies that a project be "unique." If it's not unique, then it's not a project, it's part of some ongoing process. Very insightful: all projects are unique.

      • Why is creating your own requirements/projects software a good idea? This to me does not make any sense.

        1) Outside the team's core competency. Presumably the development team was picked in order to compliment each other in terms of the products or services of the company. (e.g. just because I know JAVA, doesnt mean Im familiar with SWING or I like doing socket networking)

        2) Time and more importantly Focus. The team wants to work on the real project, not get all muddled up in trying to write from scratch software just to get the project started

        3) Resource management. Sorry all you technologist here on Slashdot, but buying vrs building your own is a business decision, not a technological one. Is it worth it to me to spend X amount of dollars or Y amount of time. I would make the assumption, since the poster here wants an open source project to start, that money is a concern. Time is more costly than cash! Having my team of developers spend their time working on a software solution means that as a manager I am a) paying their salary during that time and b) delaying when I can get the real project started, getting that product/service to market, or using whatever effeciency that product/service was intended to give me.
    • Since I am just about done reading The Cathedral and the Bazaar, I would also like to add that if you roll your own, it would probably be in your best interest to make the project Open Source once you have a working version. After all, you wouldn't be losing out on any revenue from it, it would probably benefit others, and you would greatly increase the number of devlopers working on it.

      The company I work for has some deal with Rational, so we are tied into using their products. :(

  • We are using Aegis (Score:3, Interesting)

    by Anonymous Coward on Saturday October 05, 2002 @06:50AM (#4392736)
    Aegis is a nice configuration management tool:

    http://aegis.sourceforge.net/ [sourceforge.net]

    It has some of the wanted features.
  • by hashinclude ( 192717 ) <slashdot@NOSPAM.hashinclude.com> on Saturday October 05, 2002 @07:19AM (#4392762) Homepage
    I agree it won't be fully integrated solution, but you may consider some tradeoffs.

    Wiki (the interactive collaborative system, implementations I know of being TWiki and MoinMoin Wiki) can be used pretty effectivly for a lot of these things.

    I have tried using it. It does take a little getting used to, but once people (developers I am assuming) are hooked to it, there's no turning back. And i'm speaking from experience ;)

    As T/MoinMoin are open source implementations, you may even be able to integrate it into bugzilla without too much difficulty.

    Hrishikesh
    • I have never seen a WikiWork

      The links are never UptoDate, there are LeafPages everywhere with NoContent. Or even worse there are LeafPages that say 'Note to self, put content here.' Half the pages should just be RetiredYesterday but no one ever seems to DoIt.

      www.worldforge.org is a PrimeExample. I'd love to know where they are in their CurrentDevelopment, but I can't find a DamnThing on the site.

      So what are wikis actually good for? Very short term collaboration and note taking with a very few number of pages. Everything else is just WikiMastrubation.

      Everything2 might be a great wiki derivitive but only because they spent alot of time tweaking it for a more specific purpose and threw out alot of the Wikiness.
      • There are lots of dead Wikis on the Net, just as there are lots of dead static websites. Lots of Wiki usage is within intranets, where it is often successful because people really need to share information of various types that is not highly structured. Some of these Wiki sites have upwards of five hundred users and thousands of pages.

        The original Portland Patterns Repository wiki, by Ward Cunningham, is one example of a public Wiki that remains quite active.
      • I have never seen a WikiWork

        I have used a Wiki happily for collaboration between a distributed team of eight (all working fractional amounts) over the course of the last ten months. We used it to track all requirements, to keep manuals, and as a general project intranet. Our project enough of a success that it was covered twice in the New York Times, so we must have done something right.

        On another project, I successfully used it to keep a distributed team of architects in touch, building a common coding standard, a common design standard and as a repository for a lot of tools, tips, and tricks.

        he links are never UptoDate, there are LeafPages everywhere with NoContent. Or even worse there are LeafPages that say 'Note to self, put content here.' Half the pages should just be RetiredYesterday but no one ever seems to DoIt.

        Is the problem that nobody in the team gives a fuck about communicating or writing things down? Or is it that they put the information somewhere other than the Wiki?

        www.worldforge.org is a PrimeExample. I'd love to know where they are in their CurrentDevelopment, but I can't find a DamnThing on the site.

        Then maybe you could GetOffYourAss and write it. Content doesn't magically appear in Wikis. Somebody has to put it there, and the person who wants it is often the best person for the job.

        Note also that you may be trying to use Wikis for the wrong thing. Wikis are topic-based; things like a StatusReport will only get updated if the people who have the knowledge find it useful to put the knowledge there.

        If you want a Wiki to be adopted, you need to rig things so that the people with the knowledge find that the easiest thing to do is to put the knowledge in the Wiki.
    • I had a similar thought, but sans Wiki only because I haven't used it much (seems interesting though).

      I think that guy might be well served by viewing his need as a bug tracking system that he can use for requirements management, rather than a requirements management system that he can use for bug tracking.

      I was on a project a while back where the QA lead entered the requirements doc point-by-point into the defect tracking system with each functional requirement tracked as a missing feature.

      Sounds awkward, and at first it even ticked a few of us off to have a bunch of bugs logged against us when we hadn't even begun coding yet... but it actually worked pretty well.

      Not ideal for a few reasons, most notably because moving information between the requirements doc and the bug tracking system is a tedious manual process, and because the mapping between them can be ambiguous and the source of some contention. But, if you can't find just what you want, and can't justify investing the time to build just what you want, it's another option.

    • If you are going the Wiki route, I suggest you evaluate ZWiki [zwiki.org]. Zwiki is a Zope [zope.org] product that adds Wiki capabilities to Zope. this gives you the flexibility of a Wiki with the power of the Zope framework.
    • We use a Wiki where I work, but it's really only something for a small development team. Basically we put all our plans up, useful links, etc. Some tips:
      • Don't make blank pages. If you aren't ready to write content for a node, don't create the node.
      • Refactor a Wiki's organization like you would source code.
      • Use a Wiki like a FAQ. When someone asks a question, add a node to the Wiki.
      As for requirements management? The only real way it falls short is, my boss wants to build "requirements documents" to archive and "sign off" on. I'm sort of working on my own version of wiki 2 docbook [tldp.org] but it's still alot of effort.
  • tutos (Score:5, Informative)

    by AX.25 ( 310140 ) on Saturday October 05, 2002 @07:22AM (#4392767)
    http://www.tutos.org

    Seems pretty complete. I'm looking at using it.
  • Cecky out Jira.. its only $800 per server.. people swear by it..

  • Tigris? (Score:3, Informative)

    by Anonymous Coward on Saturday October 05, 2002 @07:37AM (#4392785)
    We had a similar requirement at our place of work. At that time Tigris was open source and we were able to get it to work for us. The software is truly amazing...

    Though no longer available as OpenSource (Free!) product, CollabNet provides this platform for Collaborative Development to interested parties as a Hosted Model for a fee. Check them out at http://www.collab.net/ and while you are at it, you might get a feel of the features provided by checking out http://www.tigris.org/

    We tried SourceForge too when it was open source/free. But finally decided to go with Tigris as it was more flexible and suited us better. YMMV!!

    -Sumit Dhar
    • Re:Tigris? (Score:4, Informative)

      by Phoukka ( 83589 ) on Saturday October 05, 2002 @10:12AM (#4393177)
      Okay, I am not familiar with the SourceCast product from CollabNet, so I can't speak to its features, and I'm talking out of my wazoo. However. Every piece of software on www.tigris.org is open source, most using the Apache license. And, while I'm sure that CollabNet is doing something really interesting to add value to the packaged-up whole that is SourceCast, I'd be willing to bet that what they are doing isn't THAT much more than building an integrated package. If anyone out there has more info, please chime in, but my bet is that SourceCast is an extremely cleanly-integrated packaging of www.tigris.org components such as Subversion, Scarab, Anzu, Eyebrowse, etc. And, frankly, those individual components look very useful in their own right. So, maybe your first project might be to find individual components that meet some of your requirements, and integrate them yourself.

      To the original poster: I don't know if it could be adapted for your purposes, but you may well want to check out Forrest, at xml.apache.org [apache.org]. I have been examining it for my own use, and it looks like it might make a very interesting part of a distributed development framework.

      Good luck, and let us know how it turns out.
      • Re:Tigris? (Score:2, Interesting)

        Sourcecast sucks ass in so many ways, it is not even funny anymore. We have to use it on a daily basis at openoffice.org, and nothing is possible. The source is closed. Yes, the components are freely available, but the glue isn't. and the glue is what makes this thing tick. They have knocked up the infrastructure using some "WebMacro" kind of stuff, but none of the documentation is available - CollabNet say it is a "trade secret". This means that people hosting stuff at CN cannot customise their sites, and cannot do anything really more interesting then static HTML. I have some issues with how SourceForge run their club, but if you have to compare the two, SF.Net blows them away on every turn.
  • by Steve G Swine ( 49788 ) on Saturday October 05, 2002 @07:56AM (#4392811) Journal
    It's hard to recommend something without knowing what your typical project size is. You want to run something that'll take 500 staff hours of effort much differently than something that'll take 5000 staff hours... or 50, or 50,000.

    And what's your key objective? Do you need to show something by December 1, or can you project any date as long as it clears a well-defined quality test on that date?

    What's your need for accurate tracking of progress? Do you need to tell people something believable every week about when they can expect the THING that they've ordered, or can you just say "we're working on it, and we're somewhere in the middle?"

    All that said, the approach I've seen work the best is an email folder, a spreadsheet, and a brilliant dedicated experienced person who kept it all in her head and spoke the right language to everyone concerned. Get whatever tools you want - as long as the craftsmen are right, everthing else will be fine...

    Or, y'know, not. Good luck, comrade.

  • why? (Score:4, Insightful)

    by Mr. Slippery ( 47854 ) <tms&infamous,net> on Saturday October 05, 2002 @08:00AM (#4392819) Homepage
    I have used your basic Word docs and Excel spreadsheets in the past for this but it just simply wasn't up to snuff as far as I'm concerned.

    Why not?

    Seriously. I've worked on a few projects of some magnitude [infamous.net] and we never used any "requirements management system" more special than standard document files. (Of course, you shouldn't be putting any data at all in proprietary and virus-ridden Word or Excel formats, but there are safe and open alternatives.) Heck, they managed to put a man on the moon with a "requirements management system" that probably consisted of three-ring binders.

    Ask yourself: is using an fancy-pants automated system going to simplify or complicate the process?

    • why not? lousy revision control. hard to diff
      • If that's your only concern, text files would still work. Just put them in CVS or use RCS or SCCS.

        Although, perhaps a more elegant solution (I'm thinking about XML right now because it's easy to transform into other formats like HTML or WML) would be nice.

    • Yeah, I have yet to see a system that worked better than the following (find your own open source equivalents if that's truely a requirement):

      • Word docs / HTML pages for the requirements and specifications.
      • Excel for workitem lists. Enter the data correctly and pivot tables, etc. become very handy.
      • SharePoint for managing the above on an intranet.
      • Good bug tracking software. For some projects we've imported workitems into the database, especially the unfinished or postponed ones. The bug database should allow you run queries so items for the next release can be filtered out in your daily usage.

      Of course, don't forget to implement a good version control system, checkin procedures, daily builds, yadda yadda. Read Rapid Development [amazon.com] by Steve McConnell for some good info. This site [joelonsoftware.com] also has some practical articles and recommendations.

      Oh, and above all, this needs to be as transparent and easy to use as possible, otherwise you put an unnecessary burden on your development team.

    • Why?

      Because it's hard as hell to extract decient matrix out of spread sheets and word docs.

      Configuration management of you well configuration management is also a nightmare with plain docs, why not have a system that self manages?

      If I was building a project management system it would be !somthing! like this.

      Bill comes to me with a 'project'

      I put the project into the management tool, and setup who's going to do some requirements and feasablilty analysis on the project (to see if it's worth taking on and what were going to charge).

      The project is now have a few nodes for various elements, and the node link up to the staff.

      We decide to take on the project, by this time there are a few more nodes giveing some top down requirements and some time estimates.

      A manager is assigned to the project, the manager assigned different teems to the various nodes (this could include businss analysts and managers depending on the node type).

      Each team itterates through the process, reporting back to there parent nodes (there manager), tasks are assigned, completed and reviewed. Bugs are tracked against the various levels of the project (down to source level).

    • I have worked on some serious closed source projects and the whole thing was done with Office 97 (Office 2000 was installed only this year) and mostly on Excel and Word with MS Project for the GANT charts. We pushed the limits on some of these tools (particularly Excel) but we were able to coordinate across some massive projects.

      There are a lot of really neat tools knocking around, but the starting point should be a standard office system and most importantly standard templates. Open source is prefereable but O97 did it for us.

  • by kerskine ( 46804 ) on Saturday October 05, 2002 @08:19AM (#4392853) Journal

    I read your specification for your requirements system, and it left me with a distinct impression that you're trying to use technology as a substitute for your company's management. No system is going to make a mediocre team better - this is true for any organization regardless of size. If you're putting together a team, concentrate on the people first. A strong team will be able to credibly explain to management the impact of requirements changes better than some report from a system that most of your management can't even grasp.

    Remember - build a great team! Good Luck

  • by Anonymous Coward
    ... or whatever bug reporting tool you plan to use.

    Nice things about Bugzilla in this context:

    * Use 'enchancement' for requirements, and have them all owned by the project manager until they are finalized and assigned to a developer.
    * Lots of feedback possible from all parties
    * Use Milestones in order to get the r1/r2 distinction for reporting purposes -- bugs included and sortable.
    * It is truly free

    Works like a charm -- I used this for the dev group I set up from scratch to build a complete router/gateway system... It's not perfect, but, hey, what is?

    Cheers,
    matt.
  • by fleabag ( 445654 ) on Saturday October 05, 2002 @08:44AM (#4392907)
    Here are a few thoughts - I've done similar things on large projects, so it might be useful.

    1) For requirements documents, Word is not a bad choice. You will need narrative, formatting and pictures - becuase the one of the target audiences for this is the sponsor of the project and the business people who are paying for it. They have Word on their desktop, they understand it and they can print from it. (Note: I don't like MS any more than the next person, if you have a company preferred alterntive, then use it). Without nice pictures explaining what is happening, the people who are paying for your project won't understand what is going on - and confused managers are dangerous managers in my experience!

    2) The point at which we reduce the requirements document to something unreadable is the creation of the Test Model - linking requirements to test conditions. For this we use a home rolled Oracle DB that we use to populate test scripts via ODBC. The test scripts and model are all Word based. (Sorry :-) ). We may be going to RTF soon becuase they are easier to generate from the Sun boxes we have at the back end.

    3) You are asking for a CMM 3/4 type of environment. That implies a very rigorous development approach - in order to do the impact analysis of changing your encryption algorithm, you need the developers and designers to be really thorough. If they are not, then all the tools in the world won't help.

    4) If find it strange that you are not starting with version control. From my perspective, knowing that encrypt.c version 21 was changed by developer Fred and went into build 723 which became Release 3 is the most important thing. I have seen many projects fail becuase of a lack of version control, and I have seen projects fail becuse they did not write down the requirements. I have never seen a project fail becuase they did not use the right tool for their requirements.

    5) We make sure that bugs fixed in one release get fixed in the next by raising multiple problem requests; one for every phase in flight. That way it doesn't matter if Phase 5 is in design or build - someone has to address the problem request and sign it off.
  • Enterprise Architect, http://www.sparxsystems.com.au has a superb requirements management part, which allows you to very easily map use cases to requirements, assign versions, and generally be pretty wonderful.

    Though it's not open source, it's only $150. Windows only. It does excellent web-based export of data too, and powerful database replication.
  • A combination of maybe Sourceforge with Bonzai and the Mozilla development tools have been considered.

    I dont think theres an all in one solution out there, but by combining a couple of tools, one could get all that desired functionality plus more.

    Just an idea.

    McDoobie
  • Why web based? (Score:4, Informative)

    by dmouritsendk ( 321667 ) on Saturday October 05, 2002 @09:09AM (#4392968)
    "Has to be web based. We are going to be spread all over the country and i see no other realistic way of doing it."

    Why is it that every time somebody plans a new multi-tier application, it seems like a browser is the only "realistic" option for the client? Don't get me wrong, i think browser based clients (if designed correct) can be great. They offer ease of use to the user, and are basically platform agnostic. Also, web servers offer are a easy way for a developer to use server side program logic(as opposed to using component services of some sort in a custom build client app).

    But just remember, web clients aren't always the way to go. In your case for example, I would think a custom created client might be a better solution. Since a custom MDI applications still offers far superior multitasking capabilities as opposed to a browser client solution, meaning you spend less time working with the application and more time working with the data in the application. The larger a application get, the less suited for a browser it becomes. Who for example would like to use a browser based C++ IDE? It would be possible (though stupid) to create, but 1000000:1 you would prefer to use a compiled gkt/kde/mfc/whatever based application.

    Also, when using a custom client you can actually use that 500Mhz+ badasso processor that resides in most computers today. So instead of doing EVERYTHING on one maschine(the server), you can spead some of the application logic (like generating rapports ect) out on the client. And then just handle the most basic program logic(log in/out etc) on the server.

    The geographical differences aren't a problem either, just use a database that's accessible from all the companies locations (simple networking task) in conjunction with the custom made client app.

    Just my 2cents =)
    • There are quite a few reasons for making it web-based; the main one is that applications -- and this includes company-internal applications -- require maintenance and upgrades; clients on each desktop make for a sysadmin's nightmare. Depending on context, platform-neutrality may also be important.

      Most of the advantages you cite for clients can be gained through Java applets, w/out compromising any of the advantages of being web-based.
  • You have a great first project for the development team you are putting together.

    Seriously, a project like this is a great way to see how the team is going to work together. And really, this is a better way of finding out who should be a tech lead, and who is just a developer. Remember, tech-lead shouldn't be a gift to the person with the most experience... It is a different skill set.

    --T
  • Here are some ideas....

    Project and group management:
    http://www.phprojekt.com/
    http://php groupware.org/

    For documentation, check out Doxygen:
    http://www.stack.nl/~dimitri/doxygen/

    HTH...
  • by Anonymous Coward
    http://www.phprojekt.com
    Free, functional, I use it /w my company. Works very well & offers more functionality than any of the other projects I've seen posted above. I didn't make phprojekt, I just vouch for its usefulness.
  • Sounds Interesting --- has anyone considered the requirements _generation_ process? Maybe a
    slashdot - style web-based system where the process looks like this:

    1). Anonymous coward proposes a system requirement
    2). Discussions about the requirements abound...
    3). A moderator mods it up because it might be insightful (or down...)
    4). Requirements with a score of 5 get added to the real requirements.... Those with high karma
    get raises and promotions....(or respect and admiration with OSS) etc...

    Once requirements are in the system, it's just a database - blah. We really want to improve the product and the developement process, right?

  • by Anonymous Coward
    I agree with several of the posts that says this should be a project your team takes on.

    Our SysDev team built a web-based work request tracker with issue and work history (management gets a pretty report from Crystal Reports that shows weekly work for team - no matter which work request they devoted time to), and it fit our requirements perfectly because we built it!

    Some of the requests we get are simple "build me a report" type projects, which don't need the level of requirements and version history tracking that you outlined, but some of the large projects definately do - and in fact, I might borrow your requirements to run past management to see if this is something we might want to implement.

    (not that this helps you in anyway, other than points out the fact that the best fit software is rolled in house - if you've got the resources to pull it off..)
  • You're correct, you are in a fortunate postion, being able to select company-wide development tools from scratch. Do you have other requirements for which you've found solutions?

    Some of us might find your requirements and selections interesting and it would provide more detail re: what PM software would be appropriate for you.

    And the rest of the readers will appreciate the opprtunity to flame and argue over your other choices. ~:-0.
  • I would suggest cvs [cvshome.org] and index cards [c2.com] for now, and get something else in the future if you end up needing it.

    It will save you time and money because you won't end up buying/writing something you don't need. And you might be surprised how useful index cards can be...

  • I think sourceforge could help you out a lot. Stay away from the alexandria project, it was not a very good public project when it was active and has been in active for about a year now, use the debian-sourceforge packages hosted on savanna:

    Sourceforge for Debian [nongnu.org]

    This project is a _working_ easy to install sourceforge system based on the last known public sources before VA pulled it in and made it proprietary again.

    The two main authors (lo-lan-do and cbayle) have done an outstanding job fixing bugs and hard coded stuff VA left in there (which I think they did on purpose to make it hard to install so you had to pay them their USD100k to install it for you basically) and getting a nearly fully functional system that is accessible to all.

    I like sf as a development management system very much, even though the public version they left out there is far from perfect, with several features missing that I think are close to essential for a dev mgt system, but overall I am more than willing to live without them for the rest of the features of sf and its easy to use interface for end users.

    If you don't know the nightmare of installing the old 2.0 or 2.5 version then you will not appreciate fully the work of these two folks to bring sf to the average user. My thanks to them and I encourage anyone who might make use of their packages to contribute back to them in some way to say thank you.

  • by Anonymous Coward on Saturday October 05, 2002 @02:03PM (#4394058)
    I would like to have this sort of tool myself. I've been at enough startups where the requirements are in constant flux and are "managed" in the great verbal tradition. I used Requsite/Pro once (4+ years ago) and it was awful.

    I used Xplanner (http://sourceforge.net/projects/xplanner/) for a small project last spring and found it useful for a small project.

    You might also look at Jakarta Maven as a related useful tool

    I would add to your wishlist:
    * linkages to design specs, test cases, defects and source modules.

    * Team-based time estimates, project management hooks and actual time effort measures. (how can you commit to a schedule without knowing you velocity, vicinity and vector?)
  • "I have the wonderful (and rare) job of building a development department from scratch."

    So, here's the question I'm sure a lot of us who are currently not working were thinking when we read that opening sentence: When will you have openings for developers? Where are they?

    --
    brother can you spare an internet connection?
  • About a year ago I was faced with the same problem; I run a deployment program for design/construction rollout of telecommunication cellsites. (Not software development, but the problems in civil engineering are probably quite similar).

    I took from an open source project (then in it's infancy), and enhanced it for our needs. We now have web based project management software that fits our needs very well.

    Of course, we fed our improvements back into the source (and I have become one of the developers). Isn't that what open source is about?

    So, use the force behind open source, develop your own from what you can get. Then return, what you've learnt to the community.

    Oh, and if you're interested: Have a look at
    http://sourceforge.net/projects/core-lan-org
  • Dollar costs (Score:2, Insightful)

    You say that you have issues with spending $1200-$10K per seat for a requirements package.

    Let me point out that your company is already planning on spending, fully-burdened with overhead, nominally $250,000 per seat on your developers. That is salary, benefits, cost of office space, cost of lights, cost of PCs, secretarial support, janitorial support, bathrooms, water fountains, time spent perusing the lastest zero-information-content puffery from the Board of Directors, everything. $1200-$10K per seat is pretty small potatoes by comparison.

    Having said that, I suggest you take another look at your wish list and ask yourself how often you REALLY are going to *USE* all those bells and whistles. Do you NEED them, or do you just WANT them? Do you NEED one-button brass-band-Mozart, or do you just need to be able to pull the data out OCCASIONALLY for a right-now CEO presentation?

    Your payoff occurs when you automate the things that happen every day. Spending a fortune to automate the things that never happen is wasting time and money.

  • Defining where you are going is a critical part of getting there. Knowing how fast you're moving toward a goal is critical to knowing when you will get there.

    Anyone else been a part of a valley death march?

    Anyone else gotten stuck in the middle of long-winded discussions of what a requirement _really_ meant in the last week of a year-long development project?

    XP makes a good attempt at getting requirements defined and building incrementally towards a solution.

    CMM represents all of the key software processes that might be important to your organization.

    In my experience you have to tailor any development process to the skills and experience of the engineers; the scope and complexity of the project; and the clarity and understanding of the end goals.

As you will see, I told them, in no uncertain terms, to see Figure one. -- Dave "First Strike" Pare

Working...