Our Process

Our Process

Software development has been called an art as often as it has been called a science. The difficulty in deciding in which discipline it falls is probably indicative of why it is so complex an activity. At Affinity Systems, we recognize that software development is a confluence of both art and science. While no single development process is optimal for all projects, we have evolved an effective approach that helps ensure that our projects result in successful endeavours for our customers.

Our agile methodology defines not only how we work internally, but also how we work with our clients to produce solutions on time, on budget, and on target. It favours an adaptive rather than predictive style, avoiding the pitfalls of some methodologies that forsake flexibility for process. It emphasizes that although development consists of an ordered sequence of steps, there is considerable overlap and merging of activities throughout the project. Our development methodology includes:

  • Analysis: Our unique ability to work with clients helps set us apart from other organizations
  • Design: We work hard to keep our designs simple yet effective, by distilling the system into fundamental concepts that can be extended and generalized to apply to the entire application
  • Project Planning: We organize most projects around frequent visible milestones, providing feedback for both our clients and our developers
  • Development: We focus on one milestone at a time, but are forward thinking and always consider the implications of future functionality when making significant decisions
  • Documentation: Our documentation staff work together with development and QA teams from the design phase of a project onward
  • Quality Assurance: To handle the testing of different operating configurations, we use software tools that allow us to perform exhaustive, controlled tests under a variety of platforms and conditions
  • Deployment: We consider important issues when planning deployment to reduce any impact on quality of server, performance, and functionality
  • Maintenance & Support: We stand behind our software and provide support services to ensure it and future versions run in production flawlessly