We are uncovering better ways of developing software by doing it andhelping others to do itThrough this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan.That is ,While there is value in the items on the right , we value the items onthe left more.
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
Write down everything you want to do Prioritize the listWork from the top of the list until you run out of time Repeat
Agile Lean: Agile for manufacturingExtreme Programming: Agile Scrum: Agile for Planning (9%) for Software (19%) (41%)
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 backlogKey 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
Key Ideas Full Time access to onsite customer Requirements in the form of “Stories” Roles Customer Manager Programmer
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. Itseems we’re hugging our dear gadgets a lot more than our loved ones. North Problem solving ux AgileWe’re living in very interesting times. Software development industry grows fast right here,right now, and the foundation for a quantitative leap is building upNow it’s absolutely clear that agile is turning into a mainstream methodology, Agile has wonthe race
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.
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
Do Right Things what Miss marketShit quality oppurtunities,some times Fast Do Thing right can work how High quality
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.
Our definition of speed here implies the timeframe to solve customer problems. What if wedon’t do the right thing? We’d have to re-do or togive up completely. What if we do the right thing ina 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 aboutfaster speed in the long run.
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.
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
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.
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