Green Field Project Checklist
A few days ago, a friend of mine contacted me about a new application he was thinking about and wanted to get together to discuss it. I said sure. Then I started thinking about what questions I needed to ask to be able to give good advice on how to build the application.
The more I thought about it, I realized what I really needed was a checklist of areas to understand to be able to get a handle on the system he wanted me to build. This post is that set of checkboxes.
From his description, I was able to get the domain the application would be in. Once I understood that I could dive into my items.
User Directed
a. What feature/functionality is required
2. Paid or free application
a. A paid version requires more work than a free version.
3. Support Platforms
a. Webb. Desktop
i. Windowsii. Maciii. Linux
c. Mobiled. Tablese. The decisions here will drive the technology and UI Framework
4. Customer Sign up
a. How will a new customer sign up for an account?b. Admin needc. Manual process
5. Security
a. Users
i. Security setting for usernames and passwords.ii. How to manage failed log-iniii. How to manage forgotten passwords.
b. Credit cards.
c. Data
6. Authentication
a. How will users be authenticated?
i. Username / Passwordii. Singal Sign Oniii. Community Sign up.
1. Facebook2. Google3. Microsoft
7. Authorization
a. Will roles need to be supported?b. How will roles be maintained?
8. Billing
a. If paid, how will the system be updated if the account is overdue?b. System responsible for processing paymentsc. How late before locking an account.
9. Editions
a. How many different editions, free, paid, premium.
10. Sales Editions
a. Does there need to be a system for sales to demo?b. Need a demo mode.
11. Licensing
a. Goes with authentication, security, and authentication.
12. Third-party integration
a. Billing systemb. Sales Systemc. Services
13. Document Processing
a. Will documents need to be processed, PDF, images, etc.b. How large of a documentc. How many documentsd. Where to store documents
14. Reporting
a. For usersb. For systemc. For business
Technology Directed
1. Databasea. Would depend on skill set.b. Import / Export
a. External, to allow customers to interface withb. Internal
a. Build vs buy.b. Any special components needed.
a. Where?b. What?
a. Alerting
a. Paid, GitHub, Azureb. Manual
a. How to get a new release to the customerb. Depends on the platforms supported.
a. Show
b. Alert
a. Logb. Call home.
a. Needed if desktop or PWA.
Summary
Being a new application is a very dynamic process. I have provided areas to cover. I have provided examples of each, but the actual questions and flow of the conversation will depend heavily on the application being built.
Greenfield projects are fun and exciting. They can also be very frustrating if you get deep in and realize you missed an area of development. Pre-operational planning, like using this checklist will help you avoid those moments.
Comments
Post a Comment