Our very first Tinker-workshop took place yesterday with a lesson in Agile Methodology. A part of our ongoing series, Tinkerseries: The essentials for introducing technology into your business, this Agile workshop aims to help more people understand the fundamentals of Agile Software Methodology.
The speaker for the evening, Mr Michael Tan, is a trainer with the Institute of Systems Science at National University of Singapore (NUS-ISS). He trains in Agile and Business Analysis and has many years of industry experience in implementing projects using Agile methods such as Scrum and Kanban.
For the 1.5 hour session, Mr Michael Tan used different activities to illustrate the fundamental concepts of Agile.
Building paper airplanes
For the first activity, the participants were asked to form teams of 4–6 and had to fold paper airplanes based on the instructions given in each scenario. This was done in 4 rounds, or 4 different iterations, each with a different set of instructions/scenario.
The instructions were simple. Using the limitations given (in the image above), each team had to take some time to discuss, plan and estimate the number of steps required, build the paper airplanes, test the airplanes, and reflect over what works and what doesn’t.
Our participants had loads of fun and put their problem solving skills to good use.
Each iteration saw an increasing level of difficulty.
In the 3rd iteration, pressure was applied to the groups by getting them to fold and test 30 airplanes in 5 minutes.
In the last round, the "Management" and the team came together to discuss how the team can be more productive. The discussion led to changes such as creating more testing areas and removing the restrictive plane making process.
The results at the end of 4 rounds were as follows:
While applying pressure to low performing teams is effective in increasing productivity, it is only when clients work closely with teams can the best results be produced.
“Under performing teams improve under pressure, but self managed teams perform the best.”
Only when both sides, the client and the project team, fully understand the scope and project requirements can the best results be produced. This does not require micromanagement or stress on either party, and quality will be assured.
The activity also showed the importance of the different steps within the Agile process: planning and estimation, crafting the different iterations and its requirements, executing, testing, and reflection.
Benefits of Agile
The key benefits of Agile was also covered. Agile process has benefited businesses in many aspects. This slide from NUS-ISS sums it up nicely.
Courtesy of NUS-ISS
In the Waterfall approach, speed is of essence but quality is compromised. In Agile, quality is important but the scope of the project is compromised. That is why in Agile, we emphasize the building of a Minimum Viable Product (MVP).
Mr Michael Tan also spoke about the different contracting models used in Agile.
Time and materials
In this model, the client pays according to the amount of time and materials the agency utilises on the project. This gives clients the flexibility to make changes during the project, and ensures that you do not pay more than necessary.
However, there are cons to this model as well. There is a high motivation to work slowly so that more money can be earned from each project. Therefore, you should be careful when contracting agencies who use time and materials, and ensure accountability in the project.
Demonstrating how to work with user stories between different parties (client, developer, and project manager)
In Tinkerbox, we use this model when billing our clients because of the flexibility it offers. To ensure reliability and accountability, we measure our developers’ capabilities by daily status report submissions to our clients and the use of individual user story estimate tracking. We then adjust our billing accordingly to ensure that we do not over charge our clients.
Capped time and material
This model follows the time and materials model. However, there is an agreement to cap the total amount spent. Therefore, any additional cost will be shouldered by the contractor. In other words, the contractor works for free until features are done.
While this sounds great for the client, it may result in more problems eventually. Since contractors cannot charge more, they may try to deliver the bare minimum, and shift to lower quality resources just to lower their costs. In the long run, the lower quality may result in more costs for the client.
Money for nothing, change for free
This model is a fixed price contract which allows the client to terminate any time through the project as they pay per iteration. However, since the final price of the project is fixed, it limits the scope of the project and offers less flexibility to the client.
“Doing a project is an endeavour. With limited time and resources, can you succeed?”
Close collaboration between the client and the contractor should be forged through the project and a mutual understanding should be cultivated. Only with such mutual understanding and proper processes (repetition of “do, test, run user feedback”) can projects be successful and of high quality.
We've made the e-version of our Agile handout available! Please click here to access.
This is the fourth article in the mini series "Tinkerseries: The essentials for introducing technology into your business". To check for the latest updates regarding the series, please visit https://www.tinkerbox.com.sg/blog/2016/tinkerseries-the-essentials-for-introducing-technology-into-your-business.
Or go to the next article here.
To learn more about Agile development, you can visit NUS-ISS website at https://www.iss.nus.edu.sg/executive-education/discipline/detail/agile.