Welcome back.
Are you excited to step into the exciting world of Davos.
Let's get started.
The first question you'd be wondering about is what is developed.
How do you really define it.
The thing is as with most of the buzz words around software development there is no accepted definition of networks.
The definitions vary from simple ones like these to complex definitions that last three slides like these Amazon Web Services defines their ops as a combination of philosophies practices and tools that
help or musician deliver applications at high velocity.
This definition focuses on continuous delivery and guaranteeing correctness and reliability not the complex definition which is from the developer handbook which is one of my favorite books on the ropes.
This definition actually is played into three different slates.
This definition focuses on the fact that developed is basically playing things which we learned from other areas like manufacturing lean the Toyota Production System and applying them to building reliable
stable and secure software with less effort and cost.
Now instead of trying to define developed what we do is we will understand how software development evolved to developed the first few decades of the software development was centered around the waterfall model waterfall model approach software development the same way you'd approach building a real estate project for example building an amazing bridge you'll build software in multiple phases that can go on for a period of anywhere between few weeks to few months you do requirements for a few weeks you do design for a few weeks after that you would implement it.
After that you test it and then you deploy to production in most waterfall projects.
It would be months before business sees a working version of the application.
Why are you working in the waterfall model for a few decades.
We understood a few key elements around building great software.
The first thing that we understood was the importance of communication.
Software development is a multidisciplinary effort involving a variety of skills communication between people is essential for the success of a software project.
In the waterfall model we tried to enhance communication by trying to prepare thousand page documents on requirements design architecture and deployment order period of time.
We understood that the best way to enhance communication within the team is to get the team together get a variety of skills in the same team and create cross-functional teams with a wide range of skills.
The next element to building great software automation software development involves a wide range of activities.
Doing things manually is slow and error prone.
We understood that it's essential to always look for opportunities to introduce automation.
The next key element in building great software is getting feedback quickly building great software.
It's all about getting quick feedback.
You cannot wait for a few months to know if you are building the right application.
The business would want to know it immediately.
If I am implementing something right now will it cause problems.
If it is deployed to production you don't want to know it.
After a few months you want to find it as early as possible.
The earlier we find the problem the easier it is to fix the problem.
In the step we realize the fact that as with most buzzwords around software development there is no accepted definition for developers.
After that we looked at three key elements to developing great software and hence communication automation and quick feedback.
In the next steps let us look at how we evolved to agile and what.
Add Comment