"The origins of the word Engineer composed of Nitrogen, Oxygen, and Jurrasic Park"

Software Should Be

Useful

Useable

Scalable

Optimized

Here's How I Approach This

Dreaming it Up

Initial Discussions

Me
You

Vision

    What's your vision for this?

Problem

    What problems(s) are we trying to solve?

Processes

    What are the processes we are improving?

Defining the Product

Designing for useability

User Experience

    Defining how users will interact with it.

Architecture

    The big picture.

Mockups

    Visual representations.

Making it Useful

Engineering the functionality



Technology

    Which databases, programming languages, librarires, and frameworks are the best to use?

Servers

    Which hardware and services do we need to support it?

Integrations

    What third-party services and data sources need integrated with the product?

Building it

Developing the product

>> Programming is ridiculous

Programming

    Programming to the engineering and design specs.

Source Control

    Ensuring the software has a proper history and can be collaborated on.

Testing

    Writing test cases and ensuring it works.

Making it Optimized

Optimizing the product through science

Feedback

    Tracking user behaviour and getting feedback from users.

Analysis

    Uncovering insights that lead to better design/development decisions.

Improvement

    Continuosly improving the software with the feedback and analysis.

Scaling

Ensuring the product can grow.

Code

    Reduce technical debt, and increase flexibility.

Hardware

    Ensure the servers can handle usage as it grows.

Features

    Ensure only the most important features are developed.