Design, Develop, Deploy
The Neo Code approach to software development emphasizes design, development, and deployment using a unique user-centered design process. This involves a multi-step approach to gradually increase detail and co-author applications as wireframes.
What is a Wireframe?
A wireframe is a software blueprint of an application screen. It provides a visual guide that represents the skeletal framework of the application, mapping out the functionality, user interface, and workflow.
Why Invest in Wireframes (aka Software Design)?
Informed Consent:
- Avoid project budget and timeline issues by ensuring customers and developers fully understand scope and specifications before coding begins. Wireframes help achieve this by providing a clear visual representation of requirements.
Requirement Gathering:
- Through a detailed inventory process, wireframes facilitate thorough requirement collection from stakeholders, providing multiple opportunities for reflection and assessment. This helps identify additional or missing requirements and involves legal, privacy, cybersecurity, and IT departments for comprehensive feedback.
Programming Before Coding:
- Wireframes allow stakeholders to view and edit the application functionality before investing in coding, ensuring all key requirements are met and reducing the need for costly reworks.
Project Documentation:
- Comprehensive documentation, including a content checklist for necessary text, logos, color schemes, and brand guidelines, is essential before starting development.
User Interface Feedback:
- Wireframes enable stakeholders to review and provide feedback on the simplicity and usability of the interface, ensuring it meets user needs.
Adoption:
- Engaging clients in co-authoring wireframes increases the likelihood of widespread adoption within the organization, as the software is designed to meet their specific needs.
How to Wireframe (Develop Software)
Step 1: Role Inventory
- Identify business areas and break them down into roles based on how they use the application.
Step 2: Process Inventory
- Inventory tasks performed by each role. For example, HR staff might handle annual reviews, holiday requests, police checks, and onboarding.
Step 3: Wireframe Inventory
- Determine which wireframes are needed to implement the identified processes. For example, wireframes for entering new employees or recording holiday requests.
Step 4: Client Review
- Clients review the wireframe inventory for completeness and accuracy, making necessary changes. Identify missing wireframes, such as overlooked process dependencies, potential improvements, or outdated processes.
Step 5: Prioritize and Implement
- Clients prioritize wireframes for implementation into sprints. As wireframes are implemented, they are validated against the original designs. Any client change requests are updated first in the wireframes and then in the application.
How to Deploy
Three-Step Process Using Three Servers:
1. Development Server:
- Developers work on the latest code and test data.
2. Staging Server:
- Developers move code to staging, where it is tested with a snapshot of live data.
3. Production Server:
- Clients approve code to move from staging to production. If issues arise post-deployment, clients decide whether to revert to the previous version or instruct developers to make minor fixes in both development and production environments.
All changes in production are made with client approval.