Agile Software Development
At Smartlaunch we use a variation of Agile Software Development approach to software development, specifically "Scrum". Agile Scrum is an iterative, incremental development process. We break up the development of your software into chunks called "Sprints" and after each Sprint customers can review, assess, make changes, add and re-prioritize for the next stage of development.
You, the customer, actually get to use working software during the software development process to assess and critique. This is a very powerful method of managing a software project and making sure you get what you want. (Read more below about ECT - Embedded Change Technology - a very useful tool for reviewing and commenting on beta applications).
Agile promotes customer involvement and collaboration and keeps the customer in the loop throughout the project. The key to making agile work is that our state-of-the-art software platform gives you flexibility to easily make changes at any stage in the process and to publish working software with the click of a button (see Outsystems)
Agile has gained huge traction as a method of developing software because it results in better software that is much more in line with customer requirements (true scope).
"Scrum" is one of several project management methodologies that work within the agile software development umbrella. There are several ways to implement an agile process (you are not limited to using just one). "Scrum" comes from the reference to rugby where a players work together as a team.
In particular, Scrum uses the concept of sprints, sprint planning meetings, daily meetings, sprint review meetings product backlog and sprint backlog. Defined roles are assigned to members of the development team, both on the customer's side and on the development team side.
Here is some more detail on the process:
The Agile approach is to break down software development into discrete chunks called “sprints”. At Smartlaunch sprints are usually one or two weeks long. At the start of each sprint we sit down with the customer (the “project owner”) and plan what will be done prioritizing each requirement.
Review and Reprioritize
At the end of each sprint, there is a full review of progress to date. Changes are suggested, new features can be added and the work for the next sprint is laid out and prioritized. This process repeats until project completion.
During the sprints there is no interaction with the software development team and no changes or re-prioritization occurs until the end of a sprint.
The results are better if there is a single “product owner” on the customer’s team and that person needs to be available for each sprint review/planning meeting, often on a Monday morning.
On the Smartlaunch side, you will be working with an engagement manager whose job it is to represent the business needs of the customer to the development team. Sometimes this person is the lead developer depending on the project complexity and working relationship.
The result of the Agile process is simple: maximum customer satisfaction.
Easy to Quote, Easy to Get Going
Another benefit of agile software development is that a customer does not have to think through every last detail before quoting or starting a project – the nature of the process means that the details can be added or changed throughout as each stage is completed and assessed.
ECT is a software tool that allows users/testers to give instantaneous feedback on a page by clicking on the ECT Circle (which is literally a circle in the bottom right hand side of each screen in the beta software), then clicking the spot on the screen where the feedback applies to, writing a feedback note and clicking “Send”. This sends a comment to the development team, with a screenshot, so that they can see exactly what you are talking about.
Otherwise, you are stuck in the old paradigm of describing changes with words which takes more time and is much less accurate.
Here is a screenshot of some feedback in progress using the ECT Circle: