The Jay Nine Inc Development Pipeline Explained

The Jay Nine Inc Development Pipeline Explained

Jay Nine, Incorporated utilizes a development process heavily based on DevOps and “Continuous Integration” principles. We’ve found that an easy way to boost the productivity and quality of our business app development is by utilizing continuous integration. Continuous integration provides safeguards for teams—even across different time zones—to create large and complex systems with a drastically higher level of confidence and control. The apps those teams build and deploy are more efficient, providing rapid feedback on any problems we may introduce with the changes we commit. Amazon.com says “The key goals of continuous integration are to find and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates.” In essence, we want a fast flow of left-to-right from development to IT operations to the end user (customer). To maximize this flow, we need to bring small pieces of a project to production faster, using more efficient intervals of work. For the sake of explanation, I’m referring...
Read More
What is DevOps? How Does DevOps Improve Software Development and IT Projects?

What is DevOps? How Does DevOps Improve Software Development and IT Projects?

DevOps (a play on "Development" and "Operations) is an enterprise software development concept meant to join Development and IT operations with improved communication and collaboration between these two business units. To the outside looking in, "IT" generally encompasses all areas related to technology, be it programmers, the guy who fixes your printer, or the guy who maintains your current systems. To the non-technical types, there is a myth that "being good with computers" means you can do any field of computing expertise. In the medical field, if you have a vitreoretinal illness that requires a specialized surgery, you're going to contact an ophthalmologist--not an orthopedic doctor. While the latter will likely do better than say, myself, you want someone who has studied that particular field of medicine and does it all day. DevOps is a system that helps merge these different IT fields together, specifically focused on making sure the people who will maintain and use the application are involved in the process from start to...
Read More
The Pros and Cons of Scrum

The Pros and Cons of Scrum

SCRUM is an Agile framework used for working on complicated projects, generally with a close-knit team. Simply, Scrum is a project management system. A High-Level Overview of the SCRUM system: Scrum consists of three distinct roles: product owner, scrum master, and team member Scrum works by setting sequential goals that must be completed in a fixed length of time (called a "Sprint") First, the product owner creates a "backlog," which is a fancy term for a wishlist of tasks that need to be prioritized on a project. This is the set of deliverables needed for the product. Second, the Scrum team conducts a sprint planning session where parts of this wishlist are broken into smaller chunks. Next, the team creates a sprint backlog, plans for the implementation, and settles on a time duration (usually 1 or 2 weeks) for every sprint The team gets together every day for a scrum meeting where they share daily updates and access the progress of...
Read More
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
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