Efficiently handling any project and achieving productive outcomes typically involves a series of essential steps. These steps are crucial for ensuring a well-organised and successful project execution while working towards the desired objectives.
The collaboration model or process within an organisation varies depending on factors such as organisational size and project modularity. It establishes the roles, responsibilities, and procedures involved in the collaboration, providing a structured framework for communication, decision-making, and problem-solving.
Several commonly used collaboration models include Agile Methodology, Design Thinking, Design Sprints, Lean UX, and Dual-track Agile. Each model offers a unique approach to collaboration and project execution.
The process described below is an example of typical Dual-track Agile model commonly employed by the medium to large organisations. By following the Dual-track Agile model, organisations can effectively balance exploration and execution, enabling them to deliver innovative and user-centred products while maintaining a structured development process. However, it's important to note that collaboration models can be tailored to specific organisational needs and project requirements.
01 | Empathise - SWOT Analysis
At the beginning of every project, I undertake a SWOT analysis. This involves thoroughly examining the existing product or product set, conducting interviews with stakeholders, users, and subject matter experts, as well as conducting extensive research and competitive analysis.
By conducting this SWOT analysis, I gain valuable insights into the company's current position, identify areas for improvement, and make informed strategic decisions about the next steps to take. The SWOT analysis helps me leverage the company's strengths, address any weaknesses, seize opportunities, and mitigate potential threats to effectively achieve the desired objectives.
02 | Define - Information Architecture
Information architecture in any project refers to the organization and structure of information within a system or application. It involves designing and planning how data, content, and functionality are organized, labeled, and presented to users.
In software projects, information architecture focuses on creating a clear and intuitive structure for users to navigate and interact with the application. It involves determining the hierarchy of information, defining the relationships between different components, and establishing the overall flow and organization of the user interface.
The goal of information architecture is to ensure that users can easily find the information they need, understand the relationships between different elements, and effectively interact with the software. It involves considering user needs, business requirements, and technical constraints to create a coherent and user-friendly system.
Here are the key activities in defining information architecture which I would typically adhere:
User Research · Content Inventory · Information Organisation · Labeling & Taxonomy · Wireframing and lo-fidelity prototyping · Usability testing
Well defined information architecture can enhance user experience, facilitate efficient information retrieval, and support effective interactions within the application, which is the ultimate goal in any project.
03 | Ideate - User Stories and User Flows
I have gathered essential information about the project, including a validated problem or challenge and a comprehensive understanding of the system or organisation's information structure.
During the Ideation stage, I employ various techniques tailored to the project's needs. These techniques may include mind mapping, SCAMPER (Substitute, Combine, Adapt, Modify, Put to another use, Eliminate, Reverse) method, brainstorming prompts, or role-playing exercises. By utilising these techniques, I can explore different perspectives and generate a wide range of innovative ideas.
04 | Prototype - High Fidelity Interactive Prototypes
The prototyping stage is a critical phase in software development, where an initial version or prototype of an application is created. This involves developing a working model with limited functionality to gather feedback, validate design decisions, and test concepts before moving forward with full-scale development.
During this stage, the primary focus is on creating a tangible representation of the software's key features, user interface and user journeys, and to identify dependencies.
The prototype enables stakeholders, including clients, users, and development teams, to interact with the software, offer feedback, and identify areas for improvement or potential changes. User testing can also be conducted using these prototypes.
Depending on the project requirements, I deliver either low-fidelity or high-fidelity prototypes. The level of functionality in the prototypes may vary, depending on the complexity and goals of the project. This allows for a realistic representation of the software's features and facilitates a comprehensive evaluation of its usability and effectiveness.
Overall, the prototyping stage plays a vital role in refining the software's design, gathering valuable insights, and ensuring that the final product meets the desired objectives. The feedback and observations collected during this phase inform subsequent development steps, enhancing the overall quality and user experience of the application.
05 | UI - Design System & Specifications
After the completion of the prototyping stage, the next step involves creating or updating the Design System and delivering UI Specifications.
The Design System serves as a collection of reusable UI components and widgets. Its primary goal is to maintain consistency throughout the user interface, adhering to brand guidelines and usability requirements.
Simultaneously, the UI Specifications leverage the UI components and widgets from the Design System. These specifications serve as comprehensive documentation for each screen or group of UI components and widgets. Their primary objective is to deliver detailed documents that align with the previously developed use cases.
The UI Specifications delve into the specific details of each screen, outlining the functionality, interactions, and visual design considerations. By providing elaborate documentation, the UI Specifications ensure a clear understanding of how the user interface should be implemented and how users will interact with it.
These documents play a vital role in guiding the development team, promoting consistency, and facilitating effective collaboration between designers, developers, and stakeholders.
The UI Specifications delve into the finest details, ensuring comprehensive guidance for the implementation of the user interface.
By employing a Design System and UI Specifications, the development team can streamline the design and development process, ensuring coherence, efficiency, and scalability in the creation of the user interface.
06 | User Testing
User testing is an optional stage in the project lifecycle, as its necessity varies depending on the nature and scope of the project. While some projects may have straightforward solutions or limited scopes, others benefit greatly from user testing, especially when dealing with new products, features, or innovative solutions. User testing allows for valuable insights and early adjustments to be made based on user responses.
User testing can be conducted at any stage once prototypes of varying fidelities are available. There are various online tools available for conducting user testing sessions, providing flexibility and convenience.
The primary objective of user testing is to present users with clear scenarios and objectives to accomplish using the proposed prototypes. By capturing audio recordings, screen captures, and analytics during these sessions, valuable information is obtained to identify any potential issues well before the development stage begins. This enables the team to address any concerns and optimise the user experience effectively.
07 | Project Handover
Overall, the purpose of the handover stage is to set the stage for successful development by transferring the project's design vision, requirements, and assets to the development team in a clear and organised manner.
At this stage, the product design team remains available for any necessary changes or iterations, although the primary responsibility now shifts to the development team. They take on the main workload to bring the design concept to life and transform it into a functional product. The development team assumes the task of implementing the design specifications, coding the software, and building the required features and functionality.
The development team takes the lead in executing the technical aspects of the project.