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 through significant pain and failures. 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 of a project. With these starting points in mind, Sofvue undertakes a seven phase approach to 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 works in the real estate market. As a result, 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. First, 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, business and programming requirements. This process, once completed, drives every step through project 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 with zero meeting time.
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 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 that were defined in the original (SOW). We then help you locate the best hosting provider for your application. In some cases, GoDaddy VPS or dedicated server solutions work well for many smaller applications in their initial growth cycle. In other cases, 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 any number of sources. 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.