Software Development Requirements
by Ian Lewis
1. Types of project
1.1. Small
1.1.1. Tweak software
1.1.2. Minor feature
1.1.3. minor refactor
1.2. Medium
1.2.1. build new module
1.2.2. build reports
1.3. Large
1.3.1. New website
1.3.2. New application
1.3.3. Rebuild/reimplement existing
2. What is the purpose of the project/task
2.1. Data management
2.2. Social networking
2.3. many, many other problem domains...
3. Analysis
3.1. Benefits to user
3.2. Benefits to provider
3.3. Business analysis
3.3.1. SWOT
3.3.1.1. Strengths
3.3.1.2. Weaknesses
3.3.1.3. Opportunities
3.3.1.4. Threats
3.3.2. BRAN
3.3.2.1. Benefits
3.3.2.2. Risks
3.3.2.3. Alternatives
3.3.2.4. Nothing
3.4. Timelines
3.4.1. Scheduling
3.4.2. Staging
3.4.3. Priorities
3.5. Project
3.5.1. Goals
3.5.2. Milestones
3.5.3. Phased development
3.5.4. Delivery criteria
4. Who will use it
4.1. Internal users
4.2. External users
4.3. Both Int/Ext users
5. Security
5.1. Simple logins
5.2. SSL
5.3. Two factor Auth
6. Who are the Stakeholders?
6.1. Internal
6.1.1. CEO/board
6.1.2. Business managers
6.1.3. Internal Users
6.2. External
6.2.1. Business Clients
6.2.2. Private clients
6.2.3. General public
7. What type of interface?
7.1. Traditional Application
7.2. Browser App
7.3. Phone App
7.4. Web 'App'
8. What development methodology?
8.1. Agile
8.2. Xtreme
8.3. Prince2
8.4. there are other methodologies...
9. What language will it be written in
9.1. Java
9.2. PHP
9.3. C#
9.4. ColdFusion
10. Data storage
10.1. What database system
10.1.1. MySql
10.1.2. Postgres
10.1.3. SQL Server
10.1.4. Oracle
10.1.5. Firebird
10.2. Schema design
11. Testing
11.1. Developer testing
11.2. User testing
11.2.1. are users involved in development?