business requirements software

hey guys,

what methods do yall use to collect and collate the business requirements, translate it to user requirements, functional spec, non-functional specs, use cases, test cases etc?

sure can definitely use excel, word and emails to do it, but i thought there might be a better way to do this.

so for this is what i've found and ranked by how good i think they are (i've not tried them yet but am in the process of creating a trial account with them)

1) http://www.blueprintsys.com - this looks like the heaven of business requirements and all
2) http://www.jamasoftware.com/ - this looks really good as well (but from the scarce videos on their website, a significant cry from blueprint. this costs USD 1,000 a year rental and USD 2,000 for perpetual licence - but gotta pay USD 400 every year for maintenance.)

there are others as well i've found but wasn't worth noting down cause it isn't cloud based or the sales people didn't bother to call back / the website was not working (what?!?!?!!!)

==============================
i realise an IT project isn't so scary if we have everything properly mapped out and there is a sanity to the system. if everything is just all verbal and just communicated informally, it is a huge nightmare - one which i'm facing now. of course that being said i am an inchoate developer and have much to learn.

Questions
1) i'm interested in how  yall do it in software development companies
2) i'm even more interested how yall do it as lone developers - cause though we're lone developers we need to co-ordinate with our customers and stakeholders and therein lie the massive co-ordination and possible blame game.

help help guys! i think this is so important!!
developingprogrammerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I'm a single man shop, and I use CaseComplete (http://casecomplete.com/). I don't know if it's cloud based or not, but that would not be a requirement for me anyway.

That said, be careful with "over engineering" a project. While I'm a fan of requirements gathering, I've seen it taken to the extreme, with programmers trying to get customers to sign off on every little thing involved, down to the color of the buttons used on each individual form. If the customer had that level of knowledge of the system, they'd likely be building it themselves.

I've also seen it the other way around - a programmer gives a client a quote of 50 hours, with no idea of what will be done, milestones, etc etc.

So (as with all things) there is a balance.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Jeffrey CoachmanMIS LiasonCommented:
Another point of view...

There are software packages to help you build software packages,  I never had a need to buy a software package to manage requirements, but you can investigate them if you like.
(You may spend more time learning the software than actually gathering any requirements...
;-)

I typically don't build really high ('Enterprise") level Access databases, ...but the most important thing is that you Client knows exactly what they are looking for.

For example, you'll get a client who starts a business and asks you for an "Employee Database"
Sound simple right?
ID, DOB, FName, LName, Address, Phone, Email, Department, HireDate, BaseSalary
But then they start asking for things like multiple emails and phone numbers, then Fax numbers, then alternate Addresses, emergency contacts, ...etc
Now you have to redesign you one table, into a Many-To-Many
Employees-->EmployeeCommunications<--Communications
...system. (One employee has many communications methods and one Communication method can be for many employees.)

...Or now that want to: track hours, do payroll, taxes, benefits, vacation/sick accruals, overtime, imports and Exports ..etc

Design changes like this are what really slow you down.  because now you have to "normalize" the existing data out to the new design.
Yes, there is a wizard in Access (Table analyzer) that will help, ...but it will never be perfect and you will have to do a lot manually.
Couple that with the fact that many clients do not grasp the concepts of Normalization/Keys/Relationships, ...and this "simple" project can be come a nightmare fairly quickly...

This is all before you even get to things like, interface design and reporting, security, maintenance, help systems, ..etc
So here, setting all of the requirements up-front saves you time in re-negotiating your pricing.

What I try to do is too get the basic requirements then create a mock-up database.
Then show it to the client and ask them if it is "basically" what they want.
Then go from there.

Another thing is that everything (the Requirements) be documented *IN WRITING*.
Do not work off vague DB requirements like: "Cost Tracking", "Repairs", "Training", "Service", ..etc

There is nothing worse than handing in a project and then the client saying: "I thought I asked for way to track the department changes of an employee?, ...remember?, ...we talked about it over the phone."
Now, (before the client pays you), you need to add in all these little "tweaks", that sounds simple to the client, but require huge investments in your time to implement.
Now your billing/cost/profit is shot.
...Because what you thought was a fair price for the time invested can now double. ...and the client wont see a reason for the price to increase for these "little tweaks"...
I am not sure what level of client you are targeting, ...but I am sure things like this exist at the higher levels as well...

With MS Access you also need to be careful that you are not recreating the wheel.
For example, many clients will look at the cost of a Contact management package like Act! (270-550 USD), and think that a custom Access database will be cheaper and better.
In most cases, this is not so.
If you are charging even 50$/hr, (low end), then this means that you need to be 100% finished with this app in about 10 hours.
I don't know of any Access developer that can create a product as full featured as ACT! in 10 hours...

