0. Overview of The Elements
The way people, teams, groups, and departments are organized and work together.
1. Organizational Structure
How are people, teams, groups, and departments organized to work together?
2. Development Culture
How well do members of the team work together as a team?
3. Hiring Process
How does your company identify and select the people to be part of your development teams?
4. Team Composition
What skills do team members have? Are they experienced or inexperienced with the software technologies and product domain?
5. Training on Coding
How proficient are your team members with the tools they have and the languages you use?
6. Training on Our Ways
Do team members know the vision and goals for the software? Do they know the patterns for success?
7. Environment
Do team members work in an environment that fosters their productivity? Do they have a good developer experience?
8. Project Selection
How does your organization select the next project to work on?
9. Solution Purpose
Is the software mission critical to the business? Do lives depend on it? Is it an internal app with little impact if flawed?
10. Application Architecture Priorities
What aspects of your software solution are most important?
11. Security Demands
How important is security for both the product and the process?
12. Requirements, Features, and Priorities
How do you gather and manage requirements and features? How are the most important/valuable items determined?
13. Regulations & Auditing
What regulations constrain your choices?.
14. Who decides what to do?
Day to day, who decides what tasks teams and team members should take?
15. Project Management - Product Management?
How does your team track and coordinate the work to be done?
16. Quality Processes
What processes are in place that impact the quality of your software?
17. Architecture Forecasting
What plans and actions are you taking to keep your software product working in the future?
18. Automated DevOps
How automated are your testing and deployment processes?
19. Architecture
What is the architecture of your application?
20. Code
What langauges and tools do you use to create code?
21. Code Quality
What is the quality of your code base?
22. Application Quality
How robust and feature-rich is your software solution?
23. Deployment Environment
Where is your software deployed to? Web sites, phone apps, desktop apps, or somewhere else?
24. Product Training
How are the people using your product trained?
25. Support
How well do you support the people that use your software solution?