One of FPT IS’s OKRs for the year 2019 is to increase work efficiency by 20%. In order to meet this target, management and officials need to constantly improve, reduce operation time, while ensuring efficiency.

Projects deployed or in deployment at FPT IS often face problems of “punctuality” and “changeability”. In the understanding of worldwide project deployment principles, the Production management has reached researches on Agile – Scrum, as well as practical testing of several FPT, IS projects. The management hopes for one of those to be the solution needed for countering the aforementioned problems.

For a general outlook on Agile, Scrum method, and respective applications, following are some most basic information on Agile – Scrum.

1. What is Agile?

Agile is the ability to cater for incurred problems and respond to changes. It is also a way of reciprocal to reaching the final target (which is to succeed) in a condition full of instability and chaos.

“Agile” is the name chosen for the idea borne out of the “Agile Manifesto”. This is to highlight the role of adaptation and responsiveness to changes in the applied software development method.

Now, the method truly understands what happens in the current software development environment. It also helps to define potential instabilities, and even derives adaptive measures to those during your time of using it.

Agile software development does not only include frameworks lie Scrum, XP… or is simply made of practical measures like Pair-programming, TDD, stand-ups meeting, sprint…

Rather, Agile software development is an umbrella term that comprises of frameworks, habits, and customs built on the basis of values and principles listed in the “Agile Manifesto” and the attached “12 principles”. It is not one concrete recipe or procedure, but a varying approach that takes into account real situations and contexts, where the keyword is adaptive.

Source: https://www.agilealliance.org

2. What is Scrum?

Scrum is a set of values, principles, and practical methods, which is light but powerful.

Scrum utilizes an “inter-functional” group to provide short-term products and services, and allows:

  • Quick response;
  • Constant improvements;
  • Quick adaptation to change;
  • Quick delivery.

In general, Scrum divides large products and services into smaller parts that can be completed (and even issued) by an “inter-functional” group in a short “timeframe”.

Individual Scrum groups will check each product “batch” upon completion, and adjust the following plans accordingly – based on the learning process and response that may help reduce risks and waste. Such procedure is repeated continuously, until all products meet the customer demand, for businesses have the chance to adjust compatibility at the end of each “timeframe”.

Source: https://www.scrumalliance.org – World’s leading Scrum Certification Organization.

Scrum had been experimented in Western ever since the 1920s, and is generally used by well-known tech giants like Yahoo, Nokia, Microsoft, Google, Philips, BBC, Siemens, Intuit,…  In Vietnam, most tech companies and start-ups are using Agile, including the “3 Bigs” – FPT Software, Vietel, VinID – companies that utilize Scrum – Agile in product development, SI, and outsourcing.

It has been almost 20 years since the birth of “Agile Manifesto” – which is still in use by large companies worldwide, holding its stand in the software development industry.

3. Agile application in projects

3.1. What is the purpose?

This is a seemingly simple question, yet the answer to it can go on for pages long. However, it is best to keep the answer brief, simple, and marketable. We have “Application to avoid obsolescence, for obsolescence means death” – an interesting and honest answer, as it refers to something unknown, yet has been successful in the West for almost 2 decades. Or we can list a reason that is more fun like “Our boss wants us to OT more, out of our free will”…

It is clear that coming up with a purpose is easy, but to match the idea of Agile, we better keep it simple. This may be the reason why the target board and the bull’s eye are very often the token icons to key words of “target”, “purpose”, and so on. Picking a good purpose will create a better lead to keep things from getting off track.

Now, let’s not focus on the effects of having a purpose, for it is too apparent. Rather, keep it in mind that the purpose of applying Agile is to be made brief and honest. Sometimes, this makes Agile feel seemingly born for OKR (Objectives and Key Results).

3.2. Is it suitable for the project?

Is there any perfect solution to every problem? Similarly, both Agile and traditional project management methodology cannot be suitable for all types of projects. Of course, there is always a way to make things work, but we need to note that it is “suitability” that is important. For a clearer example, let’s take some cooking examples: you can use a butcher knife to carve, but it will never be as easy as taking a specialized carving knife, and you can use a rice cooker to make a bunch of dishes, but its major function is obviously to cook rice. It is apparent that in all these cases, the tools make things POSSIBLE, yet they are not SUITABLE.

In order to know what projects are Agile suitable for, we shall need a tool, or a standard to categorize the project before making a decision. And Cynefin is one such tool.

Cynefin is a tool that categorizes difficulty into the following levels:

  • Obvious.
  • Complicated.
  • Complex.
  • Chaotic.

From this, we have the following project identification and response table:

Level of difficultyIdentification featuresResponse
Obvious
  • Repeated patterns and events.
  • Clear cause and effect relationships between related parties.
  • The existence of one correct answer.
  • People know clearly what is a need, and there is no Unknow region.
  • Fact-based management.
Use best practice

  • Predict first, then categorize, then respond.
  • Use a standard procedure.
  • Authorization.
  • Use best practices.
  • Communicate clearly and directly.
  • Face-to-face communication may be unnecessary.
Complicated
  • Requires analysis from specialists
  • Cause and effect relationships can be detected, but not as clearly.
  • The existence of more than one answer.
  • Unknow regions that are acknowledged and manageable.
  • Reality-based management.
Use Waterfall

  • Predict first, then analyze, then respond.
  • Form a specialist team.
  • Listen to advice.
Complex
  • Constant and unpredictable changes.
  • No correct answer, operation standards are made in-process.
  • Unable to name unknown matters, unclear Unknow regions and how to eliminate them.
  • Contrasting ideas.
  • Need for innovative and ground-breaking approaches.
  • Pattern-based leadership.
Use Agile

  • Test first, then predict, then respond.
  • Create test environments that allow the appearance of patterns.
  • Increase communication and two-way interaction.
  • Use idea-inducing methods like open discussions, encouragement of attractive features and contrasting ideas, manage and supervise these ideas to form patterns.
Chaotic
  • High frequency of the noise.
  • Unknown cause and effect relationship, lack of clues.
  • Lack of vision, all regions are Unknow.
  • Need for rash decisions with no time for consideration.
  • Pattern-based leadership.
No suggestion

  • Act first, then predict, then respond.
  • Observe to find effective answers rather than one resolute one.
  • Act promptly to maintain order (using commands and controls).
  • Communicate clearly and directly.

 

3.3. Procedure and framework

With a known purpose and suitability, our mindset is basically ready. Yet, just a mindset is not enough for function, we still need procedures and tools.

It is kind of ironic for we refer to Agile as something flexible and adaptive, and yet applies procedures mechanically for entire projects. While it is mentioned in the Agile manifesto that “Individuals and interactions over processes and tools”, keep an eye out the un-highlighted line at the end, that says “While principles on the right are of value, we hold the left section in higher regards”.

We can see that the authors of the manifesto themselves have affirmed such: do not think that “procedures are not needed” or “face to face is almighty”. Scrum – one of the most popular Agile-based frameworks stand proof to this. In particular, it has an almost closed “manufacture line”, various limits regarding SCRUM BUT, and a myriad of application regulations listed in the “Scrum guide”. Or if you ever paid attention to Scrum, you may see that events often happen at one particular period across cycles, creating unconscious habits in people.

In short, remember that while individual and interaction are more important than procedures and tools, procedures and tools are still of value, and are very much necessary.

3.4. Scrum Framework

Scrum is a rather suitable framework for Agile application.

It is quite the popular framework, with usage 50% higher than most other Agile-based ones. Scrum is called a framework for it includes best-practices and had been through testing, creations, and improvements before being determined as the most suitable, the standard for other projects to follow. However, it is rather impossible for it to suit all projects – a common first thought for first-time users of Scrums. While such thought is not untrue, as there is no perfect solution to all problems, after all, you have to understand clearly, apply practically, and learn your own lessons before altering it to your environment. It is ill practice to attempt such a thing, as cutting steps may leave crucial spaces and serious risks in the future.

All in all, take Scrum seriously before getting your own experience and alterations to match your environment.

Tran Duy Tien – FPT IS

Related posts: