SlideShare a Scribd company logo
Agile or how to break down barriers between teams
In software development, Agile’s practices have the advantage of encouraging teamwork by breaking
down barriers between various teams in sales, development, business consulting, operations, and IT.
Google defines it as “relating to or denoting a method of project management, used especially for
software development, that is characterized by the division of tasks into short phases of work and
frequent reassessment and adaptation of plans.'agile methods replace high-level design with frequent
redesign'”. If that sounds a little confusing, here's another way of explaining it. When a software
company is developing an application, they use agile software development – or ASD – as a creative
process that is able to anticipate the need for both flexibility between teams and a pragmatic approach to
the technical debt that produces the finished product as expected by the client.
As Martin Fowler, agile software development “guru,” and CTO of Thoughtworks has said about this,
“The beauty of agile approaches is they recognize the value of refactoring, and have the automated, test-
driven discipline to make this low risk.”
In a previous article, I wrote about Balancing Technical Debt with Business Constraints. ASD is
perhaps THE key to successfully reaching this balance.
What do I mean by that?
In traditional software development, a client approaches with a problem they need a software solution
for. The software company sales department tells the client when to expect delivery, then hands the
order to the CTO, who then has to decide how in the world he can get his busy engineers to get it
finished in time. After much protesting and arguing with the sales manager, he takes the order to his
engineers and tells them what they have to do and when it has to be finished. They grumble and grump
about the pressure they're already under, then get to work on it as soon as they finish what they're
already doing. When the software is finally finished, often late, it's a huge and possibly still very buggy
solution, but it works fairly well, and they promise to give their client great customer support – aka –
removing the bugs at no charge as they come in...
Enter ASD. The idea for agile software development came from the dynamic systems development
method (DSDM) from the 1990s, and the DSDM Consortium, founded in 1994, which was intended to
help bring some order to rapid application development, which greatly decreased the time from order to
delivery, compared to prior methods with a strong emphasis on rigorous planning and specifications, but
had the unfortunate side effect of created sometimes massive tech debt by putting too much emphasis on
getting the finished product delivered quickly.
In early 2001, at a ski lodge in Utah, seventeen representatives from Adaptive Software Development,
Crystal, DSDM, Extreme Programming, Feature-Driven Development, Pragmatic Programming,
SCRUM, and others who recognized the need for an alternative to the old "waterfall" software
development processes got together to talk.
Out of that meeting came what is known as The Manifesto for Agile Software Development, or Agile
Manifesto.
The idea of the Agile method, in a nutshell, is twofold.
One – for all the teams involved in software development to work together, including the client, the
sales department, the research and development team, business consultants, operations people and IT
guys, so that they all understand and agree with each other about the vision, the backlog of features and
the roadmap.
Two – to continuously deliver in small, “digestible” and working applications, with continuous input
from the client, rather than in one large, cumbersome and potentially tech-debt-laden monstrosity. This
allows management to make changes, because the client and its users can use each new version earlier,
step by step, find the bugs and correct them, or even change priorities entirely.
The manifesto, wisely, while keeping these two principles in mind, makes customer satisfaction the
highest priority, by offering early and continuous delivery of valuable software. Again, rather than
trying to solve every single problem of the customer in one grand (and probably buggy) solution, we
deliver solutions to smaller, individually and recognizable problems that are an important part of the
whole. In doing this, the customer's life and confidence begins to improve very early in the relationship,
which is almost priceless in the even that we DO happen to run into a major bug later.
Rather than freaking out when the customer changes their mind or their needs change late in the
development of a product, we welcome changing requirements, because agile processes allow us to use
such changes to give our customer a competitive advantage.
Rather than spending six months to a year (or more) developing a total solution for all our customer's
needs, we deliver working software as often as possible, preferably in a couple of months or less.
We must put our business people and developers together on a daily basis throughout each project. This
is SO important. In our meetings, we all sat around the table as equals, each one bringing her or his own
perspective, insights and expertise to the table. It is critically important that business people and
developers see each other as allies and team-mates working toward the same goal.
If we want to achieve something great, rather than mundane and merely acceptable, we need our team
members to be motivated. This is why some of the most successful companies in the world, today, like
Google, Facebook and Microsoft encourage their employees to play and provide bright, cheerful
atmospheres with everything from games, to gym and yoga classes, to letting them bring their pets to
work and even to playing pranks on each other, such as Mark Zuckerberg posted on Facebook.
The point is, if we want creative and motivated people, we need to create the culture (environment and
support system) they need, then trust them to get the job done.
One very obvious part of the Agile Manifesto, although it is seventh on the list of twelve, is the fact that
we need to remember that working software must be the primary measure of success. One of the things
I often used to hear is, “It's all fun and games until somebody loses an eye.” The point was that we
have to remember why we go in every day, or we won't be going in for long. The business still has to
produce the product it exists for, or it will fold up.
A beautiful thing about the agile way of doing things is that it promotes sustainable development. When
everyone recognizes that the world of business is constantly and quickly evolving, it's possible for all
stakeholders to maintain a constant pace indefinitely. As Robbrrecht Van Amerongen so aptly put it,
“Software development is like running a marathon and not (a)100 meters sprint. You have to keep up to
speed but not run so fast that you exhaust yourself or your team members.”
The idea of agile is not to slap a product together for delivery, then quickly come up with version II for
next week, but to continually focus on technical excellence and good design. This means that a good
product gets delivered this week and an even better product in version II.
When I coached my kids as they learned to color, I first coached them on very tidy results by instilling
in them the importance of first choosing well defined outlines, then not coloring over the lines, then
focusing more and more on filling in everything inside the lines. Always, the focus was on design and
excellence. So we must focus on design and technical excellence in software production.
As in almost everything in manufacturing, from the Mars Rover to software, we must use the K.I.S.S.
Approach. Keep It Simple Stupid. Or, as I always liked to put it, Keep It Stupidly Simple. I used to tell
people that the job needs to be done right, but not hard. In other words, don't create unnecessary work
to get the job done. As a wise person once told me, “As soon as you create a foolproof system, they will
come up with a better fool.” As the Agile Manifesto succinctly puts it, “...the art of maximizing the
amount of work NOT done is essential.”
We need to encourage our teams to think for themselves and be able to organize themselves. They will
produce the best designs, architectures and requirements. I can't tell you how many times I have had
this proven to me. Let your people thrive on the pride of their own accomplishments! As shared in a
previous article, the CTO is the maestro in this orchestra, not the one who makes all the music!
I remember the day I said to my team in charge of our software products for airlines’ flight operations :
“We’re going to develop an optimization engine!” There was a blank stare. I was confident in the
project as I knew that our clients would sponsor us, I would acquire the skills by doing the research, and
the team would tackle the challenge. After we designed the architecture, we started to code business
logic, month after month, reporting our progress first to our clients and sharing our difficulties. 8 months
after, we delivered the beta version and 4 months later we finalized V1.
Again, I can't emphasize how important it is to have regular, short team meetings (from 15 to 30 min),
where everybody can brainstorm on how they can be more effective, allowing them to tune and adjust
their behavior accordingly. The results of doing this are quite amazing to observe. When everybody
realizes their input is important to the company, they become enthusiastic and motivated performers, not
only able, but willing to go that extra mile and produce something extraordinary.
The agile method for software development breaks down barriers between teams from every department
and area, creates a better, brighter, friendlier and happier work environment, and produces a higher
quality and evolving product in less time that everybody is happy with.
In keeping with the agile spirit, I welcome your comments and insight below!
Jean-Christophe (Jay C) Huc 14 July 2016
jch@huc.name

More Related Content

What's hot

Implementing Lean UX: The Practical Guide to Lean User Experience
Implementing Lean UX: The Practical Guide to Lean User ExperienceImplementing Lean UX: The Practical Guide to Lean User Experience
Implementing Lean UX: The Practical Guide to Lean User ExperienceJohn Whalen
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYADivya Tadi
 
Selling Agile
Selling AgileSelling Agile
Selling Agile
VersionOne
 
Product Development Using Agile and Lean Principles
Product Development Using Agile and Lean PrinciplesProduct Development Using Agile and Lean Principles
Product Development Using Agile and Lean Principles
Tathagat Varma
 
Surviving Back to Back Design Sprints and Securing UX Presence in Product Design
Surviving Back to Back Design Sprints and Securing UX Presence in Product DesignSurviving Back to Back Design Sprints and Securing UX Presence in Product Design
Surviving Back to Back Design Sprints and Securing UX Presence in Product Design
UXPA International
 
The Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and ClassroomsThe Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and Classrooms
Enterprise Knowledge
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
The 5 Levels Planning in Agile
The 5 Levels Planning in AgileThe 5 Levels Planning in Agile
The 5 Levels Planning in Agile
Dimitri Ponomareff
 
Scrum checklist
Scrum checklistScrum checklist
Scrum checklist
André Heijstek
 
