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

My must-have apps for daily work

There is no doubt that cool apps can help us be more productive and enjoyable at work. For the time being, I really love the following apps which are used by me almost every day. 1. A personal Kanban In fact, a personal kanban is the most useful app for me. Why does it matter? It is not just a to-do list, but it keeps me motivated every day because it helps me be able to know what my "big picture" is. I usually set up my plans together with a path to reach them.  KanbanFlow  is my preferred tool. KanbanFlow 2. A terminal Needless to say, a terminal is a must-have app for every developer, especially the ones use macOS/Linux. Due to its importance, I love to decorate and enhance it to be super exciting with various tools such as  iTerm ,  oh-my- zsh , and  thefuck . ;) iTerm + oh-my-zsh 3. A documentation "ecosystem" As a developer, I can not remember all things that I have experimented a day. Moreover, a document is really useful for sharing an...

Monday vhandit #1

This is the first post in a series of articles called "Monday vhandit". You can go to the original post by clicking on each head title. Character encodings: essential concepts This article points out why Unicode matters and differentiates among concepts: character sets, coded character set (unit is code points), and character encoding. Explained from First Principles: the Internet The very structural and well-explained article contains almost concepts of the Internet. I really appreciated the author's effort put on that post. Dev Community - DevDojo I just joined this community. DevDojo is really a developer-oriented platform. It is very nice, easy, fast, and sufficient to write (Markdown supported) and search for a post. The best of it, you also have a personal blog for your posts at "<your_username>.devdojo.com". My username is vnnvanhuong Everything you need to know about HTTP security headers A good collection of HTTP security-related headers. Moreover...

Selenium - Override javascript functions to ignore downloading process

I have got an issue with downloading process on IE 8. This browser blocks my automatic-download functionality on my app so that I could not work with my test case any more after that. In my case, I didn't care about the file is downloaded or not, I just focus on the result after downloading process finished successfully. Therefore, I found a solution to ignore this process so that I can work normally. I use Primefaces, here is the remote command to trigger the download process <p:remoteCommand name="cmdGenerateDocument" actionListener="#{logic.onGenerateDocument}" update="xrflDocumentCreationPanel" oncomplete="clickDownloadButton();"/> The following is my test case: @Test public void shouldUpdateStep6ToWarningIfStep1IsValidAfterFinished(){ MainPage mainPage = new MainPage(); waitForLoading(mainPage.getDriver()); EmployeeDetailPage empDetailPage = new EmployeeDetailPage(); waitForLoading(empDetailPage.getDriver()); e...

My 2017 Review

Passion for System Design After finishing a one year project, my longest stable team (lasted for 3 years) was separated into two smaller teams. Sadly, but that was a good chance for me to become a key member in my new team. My preferred skills were about system architectures; therefore most of the tasks of building the application structures were handled by me. In order to enhance my design system skills, I have spent much my time for reading books closely after work. These following books help me a lot. - Object-Oriented Thought Process | Matt Weisfeld - Head First Design Pattern  | Elisabeth Freeman and Kathy Sierra - Java 8 in Action: Lambdas, Streams, and Functional-style Programming | Alan Mycroft and Mario Fusco Junior Technical Architect I was requested to join a technical architect team (aka Team. Alpha) where I actually had gained experiences almost on interviewing candidates for my company (lol). Besides, I noticed myself must improve the skills of convinci...