DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • The Holy Grail of Agile-DevOps Value Stream Hunting: Actualizing DevOps Transition Purpose
  • Agile Best Practices, Values, and Principles for Effective Teams 2023
  • Agile and Lean Startup - Part 1
  • Agile and Lean Six Sigma: Comparison and Alignment

Trending

  • Mastering Persistence: Why the Persistence Layer Is Crucial for Modern Java Applications
  • How To Verify Database Connection From a Spring Boot Application
  • How To Optimize Feature Sets With Genetic Algorithms
  • GitHub Action Recipes: Building and Pushing Docker Images to a Container Registry
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Lean Principles #5 - Deliver Fast

Lean Principles #5 - Deliver Fast

Kelly Waters user avatar by
Kelly Waters
·
Jan. 12, 11 · News
Like (0)
Save
Tweet
Share
4.57K Views

Join the DZone community and get the full member experience.

Join For Free
Deliver Fast.  In a way, that's a funny principle to have.  I would have thought that's stating the blinking obvious!  But the reality is that it isn't.  All too often in software development, things seem to take ages.  


It is common for people to think too deeply about future requirements that may or may not ever arise.  


It is common for people to be blocked - maybe requiring help or information from others - and not to react to that problem with the kind of urgency it deserves.  


It is common to over-engineer solutions, both in terms of the software architecture, and also the business requirements.  


Why build a simple solution and get it to market quickly to be enhanced incrementally based on real customer feedback when you can build one gigantic monolithic beast of a system and build it all before you launch anything for your users? (for those that can't detect sarcasm, that was meant to be ironic btw!). 


When a team is held up waiting for someone, others in the team could potentially pick up the task everyone is waiting for and get it done, even if it's not normally their role.  It's important in agile teams to establish a good team spirit. It shouldn't be the case that everyone sticks rigidly to their job specs.  "That's not my job" really isn't a phrase I'd ever like to hear in an agile team.  If the team needs something done in order to achieve their objectives, the whole team should feel willing and able to help each other out, even if it sometimes means deviating from their usual speciality.  


Speed to market is undoubtedly a competitive advantage.  There is considerable evidence that companies who gain 'first mover advantage' go on to be the most successful companies in their chosen sphere.  Companies can copy, and sometimes even come along later and do things better, but often it is the first to establish itself that wins the day and becomes the long term leader in its field.


Another advantage of delivering fast is that, if there is as little time as possible between the Product Owner stating the requirements and the team delivering the product, there is little chance of the requirements changing.  Less time minimises the chances of changes in the market, changes in people, or even simply a change of mind.


So what is required to go faster?


Firstly, as with any methodology, it's important to have the right people.  Lean thinking in the manufacturing industry originally changed the way companies think about their people.  Instead of factory lines where the principle is to standardise everything to the extent that all people are performing small routine tasks and are essentially interchangeable, they moved towards the idea of having 'thinking people'.  People who are able to think for themselves, solve problems, be proactive, be flexible, take appropriate actions, make decisions.  As per Lean Principle #2 - Create Knowledge.


Another way to go faster, as I eluded to earlier, is to keep things simple.  Keep the requirements simple.  Keep the technical solution simple.  Find the easiest way to meet the users' goals.  Don't over-engineer.  Don't spend too long considering future requirements that may never materialise.  Get something simple to market and build on it based on real customer feedback.


Work as a team.  Really as a team, helping each other to make sure that the team achieves it's objectives, whatever it takes.  Be flexible in the tasks you are willing to pick up.  When you commit to something, do everything in your power to deliver on it.


The first principle of Lean was eliminate waste.  Sometimes it's easier said than done, but this is clearly another way to deliver faster.


And last but not least, in order to go faster, you really need to build quality in.  A team that suffers from lots of bug fixing, or lots of breakages as changing one area affects another, or lots of post-delivery remediation work, can never go as fast as a team that is delivering good quality in the first place.


To read more about lean principles, see here the 7 Key Principles of Lean Software Development.


Kelly.
Lean (proof assistant) agile

Published at DZone with permission of Kelly Waters, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • The Holy Grail of Agile-DevOps Value Stream Hunting: Actualizing DevOps Transition Purpose
  • Agile Best Practices, Values, and Principles for Effective Teams 2023
  • Agile and Lean Startup - Part 1
  • Agile and Lean Six Sigma: Comparison and Alignment

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: