Skip to main content

Why Agile and Scrum Matter

Changes is constant, software development as well. Do you know the development of mobile phones, starting from Motorola DynaTAC (1973) to Iphone 6 (2014). How about the software? The new versions are released with new improvements.



Software is not always able to automatic repairing. Therefore, software should be changed frequently and we need responding to changes.



In working software today, how about customers' collaboration or requirements?

We ignore the fact that many customers don't know what they want.
We ignore the fact that when they know what they want, they can't describe it.
We ignore the fact the even when they can describe it, they often a proposed solution rather than a real need.
We ignore, that a lot of customers give us a solution but not the problem.


And, in working process, earlier founded bugs are cheaper.

Manifesto for Agile Software Development:

Individual and interaction over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan.

Scrum is an iterative and incremental agile software development methodology for managing product development. Agile is the way to think about responsiveness to changes and Scrum is a framework for increasing the speed and feedback loop.

Waterfall vs Scrum:


Waterfall process

Scrum process


Rather than doing all of one thing at a time, Scrum teams do a little of everything all the time.

Twelve Agile Principles:

          1. Produce Value Early
7. Working software
          2. Welcome Changes
8. Sustainable development
          3. Iterative Delivery
9. Technical excellent
          4.  Daily Business Collaboration
10. KISS – Smart, Sexy
          5. Trust motivated team
11. Self-Organized team
          6. Face to face
12. Reflect, Adjust, Adapt

Things are fit for Scrum:


Agile
Lean
Kanban
Scrum
XP
Type
The way to THINK
Production PRACTICE
METHOD
FRAMEWORK
Technical PRACTICE
Goal
Responsiveness to changes
Reducing waste
Maximize the flow
Increase the speed and feedback loop
Improve software quality
Implementation
- Agile manifesto
- 12 Agile Principles
With principles and practices
Whiteboard
Sprint
- TDD
- Paring
- Swarming


References:
[1]. "Fit for Scrum" course - Mr. Sebastian Sussmann - CIO, Axon Active Vietnam
[2]. http://www.agilemanifesto.org/
[3]. http://www.agilemanifesto.org/principles.html

Comments

Popular posts from this blog

Performance of a Data Structure

Why data structures matter The fact is that programs are all about processing data. Data structures are referred to how data is organized which affects the time of executing a program. How to measure the performance of a data structure In order to measure "how fast"/efficiency/performance of a data structure, we measure the performance of its operations. There are four basic operations including reading , searching , insertion , and deletion . A pure time consuming is not used for the measuring because it is not reliable depending on the hardware that it is run on. But instead, we use the term time complexity which refers to how many steps an operation takes. An example of how a single rule can affect efficiency Let's compare two data structures: Array and Set (with N elements). 1. Array - Reading : 1 step (because the computer has the ability to jump to any particular index in the array) - Searching : N steps (the worst case with linear search) - Inserti...

How I did customize "rasa-nlu-trainer" as my own tool

Check out my implementation here Background I wanted to have a tool for human beings to classify intents and extract entities of texts which were obtained from a raw dataset such as Rocket.chat's conversation, Maluuba Frames or  here . Then, the output (labeled texts) could be consumed by an NLU tool such as Rasa NLU. rasa-nlu-trainer was a potential one which I didn't need to build an app from scratch. However, I needed to add more of my own features to fulfill my needs. They were: 1. Loading/displaying raw texts stored by a database such as MongoDB 2. Manually labeling intents and entities for the loaded texts 3. Persisting labeled texts into the database I firstly did look up what rasa-nlu-trainer 's technologies were used in order to see how to implement my mentioned features. At first glance rasa-nlu-trainer was bootstrapped with Create React App. Create React App is a tool to create a React app with no build configuration, as it said. This too...

Fulfilling Your Contribution Needs

Human resource management motivation Managing human today is quite different from the industrial age which treats people as just "chickens". Rather than people now are very important to the success of an organization. People are an organization's special resource. They should be encouraged to grow to contribute their effort and creativeness to their beloved working environment because the contribution is one of their most needs in life. Training people: getting rid of the ineffective model and adopting the new one The ineffective model of training people: Hiring new people --> giving them a crash course once --> expecting them working effectively.  That somehow makes sense but you're about to expect a luck because you do not really spend your effort for mentoring them. If they can work effectively, well...lucky you! Otherwise, you will blame that these people are ineffective and you let them go and hire the new ones. What a waste of time! The new effe...

When we don't see the sun, we see other stars

What are your motivations for creativity? - I want to make a change. - It makes me happy! It is a need of my mind. How to be creative for a thing? There are two steps: - See the thing as every people see it - Think about a new different thing from it How to think about a new different thing? There are two ways: - Forget all things you have already known. - A whack on the side of your head. ;) This was what I have learned from the following great book: source: Amazon.com Well! A physical whack on the side of your head is needed sometimes but the meaning behind is that you need to break these 9 following locks on your mind. Remove them! The lock #1: "The correct answer" We all learn from schools that there is only one correct answer to a question. For example, a proposition is only true or false in Algebra. In reality, there are always some answers to a question basing on a point of view. For example, number 6 becomes number 9 if you look it ...

Make simple music program with beep(freq, duration) with Pascal

Pascal is my first programing language when I have studied in high school. It was really exciting for me. :) The Pascal programming language was created by Niklaus Wirth in 1970. It was named after Blaise Pascal, a famous French Mathematician. It was made as a language to teach programming and to be reliable and efficient. Pascal has since become more than just an academic language and is now used commercially . I tried to make a simple music program by using Lazarus IDE on MS Window 7, 64-bit. It frustrated me a few times how difficulty to use Sound command to make a sound. Sound did not work on my compiler and my platform anymore. So far, I just could use beep(freq, duration) from window unit to implement my work. Here is my code. ;) program mysong; uses Windows, crt; const C: Integer = 512; { x = A * EXP(LN(2)/12)} C_: Integer = 542; D: Integer = 574; D_: Integer = 608; E: Integer = 644; F: Integer = 682; F_: Integer = 723; G: Integer = ...