Background
To be clear to all audiences, our company name is Agile App Co. and Agile Software Development is a way of practising software development and managing the process in which it is written. The reason we are called Agile App Co. is because we are strong advocates of the principals contained in Agile Development.
Step 1: Change Mindset
our experience in 2016, has shown that there needs to be a huge mind shift in the way we approach taking on a software project. Most people want “zero” risk when taking on an app or software development project and immediately associate the way to do this as enforcing a fixed price approach. Is this really the way to reduce your risk or does it in fact increase it? We would like to argue that there needs to be a change in the way we think about software development so that we can all get better software written at the end of it. The way in which we would propose this happens is by using principals of Agile Software Development and mixing that in with an open mind as to how a project should implemented.
Step 2: Forget The Old Way
So the old way of developing software is you design, you build and you test. Where design means you explicity outline every detail of the software application before you touch any code at all. This process if done right should take more than 30% of the total project time. Why is this bad?
The reason this is an incredibly ineeficient way of working is that firstly you’re spending a whole lot of time making assumptions. What do I mean by that? Well you’re building up a blueprint of what you think the system should look like without seeing anything. Which means your relying on at best what your users “think” they want rather than what they “know” they want. This is true because it’s human nature to change our mind and the old way of doing software doesn’t fit with this.
Step 3: Adopt The New Way
The new way is that we start developing your software as early as one week after your deposit is paid and you will also have a version of your software on your phone/device as early as one week in to the project or if it’s a web project as early as one day in. Now there is one very important rule here that needs to be considered by both the client and the developer. This is our own agile principal (a take on agile principal 10 from agile alliance). STICK TO THE MVP! Or “Simplicity–the art of maximizing the amount of work not done–is essential.” By keeping in mind that the first goal is to solve the problem that the software is trying to solve. This will “truly” reduce your risk because it focusses on reducing the amount of time involved in doing it’s intended job! Surely that is risk reduction!?
What you will find hard about the new way is that whilst we are all getting to feel comfortable with this new way of working. Your first time so to speak will feel like a leap of faith. Trust me… it isn’t. Here are some hurdles you might have to get over to adopt an Agile approach.
- If the budget is fixed, so is the timeframe.
- It’s iterative not linear i.e. it’s 20 times around the track not a 10 mile jog in a straight line.
- You (The client or product owner) must be heavily involved.
- There’s no definitive end to development.
References
http://www.allaboutagile.com/what-is-agile-10-key-principles/
https://www.agilealliance.org/agile101/12-principles-behind-the-agile-manifesto/