Also note the "Inventory" database.
Inventory systems tend to be expensive and confusing for new businesses, so they look for a cheap/simple solution instead.
Inventory systems are complex and expensive because they have to be.
I have seem many threads where LSM has had to help members here with the many complexities of designing systems like this...
(BOM explosions, LIFO/FIFO, Price History tracking, back-orders, Returns, waste, split payments, ...etc

So here you need to perhaps NOT look at a project and say: "Yeah, I'd like to make money on that"
...and instead ask: "Is something that already exists?" ...or: "Is this worth my time and resources?"
Nothing worse than a client complaining to you that you charged $1,000 for a product they could have bought off the shelf for $250

Finally consider if the requirements are outside of your skills.
Many developers debate this, but you need to consider if the client pays for your "Education", or if this is something you will absorb.

Hope this all helps as well...

;-)

jeffCoachman
0
developingprogrammerAuthor Commented:
Whao DEFINITELY Jeff!! I am going to re-read your comment again a few times then reply = )

LSMConsulting, yup that definitely looks like a very good piece of software. I have to check it out further in detail. I usually have cloud collaboration as a requirement cause only then is it scalable = )
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

Jeffrey CoachmanMIS LiasonCommented:
Yes, I saw that the focus of your Q might have been about "software" for tracking requirements...

Just know that LSM, has been in this game for a lot longer than I have, so if he says something is worthwhile, you can believe him.
so, if you plan on jumping from being a "developingprogrammer", to a programmer doing high level projects, then this may be a worthwhile investment.

But, again for me (I rarely build enterprise level projects,) , ...I don't really have a need for a dedicated software to help me track software requirements.

I'm sure it can help, but sometimes learning to use a software package to track requirements may take away from the time you could spend logging the requirements yourself.
For example, is the software going to tell you if a project is worth your while or not?

In other words, ...just like anything else, ...if you don't know how to do something manually, then it is not clear if a software package will help either...

So my (rather long winded) post was just to explain the logic behind doing this yourself

;-)

JeffCoachman
0
developingprogrammerAuthor Commented:
Haha Jeff, I'm a "programmer" doing high level projects now so that makes me a "disasterprogrammer". I DEFINITELY want to invest in a software for business requirements cause it's so super important!!!
0
Jeffrey CoachmanMIS LiasonCommented:
Then you can ignore my post and stay with LSM....
0
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I usually have cloud collaboration as a requirement cause only then is it scalable
Cloud collaboration has nothing to do with requirement gathering. If you need to do meetings, then use Join.Me (the Pro version is a good investment, IMO).

Jeff makes some very valid points - all the software in the world is not going to replace experience, and requirements gathering is as much about that as anything. Knowing what questions to ask is just as important as asking them. The only way to get to that point is by doing requirement gathering over and over.

Also, many times developers (and especially Access developers) seem to be all over the board in terms of application types, and that makes the requirements process much more difficult. An app to manage Medical Coding, for example, requires a MUCH different requirement gathering process than does one that manages the creation of Widgets.

So as Jeff suggests - instead of worrying which software is best to use for requirement gathering, hone your skills in that area and THEN make a choice of software that fits your needs.

I didn't actually being using Case Complete until I was involved with much larger projects. It's definitely helped me, and has benefited me greatly, but I don't know how much good it would have done me 10 years ago ...
0
Jeffrey CoachmanMIS LiasonCommented:
developingprogrammer,

I am always learning too:

1. The link LSM posted: http://casecomplete.com,
...led me directly to a video that clearly explained (*in plain English*) what the product will do.
The interface looked clean, complete and, (above all), easy to understand.

2. The to links you posted were very hard to navigate their sites, and I was not even sure of what the product even did exactly...?
I am sure that they might be great products, ...or perhaps just too complex for me to understand...

So here I will step aside and let you continue on with LSM.

I know that you try to be fair in distributing points, ...
...but really, ...I don't want any for this thread... I always tend to be a bit long-winded, but that is no reason to assign points if the post does not address your issue directly...

Based on what I see, the link that LSM posted looks like it should be your first choice to investigate ...

JeffCoachman
0
BitsqueezerCommented:
Hi,

in my current project I am in the phase of writing down and discuss the requirements for a big Enterprise Resource Management project with the people who wants to use that later.

We started using the free mindmap program "FreeMind":
http://freemind.sourceforge.net/wiki/index.php/Main_Page

But as the thing grows bigger the way of displaying a mindmap got more and more uncomfortable (although this program is really stable and very good and really easy to understand and use!). So I searched for another way of displaying the points with a treeview and edit the requirements as RTF free text and the only free program which I've found and which could do that good enough was SEONote:
http://www.seonote.info/

