Web, App & Software Development in Louisville and NYC
Our Development Principles
Speed: Quickly Built, Faster Performance
In a hyper-connected, rapidly-paced business environment, rate of response and operational performance can make the difference between conversion and abandonment for businesses looking to acquire new customers. Blackstone’s Software Development Team in Louisville and NYC understands this and meticulously follows a nimble, iterative process that increases both the speed in which we can develop and deliver projects, and the speed in which our developed software, websites and applications perform. Our approach is similar to Agile development, and our software developers make accommodations only where necessary.
To further streamline responsiveness and reserve resources, Blackstone developers follow SOLID design principles, which dictate that all things in a system should have a single responsibility and only abstract where necessary. This ensures that every function is a documentable, debuggable process that resides independently, is well-tested and free of extraneous code. This approach has proven to be an effective way to build a scalable and feature-rich system of size that meets the needs of the infrastructure required.
Scalability: Built to Grow With You
Blackstone understands that integrating our products with our clients’ existing systems, infrastructure and IT team is crucial. Every software, website and application product we develop is done so with scalability top of mind. Our centralized repository method, which is our process of merging existing databases/data into one centralized, shareable location, separates the responsibility of where content is stored and how it’s consumed.
As often as we can, we leverage Content as a Service (CaaS), a unique approach to CMS meant to solve issues concerned with the publishing, integration and operation of content. While quality control is at the heart of CaaS, brand consistency, reputation, operational speed and scalability are also increasingly dependent on it for centralized content management. A timely response to the infinitely expanding Internet of Things, CaaS provides a cost-efficient, manageable solution that allows businesses and developers to more easily distribute content to as many channels as possible.
Security: Safety First, Danger Last
We always identify all current security procedures and determine how they best align with requirements for any current projects. Our clients can feel comfortable knowing that we update our codebases regularly and stay on the cutting edge of security-based toolsets. To ensure no loss of client data, it is always backed up redundantly to an offsite location. We leverage a Content Delivery Network (CDN), such as S3 or Akamai, which makes for lighter codebases and architecturally sound infrastructures.
Stability: Hosting You, Like Proper Adults
Throughout our 10 years of experience, Blackstone has discovered the most successful hosting environments for minimizing or completely eliminating downtime for our online products. We typically host on WPengine, which guarantees a 100% uptime. We also utilize cloud storage solutions like Amazon S3 services, one of the most reliable cloud storage solutions available for developers and IT teams. Amazon S3 boasts security, durability and high-scalability from which any amount of content or data can easily be retrieved. The uptime guarantee is similar to WPengine’s.
Client Empowerment: Making You Better at Your Job
We put great emphasis on empowering our clients to become self-sufficient with any digital solutions provided long after the initial engagement. We try to work with a custom-built CMS or use WordPress as our default platform whenever possible. For many clients, we’ve built custom CMS products which allow for greater customization while still retaining a great amount of user friendliness, including, in some instances, the ability to edit content directly from the front-end of the website.
Our adherence to the Caas philosophy means that no content or data is specific to the tools, but rather the tools are specific to the content and data. This frees the content from the platform, allowing it to be consumed by and delivered to mobile apps, mobile websites and any other digital platform that is imperative for prolonged relevance in a modern environment.
Additionally, we design various page and application templates which provide clients with a wide array of readily accessible options when creating their own content or exporting data from the software.
Optimized User Experience: Design that Compels a Desired Action
One of our agency’s biggest strengths is our UX/UI-focused software development, which is top of mind from the onset of engagement, through the design and development phases. One key part of our discovery process involves research to understand how users typically interact with applications, websites or software. We regularly stay up-to-date with the latest UX principles to help ensure that our products are always easy-to-use and optimized to generate the desired actions from the end users. Through extensive and specific usability testing, we are able translate our data into various user journeys maps, all setting the groundwork for developing an ideal and user friendly interface for our clients and end users.
Discovery; Data-Driven Development
Blackstone’s unique discovery process enables us to curate comprehensive, individualized plans for each new client and their respective projects. First and foremost, we want to understand how we can best mesh together up-front, understanding all the technical aspects that could have any effect on a project. For our development team, this is an extensive research undertaking that starts with documenting technical and functional specifications and understanding the data schemas, including but not limited to:
- Comparing client system requirements with Blackstone’s operational standards
- Determining workflow compatibility
- Understanding database and system design compatibility
- Identifying applications for integration
- Familiarization with platforms of choice
- Comprehension of clients’ project management systems
- Identifying any potential data cleansing initiatives
- Uncovering any potential bottlenecks that could occur
Design & Development Integration: Nerds in Every Direction
Blackstone’s Design team is a tight knit unit, made up of web- and software-oriented designers with extensive development experience. Part of our discovery process typically involves wireframes for future development, a collaboratively created deliverable with input from both all Blackstone teams, including developers, digital marketers and content specialists. Once wireframes are presented, the project will typically go through a mock-up phase with input from all of Blackstone’s teams and the client as well.
Version Control: Minimizing any Code Flubs
Operating on a standard Git workflow, we then ensure our code is versioned properly in development, which allows us to build functionality in a task-oriented, FTP-free process. After this, we execute a procedure called user journey mapping, wherein a dev-based wireframe shows us the whole process from point A to point Z. These user journeys dictate all of the data inside the Functional Spec, which is a detailed description of the functions a system is designed to perform.
Quality Assurance: Making All Things the Best Things
Before the official QA back and forth process begins, Blackstone leverages code/peer review for advanced testing of the development team’s preliminary work before it’s made public. Steps in these reviews often involve testing other team member’s code to ensure it integrates seamlessly with all other parts of the software or application, without inhibiting any developed functionalities. The code/peer review process also involves comparing the current version of the application or software to older versions, taking account of changing files, and so on.
Blackstone also utilizes custom built automated testing checks to see how well units are working within the application software, ensuring each piece of code does exactly what it is designed to do, such as integrating with Facebook and other social media as intended, sending an automated email or sending users to a desired section of a website. Automated tests are written by Blackstone’s technical lead, and the tests are uniquely customized to each of our development deliverables.
We’re also proponents of continuous deployment. This means that when we commit changes to any branch in version control, tests are automatically run and those changes get pushed to the server. The server runs post-deployment commands and the site goes live with zero downtime, with every change that passes testing automatically deploying to production.
Blackstone’s technology stack of choice is a specialized LN/AMP (Linux Nginx/Apache MySQL PHP) stack, while our preferred PHP framework is Laravel. Our frontend technologies consist of AngularJS, Bootstrap/LESS for CSS, and Gulp for asset compilation. We also utilize NodeJS for many technological requirements during the build phase.
For a more comprehensive list of the machines, specs and frameworks we use, see below:
- Machine Environments:
- Linux Ubuntu, Macs, and Windows
- Sublime Text, Atom , PHPStorm 9, or developer preference
- MySQL Workbench
- Virtual Machine Development Environment:
- PHP 5.6/7.0
- Laravel 5.1
- Bootstrap 3
- Codeception for Automated testing
- Continuous Build systems
- Gulp, Grunt, etc