This term way introduced in 2001 by 17 software developers to create an efficient way of working and producing within a team. An Agile workflow stimulates forward planning, development within the product, quick prototypes, continuous improvement, and encourages the response to change the product rapidly and effectively. The group created a set of principles that have been defined as the “Agile Manifesto”.
These principles underpin the practise that constitutes an ‘Agile workflow’
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
6.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity (the art of maximising the amount of work not done) is essential.
11. The best architectures, requirements, and designs emerge from self-organising teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
(Beck et al. 2015)
The most common and traditional workflow (methodology) that has been widely adopted is known as the ‘waterfall model’. However the limitations on the model is very high. If problems are discovered within the product it is difficult to make changes as the project progresses as the model doesn’t allow an iterative process. Whereas the ‘Agile Workflow’ adopts an adaptive approach, which allows the designers/developers to change, the process if the needs of the project changes.
Below is a diagram of how an ‘Agile methodology’ would be carried out within a workplace.
There are various other approaches that could be adapted when creating an adaptive workflow such as a ‘Scrum Methodology’ which would include ‘Daily stand ups’ and ‘Sprints’ leading to an ‘Agile approach’.
The Scrum approach to agile software development marks a dramatic departure from waterfall management. Scrum and other agile methods were inspired by its shortcomings. Scrum emphasises collaboration, functioning software, team self-management, and the flexibility to adapt to emerging business realities.
Daily Stand Ups
In Scrum, on each day of a sprint, the team holds a daily scrum meeting called the “daily scrum.” Meetings are typically held in the same location and at the same time each day. Ideally, a daily scrum meeting is held in the morning, as it helps set the context for the coming day’s work. These scrum meetings are strictly time-boxed to 15 minutes. This keeps the discussion brisk but relevant.
In product development, a sprint is a set period of time during which specific work has to be completed and made ready for review (Rouse 2015). A sprint uses a sprint board where all aspects of the sprint or product will be outlayed for work to be completed on. An employee will take a task to complete, assign it to themselves. When finished they move it down into the next section for someone in that team to complete. .
Moving forward, our group has decided that we will try and use the ‘Agile Workflow’ as best as we can, as there are obstacles in the way of sticking to a truly ‘Agile’ methodology. This is due to the client that we are making the app for isn’t in direct contact with us as we (the university) is working for a company which is designing the overall app for the client. With that in mind the workflow won’t be as ‘agile’ as we would like it to be however by adopting this approach it will mean that hopefully the client we receive an app that they feel is fit for purpose rather than producing an app that isn’t useable or isn’t what the clients wanted in the first place which can happen when using a ‘waterfall’ approach.
Beck, K., Beedle, M., Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., C. Martin, R., Mellor, S., Schwaber, K., Sutherland, J. and Thomas, D., 2015. Principles behind the Agile Manifesto. [online] Agilemanifesto.org. Available from: http://www.agilemanifesto.org/principles.html [Accessed 6 Feb. 2015].
Cohn, M., 2015. Agile Topics | Mountain Goat Software. [online] Mountaingoatsoftware.com. Available from: http://www.mountaingoatsoftware.com/agile [Accessed 6 Feb. 2015].
Rouse, M., 2015. What is sprint (software development)? – Definition from WhatIs.com. [online] Searchsoftwarequality.techtarget.com. Available from: http://searchsoftwarequality.techtarget.com/definition/Scrum-sprint [Accessed 6 Feb. 2015].
Scrummethodology.com, 2015. Scrum Methodology & Agile Scrum Methodologies. [online] Available from: http://scrummethodology.com/ [Accessed 6 Feb. 2015].