Unfortunately this has some bugs (but fortunately there are simple workarounds and there was never a loss of data and the program didn't crash at any time) and the last development was in 2008, but nevertheless, we are working with that since April this year every day 8 hours and it perfectly fit our needs to write down the requirements.

The points are:
 - you can create a "folder" structure like with Windows Explorer where you can click on any node on the tree and enter the text on the right side with a more or less comfortable text editor with formatting options like usual in RTF files.
 - any node in the tree can have an individual icon from a predefined list of I guess around 100 icons, enough for us. With the icons we can mark the points i.e. to see which is new, which is open, which is completed and so on.
 - any node can have an additional checkbox if needed.
 - the text area can also add attachments, pictures, tables and so on, enough to describe anything around requirements.

What we've done: Created one node for each main module (like "Stock", "Supplier" and so on). Inside each node we created any number of needed submodule nodes. Inside every submodule we added one node for "Open" where we enter quick entries which we want to discuss later, a node for "Field list" where we describe any field which appears inside of a form or report and any further nodes to describe parts of the submodule.

On this way we have a very quick and easy tool to prototype any theme in discussion with users, managers, programmers (in this case only me) and so on. Beside that we save some Excel files which are used to prototype forms or reports to have a simple way of seeing "how it works" without to add too much details. For example, the order of columns in a continous form, some demo data to see if that can work what we discussed in the SEONote tool and so on.

In the end we have a design document which I can use later to create a data model and so on. There is of course no tracking tool, no professional tools like in the tools the others have shown you above, but maybe we will find a way to track that with any kind of usable tool. For me the tools above are very much too complicate, I always found that I've never the time to enter the needed data to make the result they produce meaningful. I jump so often between very different points of an application that I would need twice the time to create a running application if I would feed such tracking tools. But as I told you before, I'm more a "chaotic programmer" - I have enough overview to fulfill my goal, but I want simple tools for overview or tracking but all I found were tools which are full of parameters which must be filled, very much more than I ever need - so I don't use any of such tools until now. Maybe I must write such tool on my own...:-)

Cheers,

Christian

PS.: Here are some other free tools which are a good help in design:

http://www.heise.de/download/papdesigner.html
http://www.yworks.com/en/index.html
0
developingprogrammerAuthor Commented:
hi Christian, whao telepathy!! i was just thinking about asking you how you did your business requirements when i received your email = ))

whao Christian, can you believe that i embarked on a semi major project (it's actually 2 projects joined into one but kept as separate interfacing components) WITHOUT any written business requirements??? my goodness. i can't believe it.

right now, i've thoroughly tested Jama and it is the software i'll be using for sure. because it offers literally EVERY single thing i need. yes i need to key in more data like what you said Christian but unlike you, i'm not a "chaotic programmer". i'm a "disaster programmer". so having a software which acts as a framework to give me adult supervision is most helpful = ) it also integrates with Rally - which is a scrum software. i don't really like rally - i prefer ontimenow - it's a really fantastic piece of art, only thing is it doesn't have repeating tasks!!!!! if not i would have ported my LIFE onto it already. using asana to manage my life now. but for the last 3 months my life hasn't been managed - got 3,500 emails, so i can't say that i'm using asana now ha. sigh.

right now, i'm being completely blown away. because 1) my whole world is being changed by Jama - i'm finally documenting all my business requirements, linking to user requirements, functional requirements, business rules, non-functional requirements, testing, defects tracking - the entire suite. 2) my whole world is being blown away cause i'm finally introduced to the world of TESTING.   o h   m y   g o d . (i apologise to any religion folks here by using that figure of speech) i really, really, really can't believe it. hrmm it's like a stupid dumb child thought that he successfully built a sand castle on the beach so he could build a sky scrapper. can you imagine how dumb that child is? you probably can't cause you'll surely never experience it but..... i experience it cause the dumb child is me!!! ha

