Skip to main content

Planning your Implementation

The Implementation Module is where you design and plan the technical aspects of your application. This information is used by designers, engineers, and architects in support of building your application.

You use the Implementation Module once you’ve completed your Requirements. Archie utilizes your requirements as inputs to its AI process and auto-generates your technical architecture, data model, product features, and more. Archie then allows you and your collaborators to manually update and/or regenerate any part of it as you see fit.

What’s in it for me?

Archie brings the expertise of a world-class design, architecture, and product management team to bear and does their work in just a few short minutes, saving you tremendous time and money.

Instead of design and planning, you and your team spend time and money doing. This gets you far closer to your goal of launching your software application into the market and beginning any pursuit of product-market fit.

Architecture

The Architecture section contains information related to your enabling technologies, integrations, and infrastructure design.

Enabling Technologies

The Enabling Technologies tab lists the different technical components needed to develop, run, and support your application. For example, your app may need a web frontend and a connection to a database.

Clicking on an Enabling Technology card will expand it to show the context and rationale behind the technology.

Describing enabling technologies in your architecture plan helps with:

  • Informed technology choices: It justifies why certain technologies are chosen, showing their relevance and benefits in relation to your app's objectives and requirements.
  • Stakeholder understanding: It helps stakeholders, including team members and potential investors, understand your technical decisions, enhancing transparency and trust.
  • Alignment with goals: Explaining the context ensures that the chosen technologies align with your app's goals, user needs, and performance expectations.
  • Future scalability and maintenance: Understanding the reasons behind technology choices aid in making future decisions about updates, scalability, and maintenance.
  • Budgeting: These components may have hosting fees attached to them, and building them may require hiring external developer teams.

If you are building an intranet for a government department, enabling technologies in your architecture plan might include:

  • Content Management System (CMS): For managing and updating intranet content easily.
  • Secure authentication and authorization system: To ensure secure access control.
  • Database Management System (DBMS): For storing and managing departmental data.
  • Encryption technologies: To protect sensitive information during transmission and storage.
  • Backup and disaster recovery solutions: For data safety and business continuity.
  • Mobile applications: So employees can securely access the intranet while working with clients.

These technologies are essential for creating a functional, secure, and user-friendly intranet.

Integrations

The Integrations tab lists the technological integrations in your project. Integrations refer to the process of combining separate software systems, services, or components to function cohesively within your application. This might include integrating third-party APIs, data sources, or other external services that enhance or enable functionalities in your app.

Documenting integrations in the architecture plan is important for understanding how these external components interact with your app, ensuring compatibility, and planning for data flow and system dependencies. It helps in creating a more robust and feature-rich application by leveraging external technologies and services.

If you were building a fitness app, typical integrations might include:

  • Wearable device APIs: To sync with fitness trackers or smartwatches for real-time health data tracking.
  • Map services: For outdoor activity tracking like running or cycling routes.
  • Social media APIs: To allow users to share their fitness achievements and connect with friends.
  • Payment gateways: For in-app purchases or subscription services.
  • Nutrition and food database APIs: To track dietary intake and recommend meal plans.

Infrastructure Diagrams

The Infrastructure Diagrams section is where you can find schematics generated in support of Archie’s architectural work.

Infrastructure diagrams visually represent your application’s technical architecture. They show how various components, such as servers, databases, and application infrastructure services, are organized and interconnected. This helps development teams understand, plan, and communicate. These diagrams are key for ensuring efficient system integration, identifying potential bottlenecks or vulnerabilities, and planning for scalability and maintenance. Essentially, they serve as a roadmap for building and managing your application's technical infrastructure.

Having architecture diagrams mitigates the risk of system overloads or breakdowns in a complex application environment. For example, an architecture diagram of your online store helps identify potential bottlenecks in data flow or server capacity. By visually mapping out the infrastructure, developers and engineers can proactively plan for scalable solutions, ensuring the system can handle peak loads. This ensures a smooth user experience during high-traffic sales events.

Features Breakdown

The Features Breakdown area gathers your requirements from the prior section, and organizes them into actionable work units and features, along with their functionality, requirements, dependencies, and related user interfaces.

If you were creating a social media app, the feature breakdown for profile creation might look like this:

Functionality

Users should be able to:

  • Input personal information (name, bio, interests)
  • Upload a profile picture
  • Adjust privacy settings
  • Customize their profile appearance

Technical Requirements

  • A front-end interface for user input
  • Backend services for data storage
  • Image upload and processing tools
  • Security measures for data protection

Dependencies

  • Relies on user authentication systems
  • Database for storing profile information
  • Integration with the app's user management system

User Interfaces

  • Authentication/Login
  • Profile screen
  • Profile settings screen
  • Language
  • Upload/edit profile picture screen

Breaking down features into functionality, tech requirements, dependencies, and user interfaces leads to:

  • Clear understanding: Ensures everyone involved comprehends what is to be built and why.
  • Efficient development: Helps in planning, assigning, and managing development tasks effectively.
  • Quality assurance: Facilitates thorough testing against each specific aspect.
  • Stakeholder communication: Provides clarity to stakeholders on what the feature entails and its impact.

This approach leads to more focused development efforts, better resource allocation, and, ultimately, a more coherent and successful application.

Data Model

The Data Model section contains your Entity-Relationship Diagram (ERD) and a list of your application’s data tables and columns.

An ERD is a visual representation of your application's data model. It illustrates how different tables are related to each other. In an ERD, entities are typically represented as rectangles, with relationships shown as lines connecting them.

This helps with:

  • Understanding the structure of your database.
  • Planning how data is organized and interconnected.
  • Ensuring efficient data management and retrieval.

Your data tables contain information needed to run your app, and data that has been collected. For example, if you are creating an application that helps people adopt dogs from shelters, you might have a table called “Dogs to Adopt”. This table would contain information like name, age, breed, vaccine status, and weight.

Having a quick way to access your data helps you maintain:

  • Organized data structure: Ensures you have a well-organized database, where each table serves a specific purpose (dog profiles, user information, adoption records).
  • Efficient data retrieval: Knowing your tables helps in designing efficient queries for data retrieval, which is essential for features like searching for dogs, viewing adoption histories, or managing user accounts.
  • Data Integrity and consistency: Aids in maintaining data integrity and consistency across the app, which is vital for accurate information display and reliable user interactions.
  • Scalability and maintenance: A clear understanding of the data tables aids in scaling the app and maintaining it effectively as it grows and evolves.
  • Security: Knowing which data tables have sensitive information, like client addresses, is important for encryption and privacy reasons.

This structured approach to data management is key to building a functional, reliable, and user-friendly app.

Application Logic

The Application Logic area lists all of your functions, their parameters, and their output. In the context of an application architecture plan, "functions" refer to the specific operations or actions that the application can perform.

For example, if you were building an online clothing store, you might have a function called “getItems.” This function would be called when a user wants to search for clothing items, after applying several filters.

This function would have several parameters, some of which are optional. The parameters would match to the search filters the user can select:

  • New
  • Color
  • Size
  • Gender
  • Clothing type
  • Trending
  • On sale

The output will be a JSON response with an array of clothing items.

Having a list of functions, parameters, and outputs helps with:

  • Efficient development: It guides developers on what specific functionalities need to be implemented, like “AddToCart” or “ProcessPayment”.
  • Clear specifications: Parameters and outputs clarify how each function should interact with other app components and the expected results, ensuring consistency and reliability.
  • User experience: Understanding the functions helps in designing a user interface that facilitates smooth user interactions, such as browsing products, making selections, and completing purchases.
  • Troubleshooting and maintenance: A clear function list assists in identifying and resolving issues quickly, maintaining the app’s performance and user satisfaction.

User Interfaces

The User Interface section is where you find the technical aspects of the UI screens found in Requirements > UX/UI. Screens are elements like the User Profile Page, Home Dashboard, Inbox, User Registration, and more.

In the Implementation section, when you click a specific UI screen, you will see:

  • Inputs: Elements that users can interact with, such as text boxes, buttons, and selection dropdowns.
  • Outputs: Elements that display after user input, such as error messages, confirmation messages, and search results.
  • Navigation: Elements that allow the user to go to different parts of the application. For example: menus, arrows that go back one page, and icons that take you to the homepage.

If you toggle on View UX/UI requirements, this section will also display the UI layout and wireframes.

In an application that teaches children about space, these sections might contain:

Inputs

  • An interactive quiz about planets.
  • A search bar for kids to type in a specific space topic.
  • A touchscreen interface that navigates through a virtual solar system.

Outputs

  • Animated videos explaining space concepts.
  • Audio narrations that tell stories about space.
  • Visual displays of planets and stars with informative text popping up as children interact with different parts of the screen.

Navigation

  • A simple menu with large, colorful icons representing different space topics.
  • Swipe gestures to move between different sections.
  • A “space journey” storyline that guides the child through different educational modules.