



Software Development Process Models
Our commitment: we will listen to you, ask you the right questions, and always put the user first. We have three major types of development processes: Iterative, Waterfall and Agile. Below, you can learn more about the details of the user first approach through every step of the Iterative, Waterfall and Agile development processes.
Our process is also carefully monitored and communicated to you at every stage of development.
Iterative Approach: Plan, Build, Adjust
Plan
The iterative approach starts with a planning stage, similar to the waterfall approach. During this stage, we gather information about the end user, the business needs, and workflow.
Build
After planning, a short developmental stage takes place, typically ranging from a few weeks to a month. This short lifecycle provides a base for future iterative planning and allows certain features to be completed first.
Adjust
After the build stage, the features developed can be evaluated and adjusted. After adjustments have been made to the first features, the project returns to the Plan stage. Additional features are developed in each iteration until the project nears completion, and then the iterations focus on integration of features.
Waterfall Approach: Define, Design, Build, Test
Define
MentorMate is guided by the user experience. We design all of our products to be useful, logical, and practical for the end user. During the Define stage, we listen carefully to you as you discuss your business needs, and we ask you the right questions in order to understand the workflow of the business. We strive to achieve a clear vision of the end user experience.
Design
Once the need has been defined, we begin storyboarding. We work with our clients to develop visual concepts for each product. These visual concepts include branding features, navigation, animation, and highlighted points of interest within the user experience. Once we understand a client's branding and visual needs, we design the essential features of the product. We develop paper prototypes of the product throughout the design stage, ensuring good communication with our clients and consistency between iterations of design concepts. Everyone involved can see and touch the design at this point, and clients unfamiliar with software design can see how MentorMate designs software. Again, we always keep the end user experience front and center as the design stage progresses.
Build
MentorMate is continually prepared to respond to client needs during the development process. We keep you apprised of our progress through web-based tracking tools and in-person, telephone, and web communications. No question is too small and no problem is too big; we are here to meet your needs during every stage of development.
Test
We test all of our products to ensure an optimal end user experience. Quality assurance is highly important to MentorMate. As always, we are readily available for client communications during the testing stage of the development process.
The Waterfall Approach is best used when:
- The business needs and requirements do not change very much after they have been defined.
- Features are large and difficult to break down, either from a functional perspective, or a business need perspective.
Agile Approach: Define, Sprint, Evaluate
Define
In agile development, the client works directly with the developers to create user stories and requirements. These stories are prioritized by return on investment, minimum marketable functionality or degree of risk. The team then uses the prioritized stories to determine what they commit to deliver by the end of the sprint (generally 2 weeks).
Sprint
Three time horizons comprise the Sprint phase. The "Day" horizon defines the day's activities, the "Iteration" horizon defines goals within a certain portion of the project, and the "Release" horizon defines the ultimate goals for completion. During the sprint, developers meet the "Day" and "Iteration" horizons, communicating continuously with the client to obtain feedback. Each sprint typically takes two weeks, and the focus is always on producing usable code, so the goal of each sprint is to produce a usable product that can contribute to the "Release" horizon.
Evaluate
Continuous evaluation is done during the Agile process to ensure continued progress towards the "Release" horizon. This evaluation also allows the process to be redirected constantly, leading to the process being termed Agile. At MentorMate, we focus this redirection on user experience, always placing the user first.
Have a method in mind? Let us know which approach you'd like to use for your project. We look forward to working with you. Email us at mentormate@mentormate.com or call us at (612) 823-4000 (Mon-Fri, 8 A.M. to 4 P.M.)