We are uncovering better ways of developing software by valuing individuals and interactions, working software, customer collaboration, and responding to change over processes, documentation, contract negotiation, and following a plan. The document discusses agile values and principles like valuing working software over documentation, customer collaboration over contract negotiation, and responding to change over following a plan. It emphasizes delivering working software frequently through close cooperation between developers and customers.
The Ultimate Guide to Choosing WordPress Pros and Cons
Developing Software Right and Fast
1.
2. We are uncovering better ways of developing software by doing it and
helping others to do it
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan.
That is ,While there is value in the items on the right , we value the items on
the left more.
3. Customer satisfaction by rapid, continuous delivery of useful software
Working software is delivered frequently (weeks rather than months)
Working software is the principal measure of progress
Even late changes in requirements are welcomed
Close, daily cooperation between business people and developers
Face-to-face conversation is the best form of communication (co-location)
Projects are built around motivated individuals, who should be trusted
Continuous attention to technical excellence and good design
Simplicity
Self-organizing teams
Regular adaptation to changing circumstances
4. Write down everything you want to do
Prioritize the list
Work from the top of the list until you run out of time
Repeat
5. Agile
Lean: Agile for manufacturing
Extreme Programming: Agile Scrum: Agile for Planning
(9%)
for Software (19%) (41%)
6. Scrum is an iterative, incremental framework for project management and agile software
development
It has a product backlog (The product backlog is a high-level document for the entire project
,kind of WBS)which contains main features etc
Iterations are called sprint here, each sprint backlog contains chosen tasks from product
backlog depending on priority of features or functionality to be released that the
client/customer(Product owner) decides. Each sprint duration varies from 2-
4weeks, Estimations for each task are set by the Team. Each end product of a sprint is a
productive and usable piece of code.
Daily scrum is a daily stand-up meeting(status meeting) conducted by Scrum master(Project
manager in scrum) with the teams.
asks 3Questions- 1)% of work done?
2)what are u planning to do today?
3)any issues?
The sprint burn down chart are used which is a publicly displayed chart showing remaining
work in the sprint backlog
Key Ideas:
Work is organized in Two -or Four -week “Sprints”
After Each Sprint, the team demonstrates their results to the product owner (and others)
Roles:
Product Owner is the Stand -in for the customer.
Scrum Master represents the team and the schedule.
The Team is a self managing group of people who do the work
7. Key Ideas
Full Time access to onsite customer
Requirements in the form of “Stories”
Roles
Customer
Manager
Programmer
8. Software penetrates every pore of human existence. We look up the weather info over the web,
giving up on outdoor thermometers. We’re using software every single day of our lives. It
seems we’re hugging our dear gadgets a lot more than our loved ones.
North
Problem
solving
ux Agile
We’re living in very interesting times. Software development industry grows fast right here,
right now, and the foundation for a quantitative leap is building up
Now it’s absolutely clear that agile is turning into a mainstream methodology, Agile has won
the race
9. Do Right Things
Let’s take a closer look at the 3 fundamental problems of software development. The ultimate
goal is — do right things.
What does it mean — right things?
These are workable things, things that solve specific problems, and solve them well.
We create the right software. This is of paramount importance. We get into people’s hearts with
first release.
Do Things Right
This ranks second. Do things right.
If we do the right thing, the job is only half-done. If we do the right thing in a wrong way, we
will not complete our mission. Yes, users will be able to solve their problems with our
software.
10. We’re smoothly proceeding to the third problem — Speed.
Software development fails to catch up with users. As projects are getting more complex, the
speed is dropping. The speed factor gets ever so important for any company.
If we create software fast, we get a chance to try various options, to tune in to market changes
and to find the right way faster than others. With slow work, there’s no second chance.
"A slow sort of country!" said the Queen. "Now, here, you see, it takes all the running you can
do, to keep in the same place. If you want to get somewhere else, you must run at least twice as
fast as that!"
— Black Queen, Alice in Wonderland
Any software development process should zoom in on those 3 goals, and here’s an
appropriate headline:
We follow:
Do the right things right and fast
11. Do Right Things
what
Miss market
Shit quality oppurtunities,some times
Fast Do Thing right can work
how
High quality
12. If we do the right product right, but slowly, we might miss out on market opportunities. What
if we run late and there’s a reality shift, and no one will need our product anymore?
If we do the right product fast, but in a wrong way, this means putting off problems till later.
There will be only 2 options: stitch fixes over fixes and bury the product in 10 years, or re-
write it from scratch, which is costly.
If we do the wrong product right and fast, hardly anyone will need it, unless we come to
understand what’s wrong and make fast changes.
Ideally, we get to the center, where the 3 circles overlap.
13. Our definition of speed here implies the time
frame to solve customer problems. What if we
don’t do the right thing? We’d have to re-do or to
give up completely. What if we do the right thing in
a wrong way? We’d have to re-do to move forward.
Overhauls and fixes reduce speed dramatically.
That’s why doing right things right brings about
faster speed in the long run.
14. Delivery with every single commit reduces feedback loop cycle to a minimum.
This does not make any big difference for end users. But for the team, such extreme conditions
create a drastically different development environment, making them improve the quality of
code a lot. Our company really get set to stand up to continuous delivery.
Continuous Delivery brings along almost full testing automation: unit tests, functional tests,
performance tests, acceptance tests. Delivery is automated as well. Such an extensive
automation gets solid team efforts as well as total process overhaul, from requirements
management to marketing.
15. Let’s move on to more human-centric things. Software is developed by people. Attempts to put
software to a line production had no success, which is not surprising at all. Software
development industry blooms in tender age, and the first signs of puberty are just about to
protrude.
Everything is about People. Our team of high-end professionals makes cool software, no
matter how lame the process. A bunch of dummies have a vague chance to do the same only at
times of total solar eclipse, even if they extreme program like hell.
It’s people who possess expertise and problem solving skills, and that’s where they should
develop and improve.
Domain knowledge
Domain knowledge helps us understand if we’re doing the right thing
That’s where Our company take the lead. We arrange for domain knowledge training. In our
company, we send people to conferences and strongly recommend reading books on agile
project management.
At WinSmart Everyone clearly understand what are we doing, why are we doing this, and why
is it important at this very moment.
Our work space provides an Environment for a thoughtfully designed architecture, excellent
test coverage, keeping it as simple as possible – all that makes for a higher quality
16.
17. For WinSmart, problem solving is the most fundamental skill of all. With this skill, we fill both
our own gaps and the gaps of development process in our company.
Agile is putting its bet on self-organization in teams. Our Team identify and resolve their
issues effectively, or they will make the same mistakes over again. However, no agile
methodology comes equipped with problem solving tools.
Great developers think creatively and originally. They don’t have to compose poems, but
comprehensive writing skills are a must. We Train our right brain hemisphere.
18. Selling steps:
Study problem-solving techniques, lateral thinking and
systems thinking
Reduce feedback cycle by any means
Study domain
Scale agile-mindset to the whole company and to distributed teams