Inexo's development of CCR Centric allows for a revolutionary method of simplifying practice management and maintaining electronic medical records ultimately empowering patients.
Overview Architecting Website Development Marketing & SEO
Available Opportunities Careers   PHP Developer Partnership Opportunities

Blogs » Website Developer's Corner
See how things work from the developer's view

From the Ground-Up: Building a Website

Jan 09, 2012 (129 days ago)

When you have a custom application developed, it will often take longer than having your friend’s son in the basement throw up a website in an afternoon. If you’ve ever wondered what’s involved with developing a website (or have wondered why it takes longer than an afternoon), then this article will give you a good idea of everything that’s involved.

The development process is managed through a process called the Systems Development Life Cycle. From the initial idea to delivery and maintaining the site, the SDLC lays out the process of all the steps involved in building a project. There are five phases in the SDLC: Analysis, Planning, Implementation, Testing, and Support.

Analysis: Gathering the requirements
In the first phase we meet with you to understand your needs. This is where we will have a lot of face-to-face meetings and will sit down with your team to understand how your business works, find out what your needs are, and determine what work needs to be done. We do this by conducting interviews, asking lots of questions, and probably most helpful, watching how you actually work. By watching how people work, we can understand all those little details that you might not be aware of, take them into account, and build your program so it just feels natural when you use it.  Some of the things we look for include: How you move between windows in your programs? Do you press the tab key or use the mouse to move between fields? Do you press enter or click “submit” when you’re done? How long do you wait for the page to load before you click it again?
 
Planning: Getting the project in order
You wouldn’t expect a construction company to start building a house without a plan, just figuring out things as they go. The same holds true for software projects. Once we figure out what functionality your program needs, we need to figure out how we’re going to build it. After we’ve determined everything that needs to be included, we group them together into Functional Areas. Perhaps your website needs to accept payment transactions, or needs to let people log into a protected area. We don’t know exactly how those functions will work just yet, but we know that they need to deliver those functions. That’s when we go through a process called “decomposition” where we break-down the need into smaller and smaller steps until we have a step-by-step set of instructions that the system will use to perform that particular function. We create flow charts, diagrams, and wire frame mock-ups of all the components that we need to build. After we know how much work needs to be done, the schedule is built. We break down our tasks into groups and put an effort estimate to it. The project manager is responsible for making sure we stay on schedule and as close as possible to our estimate.
 
Implementation: Starting the work
Once the blueprints have been built, we start construction. The requirements and wireframes are handed off to a developer and they start working on the code. The developer is responsible for installing the Framework, the platform on which the website it built, setting up and installing components, and creating the programming for the website to run. How exactly the programs will run and what they do inside has been determined in the Algorithm Design process during the Planning phase. During this phase, we may have reviews with you to show how the project is coming along. During these reviews, clients sometimes remember something they forgot to include or find something new that they would like to add. If there’s any new work, it will go through the same process and be added to the project.

Testing: Making sure it works
The software will go through testing through each step of the process to make sure there aren’t any bugs.  Bugs are either problems with the code itself that prevents the computer from properly running the program, or problems with the logic inside the code. If there is a problem with the logic, it is often because there is ambiguity in how the company runs its own processes internally. What if after a transaction, you want to email the receipt to the customer. But what happens if the transaction fails? Do you email a notice saying their transaction had failed? What if their transaction was updated as a result of a returned check, or a returned product? How do we handle the emails in that case?  If there are problems with the business logic, we will come back to you to figure out how we should set up the program to run correctly.  There are also other parts of testing that occur as well. In addition to making sure the program runs correctly, we also make sure that it performs adequately. This means testing speed, and if necessary optimizing the components to run more efficiently. Once the testing has been completed, we do a final walk through with you and have you test the system to make sure it works the way you need it to.

Support
After the system has been in place and running for a while, there may be a need for maintenance. This includes training new employees on how to use the system, making updates to the software to account for new processes in your office, or adding new components or other features. From this point, the SDLC re-enters the Analysis phase and the cycle starts over.

About the Author

Brian Castellanos,
brian@inexo.com
Brian is Inexo's lead software engineer and is involved with all aspects of the development process to make sure the applications we develop deliver performance, stability, and reliability.


  [1 entry ]