Milestone-Driven Software Development Process

In software development, as in other scalable projects, small projects are easier — they are easier to plan for, define, estimate and work on, etc. It’s also much easier to track goals in small projects and to see how well those goals are met. Our software development process essentially takes a project, no matter how large, and breaks it down into smaller projects that are well defined and efficiently managed. This process gives our clients the chance to evaluate the progress, value, and usefulness of their application in incremental stages, thus helping the project stay on budget, on schedule, and on point.

Our Development Process Allows for Early Changes on a Project Based on Early User Feedback

When incremental tasks are completed successfully and stacked upon themselves, they yield successful projects. The milestones we use in our development process have built-in tools that help validate progress, business objectives, and success. We document what we will give our clients, and the test plan developed for each mini project allows clients and other stakeholders to cross-check our work. The documents we provide for each milestone also offer a convenient, centralized place for stakeholders to view exactly what we plan to do, which can be helpful to a client if, for example, they want their IT department time to weigh in on infrastructure, etc.

An Account Manager's Summary of Our Process

We start each project with a Planning Milestone. This initial step consists of getting a general understanding of the scope of the entire project, and a specific, detailed understanding of the first 1-2 months (or milestones) of work. In the second milestone, we begin laying out the workflow of the app (or iteratively wireframing) with refinements based on your feedback. When this workflow is accepted, we move forward with more detailed frontend designs (again, iteratively with your feedback), and, once these are approved, we begin implementing these designs with our developers. Each release will then be thoroughly tested and sent to you for review. While this process moves forward, your Project Manager (PM) will work with you to begin defining in detail the next milestone. We essentially repeat the whole process until you are satisfied that your business needs are fulfilled.

We welcome deeper, development process discussions with you or your internal development team.

A Detailed Overview of our Development Process

Successful custom software development projects evolve and the development process itself must embrace and manage that transformation. A process that is too rigid will miss the end target and inevitably require expensive, time-consuming rework, while a process that is too loose will eventually lose direction, burn unnecessary budget, and never be implemented successfully. Art+Logic utilizes a milestone-driven approach based on proven agile development principles.

Milestones promote:

  • A focused and efficient use of budget
  • Visible and verifiable progress
  • Frequent opportunities to make refinements
  • Cooperative prioritization of work
  • Successful results
Illustration of Our Development Process
Art & Logic's Custom Software Development Process

Milestone 1, 2, N . . .

Each development milestone repeats a pattern that involves:

Code development of the features and functionality defined in the previous milestone. Implementation incorporates:

  • Design
  • Coding
  • Refactoring
  • Testing: Unit testing, regression testing, and user testing of the milestone features and functionality.
  • Bug fixing
Delivery of the features and functionality completed in the 4-to-6 week period allotted to the milestone. Delivery can come in many shapes and sizes, targeted for different purposes. Whenever possible a demonstration will highlight the milestone deliverables.

  • Planning documents or UI mockups for approval
  • Staging release for interim feedback
  • Alpha release for usability testing
  • Beta release for end-user feedback
  • Production-ready installer
Done in parallel with the implementation and testing efforts, the Project Manager will work with you to plan and define the next milestone of work. Planning includes:

  • Assess remaining work
  • Requirements
  • Wireframing
  • Estimations
  • The Non-Technical Overview of Our Process

    First, we meet with your team to understand the big picture – what are you trying to accomplish? This is a big picture view of the project. The goal of this initial discussion is simply to gain sufficient understanding of your project so that we can give you a rough ballpark idea of cost and schedule that you, in turn, can use for business planning purposes. It’s not an attempt to provide you with a detailed estimate or project plan. Let’s face it, at this point in our relationship, we know less about your project than we will at any other point over the course of our work on your project. Attempting to deliver a detailed estimate before learning even more about your needs and wants would be irresponsible and, frankly, misleading. The rest of our process roughly follows the following outline:

    • We collaboratively decide what the heart of the application is, what needs to be done first.
    • Looking just at the heart of the application, we collaboratively unpack the requirements, both from a business intelligence and technical perspective. When we’ve all decided on what exactly we’ll be doing and sign off on that, Art+Logic estimates the work and submits that for approval.
    • We implement ruthlessly.
    • We test ruthlessly, using the test plan developed during the estimation of the milestone.
    • We release to you and ask that you, with the test plan and Requirements document in hand, validate the application and provide feedback.
    • We reconvene and decide what to do next.
    • Repeat until you determine we’re done.

    Our process ensures that you, as the client, and we, as your developers, have the necessary latitude to address the realities of custom software development as they arise, and thereby deliver a successful project that benefits you, your business, and the end users of your software. Contact us to learn more about what we can do for you.

    Accurate Timing

    Accurate Timing

    In many tasks we need to do something at given intervals of time. The most obvious ways may not give you the best results. Time? Meh. The most basic tasks that don't have what you might call CPU-scale time requirements can be handled with the usual language and...

    read more
    Exploring Dependent Types in Idris

    Exploring Dependent Types in Idris

    When I'm not coding the "impossible" at Art+Logic, I take a lot of interest in new programming technologies and paradigms; even if they're not yet viable for use in production, there can often be takeaways for improving your everyday code. My current...

    read more
    Legacy Vulnerabilities AKA Software Senescence

    Legacy Vulnerabilities AKA Software Senescence

    Does your business still have an XT computer in the back office because it's running that one version of some database software that your business depends on? Yeah, we know there is. Most modern software doesn't work like that. If you aren't keeping your custom...

    read more
    Contact Us