T: 612.823.4000 1437 Marshall Avenue, Suite 200
F: 651.789.0023 St. Paul, MN 55104 USA
E: info@mentormate.com Map & Directions
Minnesota Software Development Solutions in Minneapolis / St. Paul | MentorMateWhy use our custom software development services?What we do to ensure the quality of our custom software developmentWho our custom software development team has on boardThe history of our custom software development team
What We Do
We provide custom software development solutions.
Learn what "user first" means.
The MentorMate Way™: Explore the stages of the development process.
We track our own progress carefully and keep you informed.
Minnesota Software Development Solutions in Minneapolis / St. Paul | MentorMate

 

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.)