Sofvue's Development Approach
Ideas are plentiful. What can be daunting, if not understood, is implementation.
At Sofvue, we've spent nearly two decades developing tried-and-true processes to develop over $16MM dollars in released software. This process did not come easily, it came with pain and failure. We learned early that assembling the right team, knowing the right questions to ask, establishing and understanding budgets and over-communicating determine success or failure. With these starting points in mind, Sofvue undertakes a seven phase approach in developing software, briefly described as follows:
1) Concept and Firm Selection. Unlike many firms that try to be all things to all people, Sofvue only serves the real estate market. Our first goal is to meet with you and your team to learn more about your project...and whether we are the BEST fit. When we are, we go right to work.
2) Design and Deliverables. We help you identify the major deliverables, sprinting schedule and budgets. Next, we create the wireframes, whether low-, mid- or high-fidelity. Well-crafted wireframes force the discovery of modules and components that otherwise are always missed. This process, once completed, drives every step of the project through completion.
3) Code. With the proper amount of documentation, Statement of Work (SOW), Use Cases, defined algorithms, along with well defined project goals, programmers and project managers have little need to interface with Project Owner(s) and/or Stakeholders. Objectives are so clearly defined that programmers, upon receiving sprint documentation, can immediately begin coding or knowledge transfer time. This increases the rate of speed of programming and virtually eliminates meetings typically required to explain every nuance and component.
4) Test. At Sofvue, testing means much more to us than automated testing, error trapping and validation. Our testers fully understand each use-case and how the application will actually be used by real people. Once fully understood, testers validate against use-cases, not source code.
5) Launch. At this phase of the project, we help you implement the hosting requirements previously defined in the original (SOW). We then locate the best hosting provider for your application. In some cases, GoDaddy VPS or dedicated server solutions work well. For other and more mature applications, Amazon Web Services and their range of dynamic hosting solutions might the better option. Either way, we work with you and your team to determine expected traffic, server loads, costs and which hosting solution will deliver maximum ROI.
6) Stabilize. Perfect software is a myth. No matter how much testing occurs, it's impossible to test for every conceivable way a user might interact with new software. As a result, user's must be given ample time to interface with the modules and components, identify bugs, discover new or unanticipated needs, and make appropriate corrections and updates to the software. Only after a reasonable amount of time has elapsed, and it's "all quiet", should the next sprint be released.
7) Repeat. Software development is iterative. Over time, innovative ideas and concepts are introduced from staff, management and customers. Each should be examined and either added to the "next version" schedule, or discarded. When the list becomes large enough to justify development costs, the entire process repeats with phase 1.
Be sure to review some of our case studies, and to learn more, contact us at 623-845-2747.