TestOps and Shift Left
TestOps and Shift LeftTestOps and Shift Left
TestOps and Shift Left
Gervais Johnson, Advisor
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile developmentRajat Samal
 
Agile model
Agile model Agile model
UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...
UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...
UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...
ux singapore
 
Keeping Product Backlog Healthy
Keeping Product Backlog HealthyKeeping Product Backlog Healthy
Keeping Product Backlog Healthy
Dhaval Panchal
 
How to outsource Scrum projects guide
How to outsource Scrum projects   guideHow to outsource Scrum projects   guide
How to outsource Scrum projects guide
Leszek Leo Baz
 
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
Dimitri Ponomareff
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
Yi Xu
 
Effective Product Development Using Agile Methods
Effective Product Development Using Agile MethodsEffective Product Development Using Agile Methods
Effective Product Development Using Agile Methods
Naresh Jain
 
Product design - a designer's perspective
Product design - a designer's perspectiveProduct design - a designer's perspective
Product design - a designer's perspective
tianfei00
 
Forrester_Agile_Development_And_Customer_Experience
Forrester_Agile_Development_And_Customer_ExperienceForrester_Agile_Development_And_Customer_Experience
Forrester_Agile_Development_And_Customer_ExperienceJake Jacobs-Smith
 

What's hot (20)

Implementing Lean UX: The Practical Guide to Lean User Experience
Implementing Lean UX: The Practical Guide to Lean User ExperienceImplementing Lean UX: The Practical Guide to Lean User Experience
Implementing Lean UX: The Practical Guide to Lean User Experience
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYA
 
Selling Agile
Selling AgileSelling Agile
Selling Agile
 
Product Development Using Agile and Lean Principles
Product Development Using Agile and Lean PrinciplesProduct Development Using Agile and Lean Principles
Product Development Using Agile and Lean Principles
 
Surviving Back to Back Design Sprints and Securing UX Presence in Product Design
Surviving Back to Back Design Sprints and Securing UX Presence in Product DesignSurviving Back to Back Design Sprints and Securing UX Presence in Product Design
Surviving Back to Back Design Sprints and Securing UX Presence in Product Design
 
The Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and ClassroomsThe Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and Classrooms
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
The 5 Levels Planning in Agile
The 5 Levels Planning in AgileThe 5 Levels Planning in Agile
The 5 Levels Planning in Agile
 
Scrum checklist
Scrum checklistScrum checklist
Scrum checklist
 
TestOps and Shift Left
TestOps and Shift LeftTestOps and Shift Left
TestOps and Shift Left
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile development
 
Agile model
Agile model Agile model
Agile model
 
UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...
UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...
UXSG2014 Lightning Talks - Applying Lean UX in designing enterprise software ...
 
Keeping Product Backlog Healthy
Keeping Product Backlog HealthyKeeping Product Backlog Healthy
Keeping Product Backlog Healthy
 
How to outsource Scrum projects guide
How to outsource Scrum projects   guideHow to outsource Scrum projects   guide
How to outsource Scrum projects guide
 
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
 
Effective Product Development Using Agile Methods
Effective Product Development Using Agile MethodsEffective Product Development Using Agile Methods
Effective Product Development Using Agile Methods
 
Product design - a designer's perspective
Product design - a designer's perspectiveProduct design - a designer's perspective
Product design - a designer's perspective
 
Forrester_Agile_Development_And_Customer_Experience
Forrester_Agile_Development_And_Customer_ExperienceForrester_Agile_Development_And_Customer_Experience
Forrester_Agile_Development_And_Customer_Experience
 

Similar to Agile or how to break donw barriers

Scrum 18 months later
Scrum 18 months laterScrum 18 months later
Scrum 18 months later
Craig Brown
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
Cuneiform Consulting Pvt Ltd.
 
Highest quality code in your SaaS project. Why should you care about it as a ...
Highest quality code in your SaaS project. Why should you care about it as a ...Highest quality code in your SaaS project. Why should you care about it as a ...
Highest quality code in your SaaS project. Why should you care about it as a ...
The Codest
 
HOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdf
HOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdfHOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdf
HOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdf
Laura Miller
 
Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2
Orchestrate Mortgage and Title Solutions, LLC
 
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
Orchestrate Mortgage and Title Solutions, LLC
 
How to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideHow to outsource Scrum projects - a guide
How to outsource Scrum projects - a guide
XSolve
 
Lean web solutions with WordPress [English version]
Lean web solutions with WordPress [English version]Lean web solutions with WordPress [English version]
Lean web solutions with WordPress [English version]
Carlo Beschi
 
Career Assignment
Career AssignmentCareer Assignment
Career Assignment
Heidi Maestas
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
AgileNZ Conference
 
Biz Product Learnings
Biz Product LearningsBiz Product Learnings
Biz Product Learnings
Kinshuk Adhikary
 
Scrum Framework Explained
Scrum Framework ExplainedScrum Framework Explained
Scrum Framework Explained
Nacho Montoya
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
Maris Prabhakaran M
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sweetysweety8
 
Agile Commissioning A Beginners View
Agile Commissioning   A Beginners ViewAgile Commissioning   A Beginners View
Agile Commissioning A Beginners View
Peter Ashe
 
WinSmart Technologies
WinSmart TechnologiesWinSmart Technologies
WinSmart Technologiesbijunairk
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentDavinci software
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate Founder
Product School
 
Agile product development
Agile product developmentAgile product development
Agile product development
Brenn Hill
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software Development
Brianna Johnson
 

Similar to Agile or how to break donw barriers (20)

Scrum 18 months later
Scrum 18 months laterScrum 18 months later
Scrum 18 months later
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
 
Highest quality code in your SaaS project. Why should you care about it as a ...
Highest quality code in your SaaS project. Why should you care about it as a ...Highest quality code in your SaaS project. Why should you care about it as a ...
Highest quality code in your SaaS project. Why should you care about it as a ...
 
HOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdf
HOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdfHOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdf
HOW TO SCALE AGILE IN OFFSHORE SOFTWARE DEVELOPMENT.pdf
 
Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2
 
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
 
How to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideHow to outsource Scrum projects - a guide
How to outsource Scrum projects - a guide
 
Lean web solutions with WordPress [English version]
Lean web solutions with WordPress [English version]Lean web solutions with WordPress [English version]
Lean web solutions with WordPress [English version]
 
Career Assignment
Career AssignmentCareer Assignment
Career Assignment
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
 
Biz Product Learnings
Biz Product LearningsBiz Product Learnings
Biz Product Learnings
 
Scrum Framework Explained
Scrum Framework ExplainedScrum Framework Explained
Scrum Framework Explained
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Agile Commissioning A Beginners View
Agile Commissioning   A Beginners ViewAgile Commissioning   A Beginners View
Agile Commissioning A Beginners View
 
WinSmart Technologies
WinSmart TechnologiesWinSmart Technologies
WinSmart Technologies
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software Development
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate Founder
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software Development
 

More from Jean-Christophe HUC (Jay C)

Software modernization
Software modernizationSoftware modernization
Software modernization
Jean-Christophe HUC (Jay C)
 
ChatBots and UX
ChatBots and UXChatBots and UX
AI and music
AI and musicAI and music
Time series Databases
Time series DatabasesTime series Databases
Time series Databases
Jean-Christophe HUC (Jay C)
 
My key achievements
My key achievementsMy key achievements
My key achievements
Jean-Christophe HUC (Jay C)
 
Microservices
MicroservicesMicroservices
Are you employing a DevOps strategy?
Are you employing a DevOps strategy?Are you employing a DevOps strategy?
Are you employing a DevOps strategy?
Jean-Christophe HUC (Jay C)
 
Reflexilog
ReflexilogReflexilog
Management 3.0 : how to lead agile teams?
Management 3.0 : how to lead agile teams?Management 3.0 : how to lead agile teams?
Management 3.0 : how to lead agile teams?
Jean-Christophe HUC (Jay C)
 
The SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No OtherThe SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No Other
Jean-Christophe HUC (Jay C)
 
DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?
Jean-Christophe HUC (Jay C)
 
The CTO, Manager and Bandmaster
The CTO, Manager and BandmasterThe CTO, Manager and Bandmaster
The CTO, Manager and Bandmaster
Jean-Christophe HUC (Jay C)
 
Voyage Toundra Arctique
Voyage Toundra ArctiqueVoyage Toundra Arctique
Voyage Toundra Arctique
Jean-Christophe HUC (Jay C)
 
Robotics and Artificial Intelligence
Robotics and Artificial IntelligenceRobotics and Artificial Intelligence
Robotics and Artificial Intelligence
Jean-Christophe HUC (Jay C)
 
Benefits of big data
Benefits of big dataBenefits of big data
Benefits of big data
Jean-Christophe HUC (Jay C)
 
The CTO, manager and bandmaster
The CTO, manager and bandmasterThe CTO, manager and bandmaster
The CTO, manager and bandmaster
Jean-Christophe HUC (Jay C)
 
what a CTO does? Part 1
what a CTO does? Part 1what a CTO does? Part 1
what a CTO does? Part 1
Jean-Christophe HUC (Jay C)
 
Le cto, manager chef d'orchestre. Partie 2
Le cto, manager chef d'orchestre. Partie 2Le cto, manager chef d'orchestre. Partie 2
Le cto, manager chef d'orchestre. Partie 2
Jean-Christophe HUC (Jay C)
 

More from Jean-Christophe HUC (Jay C) (19)

Software modernization
Software modernizationSoftware modernization
Software modernization
 
ChatBots and UX
ChatBots and UXChatBots and UX
ChatBots and UX
 
AI and music
AI and musicAI and music
AI and music
 
Time series Databases
Time series DatabasesTime series Databases
Time series Databases
 
My key achievements
My key achievementsMy key achievements
My key achievements
 
Microservices
MicroservicesMicroservices
Microservices
 
Are you employing a DevOps strategy?
Are you employing a DevOps strategy?Are you employing a DevOps strategy?
Are you employing a DevOps strategy?
 
Painting 1
Painting 1Painting 1
Painting 1
 
Reflexilog
ReflexilogReflexilog
Reflexilog
 
Management 3.0 : how to lead agile teams?
Management 3.0 : how to lead agile teams?Management 3.0 : how to lead agile teams?
Management 3.0 : how to lead agile teams?
 
The SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No OtherThe SR-71 Blackbird – Speed and Stealth Like No Other
The SR-71 Blackbird – Speed and Stealth Like No Other
 
DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?DevOps: What does this term mean and why should we care?
DevOps: What does this term mean and why should we care?
 
The CTO, Manager and Bandmaster
The CTO, Manager and BandmasterThe CTO, Manager and Bandmaster
The CTO, Manager and Bandmaster
 
Voyage Toundra Arctique
Voyage Toundra ArctiqueVoyage Toundra Arctique
Voyage Toundra Arctique
 
Robotics and Artificial Intelligence
Robotics and Artificial IntelligenceRobotics and Artificial Intelligence
Robotics and Artificial Intelligence
 
Benefits of big data
Benefits of big dataBenefits of big data
Benefits of big data
 
The CTO, manager and bandmaster
The CTO, manager and bandmasterThe CTO, manager and bandmaster
The CTO, manager and bandmaster
 
what a CTO does? Part 1
what a CTO does? Part 1what a CTO does? Part 1
what a CTO does? Part 1
 
Le cto, manager chef d'orchestre. Partie 2
Le cto, manager chef d'orchestre. Partie 2Le cto, manager chef d'orchestre. Partie 2
Le cto, manager chef d'orchestre. Partie 2
 

Recently uploaded

TCS AI for Business Study – Key Findings
TCS AI for Business Study – Key FindingsTCS AI for Business Study – Key Findings
TCS AI for Business Study – Key Findings
Tata Consultancy Services
 
Founder-Game Director Workshop (Session 1)
Founder-Game Director  Workshop (Session 1)Founder-Game Director  Workshop (Session 1)
Founder-Game Director Workshop (Session 1)
Amir H. Fassihi
 
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
juniourjohnstone
 
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
CIOWomenMagazine
 
W.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest ExperienceW.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest Experience
William (Bill) H. Bender, FCSI
 
Leadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact PlanLeadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact Plan
Muhammad Adil Jamil
 
Training- integrated management system (iso)
Training- integrated management system (iso)Training- integrated management system (iso)
Training- integrated management system (iso)
akaash13
 
