Home




Email Alki Technology  
    

Philosophy

With the Internet boom in the late '90s, many people were thrust into the market with little or no experience in software development. "Teach Yourself HTML in a Week" was a best seller, and having read it was as good as a degree in computer science. As a result, sound development processes often suffered do to lack of experience, the constant redefinition of the Internet, and of course, the rush to IPO.

Things have certainly changed since then, but it's surprising how many of the bad practices that were pervasive during this period still linger today.

Alki Technology takes great pride in following sound development practices.
Every project is approached with the same, methodical professionalism — ensuring no step is missed, from concept to launch. The following steps outline the development of a web application:

  • Discovery Period
    Each project begins with a back-and-forth process of gathering a client's needs and providing feedback regarding the technical aspects of the job; a customer presents their "wish list" and we tell the customer which wishes can come true.

  • Requirements Specification
    Once a customer's needs have been identified, we finalize the list of needs which will become application features. These features are then structured in a formal document called a Requirements Specification, or "spec". This document provides an outline of features and how they will be implemented. The spec is then combined with project dependencies, development timeline, needed hardware, pricing, payment schedule, etc. This becomes the proposal and eventual contract between Alki Technology and the customer.

    Defining a clear and complete Requirements Specification gives our customers the confidence that they know exactly what they're getting.

  • Application Architecture
    With a completed spec, the conceptual elements are fleshed out. Now it's time to architect the technical specifics of the application. This includes designing database schemas, creating flow charts, structuring the layers of the application (backend, middle layer, client), and finally, assigning programming tasks to the development team based on these architecture decisions.

  • Development
    Now the fun begins — at least, we think it's fun.

    While it is nearly impossible to develop an application without a clear, complete Requirements Specification and a well-designed Application Architecture, there are other tools and processes that must be employed to ensure the on-time delivery of a quality application.

    • Workflow Tracking
      Our workflow-tracking system keeps track of discrete elements, or features, of a project. This makes it easy for everyone on the project to know what is assigned to them, when it's due, and allows our managers to quickly see the status of a project. This system, developed by Alki Technology, makes for an efficient, well-organized, development process.

    • Source Control
      We protect our customers' work throughout the development process. All files and resources used in creating the finished application are stored and backed-up regularly with use of a source-control program. This is an application that allows us to store, or "check-in" files for safe keeping and maintain a history of the changes that take place each day. This database of files is backed-up daily and multiple copies are taken offsite.

    • Code Review
      We are confident in our programming abilities — but we're also realistic. That why, like any good proofreader, we check each other's work. Multiple developers check each line of code — not just for "bugs", but for ways of doing things better or faster. The end result is a quality product that everyone can be proud of.


  • Functionality Testing
    This initial test pass is performed on each section of the site by the development team that wrote the respective code. This is a quick test pass to ensure that the basic functionality is working in accordance with the Technical Specification.

  • Staging
    Once an application has passed Functionality Testing, the code is moved to the Staging Server(s). This is the second of three servers (or groups of servers) upon which the code will reside. The first server is the Development Server, which is where all code is written and tested for basic functionality. The second is the Staging server. This server is essentially a mirror of the Production Server (the third server group) where the application is available to the public. Final Test is performed on the Staging server and the code is pushed through to production if it passes final test, or back to the development server if it fails.

  • Final Test
    This is a thorough test of the entire application. The test is performed following a set of Build Verification Tests, or BVTs as they're often called. This is a checklist of steps to follow during test. This entire process is performed by our Test team. No developers participate in the Final Test process since again, we don't want developers "proofreading" their own work.

  • Production
    In the case of a new website, this is the launch phase; the rewarding moment when you put your ideas to the public. For existing sites, this is simply the last step in performing site updates. All code is copied from the Staging Sever to Production.




Ads.com
HomeAndDreams.com
Expedia.com
MountainZone.com
OnHealth.com
Internet World
ComputerStop.com
Topo Swope Talent
Beeline Tours
Storm King Art Center
Parfumerie Nasreen
HalfThePlanet.com


Back To Top