Here's a little puzzle. What would you say are the 3 most fundamentally important questions to ask yourself (or your team) when you're starting something new? What questions are you going to ask in order to be able to build the best application you can? These should probably be broad, far-reaching 'brainstorming' type questions I imagine, unless you think otherwise I suppose.
My top 3 would probably be:
1. First, and a long way in front, has to be "What does this application need to do?". Without knowing the requirements you've got nothing to work from.
2. Second, and most important from a QA point of view, "How am I going to test this thing works?". If you figure out how you're going test it before you've committed a single line of code you're a lot more likely to write an app that works well. It's the fundamental point behind Test Driven Development.
3. Third, and most important from a business perspective, "Have I written something like this before?". If you waste your time writing the same apps over and over you're wasting time, and thus wasting money. Can you take an existing application and modify it to meet the requirements and tests you've set out?
That's my take on things though. Could I be asking myself something else that's going to make my code even better?
3 questions you should ask when starting something new.
Moderator: General Moderators
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
Re: 3 questions you should ask when starting something new.
Maybe before your #1 you should find out "Who knows what this application needs to do?". Developers rarely use the software they write...
(#10850)
Re: 3 questions you should ask when starting something new.
- does it need to be done
- who would do this for me
- how much it would cost me
- Josh1billion
- Forum Contributor
- Posts: 316
- Joined: Tue Sep 11, 2007 3:25 pm
Re: 3 questions you should ask when starting something new.
Here's a list of questions I would ask myself instead:
1. What does it do, and how much of a need is there for it (how many customers will purchase it/how much money can be made/whatever)?
2. Does something like it already exist? If so, there might not be a purpose in doing it (unless existing versions are inferior).
3. How much time will it take, and could I accomplish something better in that time?
1. What does it do, and how much of a need is there for it (how many customers will purchase it/how much money can be made/whatever)?
2. Does something like it already exist? If so, there might not be a purpose in doing it (unless existing versions are inferior).
3. How much time will it take, and could I accomplish something better in that time?