Modern Database Management 12th Global Edition by Hoffer solution manual.docx
Modern Database Management 12th Global Edition by Hoffer solution manual.docxModern Database Management 12th Global Edition by Hoffer solution manual.docx
Modern Database Management 12th Global Edition by Hoffer solution manual.docx
ssuserf63bd7
 
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
gcljeuzdu
 

Recently uploaded (9)

TCS AI for Business Study – Key Findings
TCS AI for Business Study – Key FindingsTCS AI for Business Study – Key Findings
TCS AI for Business Study – Key Findings
 
Founder-Game Director Workshop (Session 1)
Founder-Game Director  Workshop (Session 1)Founder-Game Director  Workshop (Session 1)
Founder-Game Director Workshop (Session 1)
 
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
 
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
 
W.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest ExperienceW.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest Experience
 
Leadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact PlanLeadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact Plan
 
Training- integrated management system (iso)
Training- integrated management system (iso)Training- integrated management system (iso)
Training- integrated management system (iso)
 
Modern Database Management 12th Global Edition by Hoffer solution manual.docx
Modern Database Management 12th Global Edition by Hoffer solution manual.docxModern Database Management 12th Global Edition by Hoffer solution manual.docx
Modern Database Management 12th Global Edition by Hoffer solution manual.docx
 
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
 