i finally see the amount of work that lie ahead of me and i'm.... completely floored. i'm like. holy crap. it's good in a sense, it's bad in a sense. it's good that yes i'm a completely changed programmer. i will NEVER be a disaster programmer again cause i will write out the entire cycle from business requirements to test cases AND link it to scrum so i know  what's the effort required, BUT bad in the sense i kiiiinnnnddaaa finally see how screwed i am now ha. you know, this period, i've been trying to hide my head underneath the ground like an ostrich so that i don't see anything and pretend it's all ok ha. (ok probably ostriches don't do that and i'm insulting them now so i shouldn't use that example ha) but yes. it's really, quite, super crazy.

ok, my road map now is - i need to get my scrumming done up. the link and everything. i need to manage myself so i can dig myself out of this meteoric crater i've got myself into. ah..... i really, really, really ,really, really wish i could press restart. but i can't. and if i didn't get myself into so much shit, i probably -- no, i would NEVER have learnt. why must i be so dumb that i must screw myself so much before learning? i wish i were smarter and could learn before self-bashing my head on the wall so many times. sigh.

ok now i must just focus on work-till-i'm-fired. gonna let a lot of people around me down, those who has supported me in work. but oh well, at least i am going to try all the way. and you know what, when i get sacked (ha ok hopefully not, but in order to not get sacked i need to complete this project successfully - which i have completely no faith in ha), i will actually be a lot more relieved.

whao can you imagine the tools i've got now to tackle my iphone project? super amazing. i'm actually so super excited to move on. PLEASE SACK ME!!!! gosh. i've never been so overrun in my life before. now i really know my limits ha.

ok sorry for my ramblings, but thanks so much for your sharing Christian, i doubt i can ever do things like you cause my brain just isn't powerful and robust enough like your to handle so much entropy. for me i need everything organised if not my mind won't work ha.

i gotta reply to Jeff's and LSMConsulting's comments as well, really really good stuff here. ONCE AGAIN, i learnt so much from you guys. if i ever become successful, it's really ALL because of yall = )

ok let me sort out this scrum thing and push this project along and reply yall here = )
0
developingprogrammerAuthor Commented:
hi everybody, thank you for all your super wonderful input and i really appreciate you spending the time to type to me - it is very comforting and reassuring that i've got yall out there always helping me out, i appreciate it so so much = ))

hi LSMConsulting, i checked out CaseComplete and it looks very good. it does indeed have a collaboration feature but it's more like you've got to sync it to the net, instead of working straight from a website. it's a really good product and i tried it a little but i think i prefer Jama.

i was comparing Jama to blue print and i think that Jama is a lot better than blue print though. funny thing is that, if you're a single developer and you wanna buy a single licence, the US office won't let you do it. you must buy the starter package of USD 10k minimum the start using the software. HOWEVER, the UK and Korea office allows you to get a single user licence. for USD 2k. so hint hint, avoid the US office if you wanna get a single user licence ha! = P

hi Christian, i checked out the programmes you listed and thanks for that! = ) they are quite good - and in fact for some of my planning purposes, i also use mindmapping but it's iThoughts on the iPad and iPhone - freemind's competitor ha. it's really quite good and super helpful. = ) like i mentioned in the other question, i am really amazed at how you can be so flexible with the tools you use whilst you build such a big and complex international ERP. truly truly amazing ha.. ya just re-read your post again. really amazing haha what can i say! = )

hi Jeff! thanks for taking the time to share with me so much. well in awarding the points, you made a disclaimer that

if the post does not address your issue directly...

Open in new window


well maybe you may not feel it but from a beginner's point of view, your comments and advice really help! because there are just so many gaps in my knowledge and my understanding of things that when you share things which you think are generic, they actually help to formulate my view on things and help me go in the right direction. and many of your comments, Christian's comments, LSMConsulting's comments and the other fantastic experts who have taken the time to share their experiences with me, their comments have helps to guide and form me as well. and so your "long winded" comments are not really long winded and --> yes, they directly address the issue i have at hand = ) not everything is about programming and you've triggered many other parts of this "non-programming" facet i'm trying to cover now = ) thanks so much Jeff!! = ))
0
developingprogrammerAuthor Commented:
Jeff 2 things that poignantly stood out was - first and foremost

if the client pays for your "Education"

and yes, my "client" - my organisation is paying for my education now. whilst it is "good" for me, it's not sustainable at all because i'm not delivering anything and it is definitely cause a lot a lot of bad blood. i need to ensure that i do a 20% learning 80% contributing. sigh, i thought that if i were hardworking and sedulous i could quickly learn and contribute more. i was wrong. but anyway, what's done is done and cannot be undone. so i've learnt a lot, if this gig falls over then i have the vested responsibility to use whatever i've learnt to contribute to others. i think i will take 2 months off to learn iphone and ipad programming and get a job as an iOS programme. BUT --> learning in these 2 months means RELEASE EARLY RELEASE OFTEN!! ha, Jeff i will NEVER make the same mistake again. sigh sigh sigh. i feel so terrible that i'm not contributing you know? in a way i prefer if my company were to sack me but i need a job and it's all very interdependent i guess ha. i prefer to give than receive. anyway what's done is done and cannot be undone. live 5% in the past, 90% in the present and 5% in the future = )

is the software going to tell you if a project is worth your while or not?

this is also something i need to be poignantly aware of. yes, cool projects that are not "worthwhile" at the moment may blossom into something very good - or even just the training of it will be great. however if it's a project at work, like the above paragraph, i need to consider if it will contribute positively to the company = )
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Productivity Apps

From novice to tech pro — start learning today.