How We Organize Our GIT and Why

How We Organize Our GIT and Why

All of the projects for Jay Nine, Inc use a very specific process in with our development projects. Everything in the project must be checked into a single version control repository: all of the code, testing scripts, database scripts, build and deploy scripts, and anything else needed to create, install, run, and test your application. This is for several reasons, namely: This makes it so that we have a ready-to-go back up of the entire application that we can launch at a moments notice When working with a team of developers, you can easily have multiple developers working on the project without a lot of hassle If a bug is pushed live, our team has a rule that we try to fix it for ten minutes. If, after ten minutes, we don't have a solution, we'll roll back to the previous version in our version control and fix it from there. This is auto-synced with our live websites, so when we make little fixes and...
Read More
How We Use Asana for Task Tracking and Project Management

How We Use Asana for Task Tracking and Project Management

In the late 1940s, Toyota re-imagined the approach to manufacturing and engineering, forever changing the automotive world. This system is highly visual in nature, allowing teams to communicate more easily on work that needs to be done, and when. It standardizes cues and refines processes, and will help eliminate waste in an organization (while maximizing production). How the Kanban System Works The system is easy. First, we define workflow that is specific to our business. We then use a system of priority setting, to decide which pieces of work should be tackled first. Using a pull system, we pull work from a queue in a clear system so everyone can see what's going on. This system controls the release of work in a project, and more importantly, ensures that the most constrained resources are doing only the work that services the goal of the entire system, not just one component. We have a board that generally has 5 or 6 different items.   The board has a column for each step of...
Read More
How We Use Checklists to Keep Our Projects on Track

How We Use Checklists to Keep Our Projects on Track

Faulty memory and distraction are a particular danger in what engineers call all-or-none processes: whether running to the store to buy ingredients for a cake, preparing an airplane for takeoff, or evaluating a sick person in the hospital, if you miss just one key thing, you might as well not have made the effort at all. -The Checklist Manifesto In large projects with many moving parts, professionals have a lot to remember. Hundreds, sometimes even thousands of details make up a completed project. One of the main tools we use in project management over at Jay Nine Incorporated is the simple checklist. All of our projects and tasks have checklists associated with them to confirm crucial working parts aren't forgotten in the haze of an ongoing project. The checklist offers the reassurance of verification while instilling a discipline for higher performance. A checklist removes the "you should have known" variable and provides a concrete explanation of the project requirements and important aspects of the project. For...
Read More
The Jay Nine, Inc Software Development Process

The Jay Nine, Inc Software Development Process

Introduction We're working on continuously improving our process of project management and development. The below outlines the high level overview of the processes we use to develop and build web applications and custom business software. The Core Fundamentals: Find out exactly what the [user, client, or person who is benefiting the most from this system] needs and wants. Get the data you need to make that happen. Analyze at least ten types of forms. Refuse to accept any data without validating it first, always assume there is undiscovered data. Build the simplest and quickest version of that. Always focus on getting the simplest version to a solution in production as soon as possible. Test with user, fix mistakes, create better functionality. Ensure that no human error is found again (through automated tests and scripts). Do not allow arbitrary deadlines hurt long term productivity (focus on the tasks that will take a few extra days and save a few months). Set deadlines for...
Read More