Agile or how to break donw barriers

  • 1. Agile or how to break down barriers between teams In software development, Agile’s practices have the advantage of encouraging teamwork by breaking down barriers between various teams in sales, development, business consulting, operations, and IT. Google defines it as “relating to or denoting a method of project management, used especially for software development, that is characterized by the division of tasks into short phases of work and frequent reassessment and adaptation of plans.'agile methods replace high-level design with frequent redesign'”. If that sounds a little confusing, here's another way of explaining it. When a software company is developing an application, they use agile software development – or ASD – as a creative process that is able to anticipate the need for both flexibility between teams and a pragmatic approach to the technical debt that produces the finished product as expected by the client. As Martin Fowler, agile software development “guru,” and CTO of Thoughtworks has said about this, “The beauty of agile approaches is they recognize the value of refactoring, and have the automated, test- driven discipline to make this low risk.” In a previous article, I wrote about Balancing Technical Debt with Business Constraints. ASD is perhaps THE key to successfully reaching this balance. What do I mean by that? In traditional software development, a client approaches with a problem they need a software solution for. The software company sales department tells the client when to expect delivery, then hands the order to the CTO, who then has to decide how in the world he can get his busy engineers to get it finished in time. After much protesting and arguing with the sales manager, he takes the order to his engineers and tells them what they have to do and when it has to be finished. They grumble and grump about the pressure they're already under, then get to work on it as soon as they finish what they're already doing. When the software is finally finished, often late, it's a huge and possibly still very buggy solution, but it works fairly well, and they promise to give their client great customer support – aka – removing the bugs at no charge as they come in...
  • 2. Enter ASD. The idea for agile software development came from the dynamic systems development method (DSDM) from the 1990s, and the DSDM Consortium, founded in 1994, which was intended to help bring some order to rapid application development, which greatly decreased the time from order to delivery, compared to prior methods with a strong emphasis on rigorous planning and specifications, but had the unfortunate side effect of created sometimes massive tech debt by putting too much emphasis on getting the finished product delivered quickly. In early 2001, at a ski lodge in Utah, seventeen representatives from Adaptive Software Development, Crystal, DSDM, Extreme Programming, Feature-Driven Development, Pragmatic Programming, SCRUM, and others who recognized the need for an alternative to the old "waterfall" software development processes got together to talk. Out of that meeting came what is known as The Manifesto for Agile Software Development, or Agile Manifesto. The idea of the Agile method, in a nutshell, is twofold. One – for all the teams involved in software development to work together, including the client, the sales department, the research and development team, business consultants, operations people and IT guys, so that they all understand and agree with each other about the vision, the backlog of features and the roadmap. Two – to continuously deliver in small, “digestible” and working applications, with continuous input from the client, rather than in one large, cumbersome and potentially tech-debt-laden monstrosity. This allows management to make changes, because the client and its users can use each new version earlier, step by step, find the bugs and correct them, or even change priorities entirely. The manifesto, wisely, while keeping these two principles in mind, makes customer satisfaction the highest priority, by offering early and continuous delivery of valuable software. Again, rather than trying to solve every single problem of the customer in one grand (and probably buggy) solution, we deliver solutions to smaller, individually and recognizable problems that are an important part of the whole. In doing this, the customer's life and confidence begins to improve very early in the relationship, which is almost priceless in the even that we DO happen to run into a major bug later. Rather than freaking out when the customer changes their mind or their needs change late in the development of a product, we welcome changing requirements, because agile processes allow us to use such changes to give our customer a competitive advantage. Rather than spending six months to a year (or more) developing a total solution for all our customer's needs, we deliver working software as often as possible, preferably in a couple of months or less. We must put our business people and developers together on a daily basis throughout each project. This is SO important. In our meetings, we all sat around the table as equals, each one bringing her or his own perspective, insights and expertise to the table. It is critically important that business people and developers see each other as allies and team-mates working toward the same goal. If we want to achieve something great, rather than mundane and merely acceptable, we need our team members to be motivated. This is why some of the most successful companies in the world, today, like Google, Facebook and Microsoft encourage their employees to play and provide bright, cheerful atmospheres with everything from games, to gym and yoga classes, to letting them bring their pets to work and even to playing pranks on each other, such as Mark Zuckerberg posted on Facebook. The point is, if we want creative and motivated people, we need to create the culture (environment and support system) they need, then trust them to get the job done.
  • 3. One very obvious part of the Agile Manifesto, although it is seventh on the list of twelve, is the fact that we need to remember that working software must be the primary measure of success. One of the things I often used to hear is, “It's all fun and games until somebody loses an eye.” The point was that we have to remember why we go in every day, or we won't be going in for long. The business still has to produce the product it exists for, or it will fold up. A beautiful thing about the agile way of doing things is that it promotes sustainable development. When everyone recognizes that the world of business is constantly and quickly evolving, it's possible for all stakeholders to maintain a constant pace indefinitely. As Robbrrecht Van Amerongen so aptly put it, “Software development is like running a marathon and not (a)100 meters sprint. You have to keep up to speed but not run so fast that you exhaust yourself or your team members.” The idea of agile is not to slap a product together for delivery, then quickly come up with version II for next week, but to continually focus on technical excellence and good design. This means that a good product gets delivered this week and an even better product in version II. When I coached my kids as they learned to color, I first coached them on very tidy results by instilling in them the importance of first choosing well defined outlines, then not coloring over the lines, then focusing more and more on filling in everything inside the lines. Always, the focus was on design and excellence. So we must focus on design and technical excellence in software production. As in almost everything in manufacturing, from the Mars Rover to software, we must use the K.I.S.S. Approach. Keep It Simple Stupid. Or, as I always liked to put it, Keep It Stupidly Simple. I used to tell people that the job needs to be done right, but not hard. In other words, don't create unnecessary work to get the job done. As a wise person once told me, “As soon as you create a foolproof system, they will come up with a better fool.” As the Agile Manifesto succinctly puts it, “...the art of maximizing the amount of work NOT done is essential.” We need to encourage our teams to think for themselves and be able to organize themselves. They will produce the best designs, architectures and requirements. I can't tell you how many times I have had this proven to me. Let your people thrive on the pride of their own accomplishments! As shared in a previous article, the CTO is the maestro in this orchestra, not the one who makes all the music! I remember the day I said to my team in charge of our software products for airlines’ flight operations : “We’re going to develop an optimization engine!” There was a blank stare. I was confident in the project as I knew that our clients would sponsor us, I would acquire the skills by doing the research, and the team would tackle the challenge. After we designed the architecture, we started to code business logic, month after month, reporting our progress first to our clients and sharing our difficulties. 8 months after, we delivered the beta version and 4 months later we finalized V1. Again, I can't emphasize how important it is to have regular, short team meetings (from 15 to 30 min), where everybody can brainstorm on how they can be more effective, allowing them to tune and adjust their behavior accordingly. The results of doing this are quite amazing to observe. When everybody realizes their input is important to the company, they become enthusiastic and motivated performers, not only able, but willing to go that extra mile and produce something extraordinary. The agile method for software development breaks down barriers between teams from every department and area, creates a better, brighter, friendlier and happier work environment, and produces a higher quality and evolving product in less time that everybody is happy with. In keeping with the agile spirit, I welcome your comments and insight below! Jean-Christophe (Jay C) Huc 14 July 2016 jch@huc.name