Deliver Something of Value Every Week
andah31 de Mayo de 2013
8.414 Palabras (34 Páginas)413 Visitas
Deliver Something of Value Every Week
• You break big problems down into smaller ones. You have to break big, scaryproblems down into smaller, simpler, more manageable ones.
• You focus on the really important stuff and forget everything else. By delivering something of value every week, you are forced to get lean and drop anything that doesn’t add value
• You make sure that what you are delivering works. That means testing—lots of it, early and often.
• You go looking for feedback. Stop and ask your customer
• You change course when necessary. Things change. What was really important
one week can be descoped the next.
• Yo u become accountable. When you commit to delivering something of value every week and showing your customer how you’ve spent their money, you become accountable.
How Does Agile Planning Wor k
• Planning an agile project. Instead of to-do lists and tasks, the master story list is your project to-do list contains all the high-level features (user stories) your customer will want to see in their software. It’s prioritized by your customer, it’s estimated by your development team, and it forms the basis of your project plan.
• The engine for getting stuff done on an agile project is the iteration—a one- to two-week period where you take your customers’ most important stories and transform them into running, tested software.
• Your team members will know how much they can take on by measuring the team velocity (how much you can get done per iteration). and using it as a predictor of how much you’ll get done in the future.
• Being flexible on scope is how you’ll keep your plan balanced and your commitments real. And when reality disagrees with your plan, you’ll change your plan.Adaptive planning is a cornerstone of agile delivery.
Done Means Done
• Delivering a feature in agile means doing everything necessary to produce shippable code. The analysis, design, coding, testing, and usability experience and design. If it can’t potentially be shipped, it’s not done.
How Are Agile Projects Different
• The narrowly defined roles like analyst, programmer, and tester don’t really exist.
• The other thing that’s different about an agile team is that analysis, coding, design, and testing are continuous activities—they never end.
• Quality you’re it, whether you are doing analysis, writing the code,or managing the project.
• Co-location. If there was one thing you could do to dramatically improve the productivity of your team, it would be to have everyone sit together. Questions get answered fast. Problems are fixed on the spot. There is less friction between interactions.
• Engaged Customers. Engaged customers are those who show up to demos, answer questions, give feedback, and provide the guidance and insight necessary for the team to build compelling software. They are core members of the team and full-on partners during delivery.That is also why an engaged customer is necessary for any successful agile project. The next time you get in front of your customer, tell them that two weeks from now you are going to make some problem of theirs go away.Don’t ask for permission. Don’t make a big ceremony out of it. Just take some problem, or some itch that they have, and make it go away. Then do it. Come back two weeks later, show them how you’ve completely solved their problem, and then do it again. Take some other problem, and make it go away.You may need to do this three or four times (maybe more) before they start to pay much attention, but eventually they will.
• Self-Organizing. Self-organization is about checking your ego at the door and working with your team to figure out how you as a team (with all your unique skills, passions, and talents) can best deliver this project. It’s more an acknowledgment that the best way to build teams is to let the role fit the person, instead of making the person fit the role. So, how do you get your team to self organize?
• You let them create the plan, come up with the estimates, and take
ownership of the project.
• You worry less about titles and roles and become more interested
in seeing the continuous production of working, tested software.
• You look for people who can take initiative, like being the masters
of their own destiny, and don’t sit back and wait for orders.
In short, you let the reins go and trust and empower them to get the job done.
• Accountable and Empowered. A good agile team will always want to be held accountable for the results they produce. They know customers are counting on them to come through, and they won’t shirk from the responsibility that comes with having to deliver value from day one. Giving your team the reins to make their own decisions and do what they think is right frees them to take initiative and act on their own accord. They solve their own problems, and they don’t wait for anyone to give them permission.
• The simple act of putting teams in front of real live customers and having them demo their software will go miles toward making your teammore accountable.
Cross-Functional
A cross-functional team is one that can serve their customer from end to end. That means having the necessary skills and expertise on your team to take any feature your customer would need and be able to
deliver it fully.
Without having to wait for permission or negotiate for resources from others, they can start delivering value from day one,with no one in their way to stop them.
Roles We Typically See
Agile methods like Scrum and XP don’t have a lot of formal roles when it comes to projects. There are people who know what needs to be built (customers) and people who can build it (the development team).
The Agile Customer
The agile customer is the “source of the truth” from which all requirements flow on an agile project. Ideally they would be a subject-matter expert. It’s someone intimately familiar with the business, who really cares what the software does, what it looks like, and how it works, and who is committed to guiding the team, answering questions, and giving feedback. They also set the priorities. They decide what gets built and when. why it makes more sense to work on some features before others (in other words, to
reduce technical risk).
But generally they set the priorities from a business point of view, and then they work with the development team to come up with a plan to make it happen.
To do all these things, it helps if the customer is working very closely with the development team—ideally full-time. In early versions of XP, on-site customer, and in Scrum product owner. Now don’t panic if you don’t have or can’t get a full-time customer. What’s more important is to understand the spirit of where agile methods which is that the more direct involvement you have with your customer, the better.
make sure they understand the importance of their role, and make sure they are empowered
and willing to make the kinds of decisions that need to be made for the success of the project.
The Development Team
The agile development team is a cross-functional group of people who can take any feature the customer would like developed and turn it into production-ready, working software. This includes analysts, developers, testers, database administrators (DBAs), and anyone else required to turn user stories into working software.
• The Agile Analyst
They help customers write user stories
They do the deep dive on the analysis when a story comes up for development.
And they can help create mock-ups, create prototypes, and use everything
in their analysis toolkit to help communicate the essence of the story.
• The Agile Programmer
They write lots of tests and will often use tests as a means of driving out their designs
They are continuously designing and improving the architecture of their software as they go
They make sure the code base is always in a state of production readiness and ready to deploy at a moment’s notice
And they work very closely with the customer, and everyone else on the team, to ensure that what gets built works
• The Agile Tester
The agile tester will insert themselves into the agile project early, ensuring that success for user stories gets defined up front and that when working software is produced, it works. Because everything on an agile project needs to be tested, you will find the agile tester everywhere.
You’ll find them working side-by-side with the customer helping them capture their requirements in the form of tests.
• The Agile Project Manager
That is why a good PM will go to the ends of the earth to remove anything standing in the way of their team and success.
Part of this means continuously planning, replanning, and adjusting course when necessary
It also means setting expectations upward and outward to the greater project community: getting status reports to stakeholders, forging relationships within the company, and shielding the team from outside forces when necessary.
They’ve helped create an environment such that the team is mostly independent and would continue to deliver fine in the PM’s absence.
• The Agile UX Designer
User experience designers are deeply focused on creating useful, usable, desirable experiences for the
...