Operations
- Review of current architecture either via documentation and whiteboard.
- Watch the application run from an OS console. (e.g., top, perfmon)
- Watch the application run from purpose-built administrator tools.
- Describe the hosting architecture.
- Where is the system hosted?
- How redundant is the system?
- How is the system monitored?
- What are the biggest bottlenecks in the system?
- Has your system ever been compromised?
- Characterize the reliability of your system.
- Have you done any vulnerability or penetration testing?
- How would you handle 10X volume, 100X volume, 1000X volume? (This is a big one.)
- Inventory of hardware and software (technology) assets.
- Where is your source code stored?
Software
- Review the source code (looking for good coding practices, clean architecture, exception handling, etc.).
- Review database schema and query the live database (or copy of live).
- Inventory custom components and software license agreements.
- Are there any public or private APIs?
- Review (developer) documentation associated with the code.
- Review user-facing documentation and/or training materials.
- Build all applications from source code and deploy to hosting environment.
- Is there a debug / development interface?
- Is there a database of customer feature requests or open issues?
- Are any obsolete technologies (i.e. Delphi) in use?
People
- Meet key employees and get to know their backgrounds.
- Who is the go to person?
- How do people collaborate?
- Describe your SDLC?
- Where do requirements come from?
- How is the software tested?
Product
- See a demo of all products, utilities, and supporting software.
- Product Roadmap: Recent, Past, Present, Future.
- Review current business model and sales process.
- Are there any prototypes or product concepts that we should see or discuss? (These can be hidden gems)