Showing posts with label agile. Show all posts
Showing posts with label agile. Show all posts

Agile Software Development Review

Agile Software Development
Average Reviews:

(More customer reviews)
Are you looking to buy Agile Software Development? Here is the right place to find the great deals. we can offer discounts of up to 90% on Agile Software Development. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Agile Software Development ReviewEvery fifteen years or so, a great book pops up that describes what
projects are really like. There was Brooks, then DeMarco and Lister,
and now there's Cockburn.
Why is there such a gap between these great books? Possibly because
the message they contain isn't the easy-to-digest dictate: "run your
project this way and everything will be fine." Instead these books all
focus on the fundamentals of projects: people and the way they work
together. These books treat people as people, and not replaceable
parts in a process. The books accept people's foibles and
inconsistencies, and work out how to work with them, rather than how
to try to stamp them out. The books ask: how can we help these funky
people work better together to produce great software?
Agile Software Development has some great answers, which makes it a
significant book. It deals with the issue that programming is
essentially communicating. It looks at the success factors of
individuals, and how to help align the project with these. It
discusses practical ways to reduce the latency of communication (do
you know how much each extra minute taken finding things out costs on
a 12 person project? How do you line your walls with information
radiators?) The book mines the metaphor of development as a
cooperative team game, and looks at development organizations as a
community, where good citizenship pays.
So how _do_ you organize all these people, these team players, these
citizens? The answer is with methodologies. But not with something you
buy off-the-shelf. Cockburn argues that teams should work to define,
and then refine, their own methodologies, bringing in standard ones
where they fit. To help the teams, he has a wonderful section
describing what methodologies _are_, and how to build them. This is
good, solid, practical advice. He talks about when it's good to be
light, and when you need to be heavier, when laissez-faire works, and
when you need ceremony to reduce risks. Then, not content with helping
you create a methodology, Cockburn explains how to adapt what you have
to a changing world.
If you work in or with a team developing software, then you owe it to
yourself (and your team) to read this book. You'll come away with a
far clearer understanding of the dynamic at work in your team, and
with lots of ideas for improving it. And that's the whole point.Agile Software Development OverviewLightweight methodologies are exploding in popularity because their flexibility is ideal for today's fast-changing development environments. In Agile Software Development, legendary software expert Alistair Cockburn reviews the advantages and disadvantages of lightweight methods, synthesizing the field's key lessons into a simplified approach that allows developers to focus on building quality software rapidly, cost-effectively, and without burnout. Ideal for managers seeking to transcend yesterday's failed approaches, the agile movement views software development as a cooperative game. As players move throughout the game, they use markers and props to inform, remind, and inspire themselves and each other. The goal of the game: to deliver a working software system -- and to use the lessons of each project to build a new, smarter "game" for the next project. For every IT executive and manager, software developer, team leader, team member, and client concerned with building robust, cost-effective software.

Want to learn more information about Agile Software Development?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Agile Estimating and Planning Review

Agile Estimating and Planning
Average Reviews:

(More customer reviews)
Are you looking to buy Agile Estimating and Planning? Here is the right place to find the great deals. we can offer discounts of up to 90% on Agile Estimating and Planning. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Agile Estimating and Planning ReviewA 5 star review just doesn't mean anything anymore. There are some good ideas in this book, but large stretches of this book are just absurd. This thing reads like homework that was finished on the bus (you can almost see the bumps in the road). The structure of the book is completely haphazard. One minute, we are talking about doing estimates. The next minute we are trying to figure out how a project will pay for itself, then, it's on to how to split up stories that got too big. I was waiting for a sidebar with a recipe for a great chiffon cake. At the end of the chapter on estimating value, the author recommends another book and says that's where his content came from (citational plagiarism is called 'plugging,' Youngster). Then, the chapter on splitting stories made me laugh out loud in places. Things like 'split stories along data lines,' or 'split stories along priority lines' or one of the funniest 'split it along CRUD lines.' Come on.
The good part of this book is the one chapter on estimation and discussion of things like using Fibonacci for bucketing of estimates into story points, the importance of seeing estimates as relative, and the idea of doing planning poker. In short: again, it's an article that was turned into a book by a set of expansion techniques that are astounding for not being illegal, let alone questionable. And all this inside a fortress of testimonials that makes Fort Knox look lightly defended.Agile Estimating and Planning Overview
Praise for Agile Estimating and Planning
"Traditional, deterministic approaches to planning and estimating simply don't cut it on the slippery slopes of today's dynamic, change-driven projects. Mike Cohn's breakthrough book gives us not only the philosophy, but also the guidelines and a proven set of tools that we need to succeed in planning, estimating, and scheduling projects with a high uncertainty factor. At the same time, the author never loses sight of the need to deliver business value to the customer each step of the way."

-Doug DeCarlo, author of eXtreme Project Management: Using Leadership, Principles and Tools to Deliver Value in the Face of Volatility (Jossey-Bass, 2004)

"We know how to build predictive plans and manage them. But building plans that only estimate the future and then embrace change, challenge most of our training and skills. In Agile Estimating and Planning, Mike Cohn once again fills a hole in the Agile practices, this time by showing us a workable approach to Agile estimating and planning. Mike delves into the nooks and crannies of the subject and anticipates many of the questions and nuances of this topic. Students of Agile processes will recognize that this book is truly about agility, bridging many of the practices between Scrum and ExtremeProgramming."

-Ken Schwaber, Scrum evangelist, Agile Alliance cofounder, and signatory to the Agile Manifesto

"In Agile Estimating and Planning, Mike Cohn has, for the first time, brought together most everything that the Agile community has learned about the subject. The book is clear, well organized, and a pleasant and valuable read. It goes into all the necessary detail, and at the same time keeps the reader's burden low. We can dig in as deeply as we need to, without too much detail before we need it. The book really brings together everything we have learned about Agile estimation and planning over the past decade. It will serve its readers well."

-Ron Jeffries, www.XProgramming.com, author of Extreme Programming Installed (Addison-Wesley, 2001) and Extreme Programming Adventures in C# (Microsoft Press, 2004)

"Agile Estimating and Planning provides a view of planning that's balanced between theory and practice, and it is supported by enough concrete experiences to lend it credibility. I particularly like the quote 'planning is a quest for value.' It points to a new, more positive attitude toward planning that goes beyond the 'necessary evil' view that I sometimes hold."

-Kent Beck, author of Extreme Programming Explained, Second Edition (Addison-Wesley, 2005)

"Up-front planning is still the most critical part of software development. Agile software development requires Agile planning techniques. This book shows you how to employ Agile planning in a succinct, practical, and easy-to-follow manner."

-Adam Rogers, Ultimate Software

"Mike does a great follow-up to User Stories Applied by continuing to provide Agile teams with the practical approaches and techniques to increase agility. In this book, Mike provides time-proven and well-tested methods for being successful with the multiple levels of planning and estimating required by Agile. This book is the first to detail the disciplines of Agile estimating and planning, in ways that rival my 1980 civil engineering texts on CPM Planning and Estimating."

-Ryan Martens, President and Founder, Rally Software Development Corporation

"With insight and clarity, Mike Cohn shows how to effectively produce software of high business value. With Agile estimation and planning, you focus effort where it really counts, and continue to do so as circumstances change."

-Rick Mugridge, Rimu Research Ltd., and lead author, Fit for Developing Software (Prentice Hall, 2005)

"Finally! The groundbreaking book my clients have been clamoring for! Agile Estimating and Planning demystifies the process of defining, driving, and delivering great software that matters to the business. Mike's clarity, insight, and experience leap out through every page of this book, offering an approach that is relevant and immediately useful to all members of an Agile project."

-Kert D. Peterson, President, Enterprise Agile Group, LLC

"This isn't yet another generic book on Agile software development. Agile Estimating and Planning fills a gap left by most of the other books and gives you important, practical, down-to-earth techniques needed to be successful on Agile development projects."

-Steve Tockey, Principal Consultant, Construx Software

"Estimation, planning, and tracking is a trinity. If you don't do one of them, you don't need the other two. This book provides very practical knowledge for estimation, planning, prioritizing, and tracking. It should be compulsory subject matter for project managers and their teams, even if they hesitate to call themselves Agile."

-Niels Malotaux, Project Coach

"Effective planning is an important, but often misunderstood, part of any successful Agile project. With Agile Estimating and Planning, Mike Cohn has given us a definitive guide to a wide range of Agile estimating and planning practices. With his clear and practical style, Mike not only explains how to successfully get started planning an Agile project, but also provides a wealth of tips and advice for improving any team's Agile planning process. This book is a must-read for managers, coaches, and members of Agile teams."

-Paul Hodgetts, Agile coach and CEO, Agile Logic

"Mike's writing style captures the essence of agility-just the right amount of information to bring clarity to the reader. This book provides an excellent guide for all Agile practitioners, both seasoned and novice."

-Robert Holler, President and CEO, VersionOne, LLC

"It is as if Mike took the distilled knowledge regarding planning and estimation of a great Agile developer (which he is) and laid out all he knows in an easily understandable manner. More importantly, he has a great mix of concepts with real-world examples finished off with a case study so the reader can relate the information to their own situation. Unless you are already an expert Agile planner and estimator, this book is for you."

-Alan Shalloway, CEO, Senior Consultant, Net Objectives, and coauthor of Design Patterns Explained, Second Edition (Addison-Wesley, 2005)

"Although I had plenty of XP experience before trying out Mike Cohn's Agile planning practices, the effectiveness of the practical and proven techniques in this book blew me away! The book recognizes that people, not tools or processes, produce great software, and that teams benefit most by learning about their project and their product as they go. The examples in the book are concrete, easily grasped, and simply reek of common sense. This book will help teams (whether Agile or not) deliver more value, more often, and have fun doing it! Whether you're a manager or a programmer, a tester or a CEO, part of an Agile team, or just looking for a way to stamp out chaos and death marches, this book will guide you."

-Lisa Crispin, coauthor of Testing Extreme Programming (Addison-Wesley, 2003)

"Mike Cohn does an excellent job demonstrating how an Agile approach can address issues of risk and uncertainty in order to provide more meaningful estimates and plans for software projects."

-Todd Little, Senior Development Manager, Landmark Graphics

"Mike Cohn explains his approach to Agile planning, and shows how 'critical chain' thinking can be used to effectively buffer both schedule and features. As with User Stories Applied, this book is easy to read and grounded in real-world experience."

-Bill Wake, author of Refactoring Workbook (Addison-Wesley, 2003)

"Mike brings this book to life with real-world examples that help reveal how and why an Agile approach works for planning software development projects. This book has great breadth, ranging from the fundamentals of release planning to advanced topics such as financial aspects of prioritization. I can see this book becoming an invaluable aid to Agile project managers, as it provides a wealth of practical tips such as how to set iteration length and boot-strap velocity, and communicate progress."

-Rachel Davies, Independent Consultant

"There has been a need for a solid, pragmatic book on the long-term vision of an Agile Project for project managers. Agile Estimating and Planning addresses this need.It's not theory-this book contains project-tested practices that have been used on Agile projects. As Mike's test subjects, we applied these practices to the development of video games (one of the most unpredictable project environments you can imagine) with success."

-Clinton Keith, Chief Technical Officer, High Moon Studios

"When I first heard Mike Cohn speak, I was impressed by a rare combination of qualities: deep experience and understanding in modern iterative and Agile methods; a drive to find and validate easy, high-impact solutions beyond the status quo of traditional (usually ineffective) methods; and the passion and clarity of a natural coach. These qualities are evident in this wonderful, practical guide. I estimate you won't be disappointed in studying and applying his advice."

-Craig Larman, Chief Scientist, Valtech, and author of Applying UML and Patterns, Third Edition (Prentice Hall, 2005) and Agile and Iterative Development (Addison-Wesley, 2004)

"Agile Estimating and Planning is a critical guide on how to successfully provide value to customers of IT services. This book is filled with clear examples that are essential-from project team...

Want to learn more information about Agile Estimating and Planning?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Agile Project Management with Scrum (Microsoft Professional) Review

Agile Project Management with Scrum (Microsoft Professional)
Average Reviews:

(More customer reviews)
Are you looking to buy Agile Project Management with Scrum (Microsoft Professional)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Agile Project Management with Scrum (Microsoft Professional). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Agile Project Management with Scrum (Microsoft Professional) ReviewOur organization recently implemented Scrum, and although the
Beedle/Schwaber book was great to get us off the ground on Scrum
theory, we immediately had many questions once we actually tried to implement it in real life projects. I agree with the notion that Scrum is conceptually easy to understand, but actually quite complex to implement correctly. The scrum forum has been helpful, but we really needed a cohesive reference of situational problems. The APMWS book really hit the nail on the head and delivered what we needed the most: a practical guide to Scrum with anecdotes and "what happens if..." situations from real world Scrum implementations. This came just in time for us, and we are feeling more confident for our upcoming certification class.
The appendices in the back are also very helpful. The "Rules"
appendix is perfect as a quick introduction to Scrum for new Team
members and Product Owners. It's actually quite detailed for being such a short appendix.
Also, for newbies the three main Roles are very nicely explained. We had some misconceptions that were immediately addressed by this book.
Anyway, from a Scrum newbie that is faced with implementation issues, thanks to Ken for putting together a real world implementation guide.Agile Project Management with Scrum (Microsoft Professional) Overview
The rules and practices for Scrum—a simple process for managing complex projects—are few, straightforward, and easy to learn. But Scrum's simplicity itself—its lack of prescription—can be disarming, and new practitioners often find themselves reverting to old project management habits and tools and yielding lesser results. In this illuminating series of case studies, Scrum co-creator and evangelist Ken Schwaber identifies the real-world lessons—the successes and failures—culled from his years of experience coaching companies in agile project management. Through them, you'll understand how to use Scrum to solve complex problems and drive better results—delivering more valuable software faster.

Gain the foundation in Scrum theory—and practice—you need to:

Rein in even the most complex, unwieldy projects
Effectively manage unknown or changing product requirements
Simplify the chain of command with self-managing development teams
Receive clearer specifications—and feedback—from customers
Greatly reduce project planning time and required tools
Build—and release—products in 30-day cycles so clients get deliverables earlier
Avoid missteps by regularly inspecting, reporting on, and fine-tuning projects
Support multiple teams working on a large-scale project from many geographic locations
Maximize return on investment!


Want to learn more information about Agile Project Management with Scrum (Microsoft Professional)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts Review

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts
Average Reviews:

(More customer reviews)
Are you looking to buy 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts? Here is the right place to find the great deals. we can offer discounts of up to 90% on 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts ReviewHeavy on keywords and low on actual content / value.
Imagine your Dad rings you up and says, "Be sure to go to work bright and early..." or "The early bird gets the worm" and proceeds to ramble on for 5 minutes about why that is important. We have all been through this kind of lecture. For politeness sake, you bite your tongue and zone out.
Now replace Dad with Bill Gates/ Steve Jobs/ some famous architect. However the advice being doled out is similar. eg. "Be sure to have a decent UI for every component/ blah blah blah".
How would you feel if you had to read 97 articles by famous architects / tech gurus, each 2 pages long and the entire content of the article is in the first introductory line itself. The rest is fluff.
I don't know about you, but when I am paying 20+ dollars for a book, I expect more than simple fluff.
-V97 Things Every Software Architect Should Know: Collective Wisdom from the Experts Overview
In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de hOra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from years of experience. Among the 97 principles in this book, you'll find useful advice such as:



Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar)
Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm)
Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards)
Simplicity Before Generality, Use Before Reuse (Kevlin Henney)
For the End User, the Interface Is the System (Vinayak Hegde)
It's Never Too Early to Think About Performance (Rebecca Parsons)

To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.


Want to learn more information about 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Practical API Design: Confessions of a Java Framework Architect Review

Practical API Design: Confessions of a Java Framework Architect
Average Reviews:

(More customer reviews)
Are you looking to buy Practical API Design: Confessions of a Java Framework Architect? Here is the right place to find the great deals. we can offer discounts of up to 90% on Practical API Design: Confessions of a Java Framework Architect. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Practical API Design: Confessions of a Java Framework Architect ReviewEnough said.
This and Effective Java by Bloch are the two books every Java programmer should have read. It will change the way you program and you'll be grateful for the change. The examples in this book are in Java but that's because they had to be in some language; I don't think any part of this book is specific to Java. If your code is consumed by other people, or even a future self, then this book will help you think through issues you may not have know you have. It did me.
In my opinion, this is those one of those once in a decade books that changes the game for anyone who reads it.
A totally mature, non-didactic work written by someone with that perfect combination of real-world experience, a high intellect, a no BS attitude, and humility.
This book is like getting a magical time telescope- you can see what the decisions you are making in your coding today will actually lead to in the future and what the inescapable consequences will be for you.
Actually, reading this book is a little like being put into the role of Scrooge being visited by the three ghosts of Christmas. You get to see what's going to happen to you because of your past and present actions before it happens. At it's heart it's a longitudinal study of how code is first consumed, abused and misused by other programmers and how those abuses become dependencies which determine what YOU, the code's author can and cannot do in future releases.
In a very small nutshell- totally innocent innocuous, completely legal and even recommended programming practices which you apply every day in your code can and will completely shut down any chance for your code to evolve in any rational way going forward in future releases. Why? Because you can't see the potential consequences of consumers of your code doing something you never thought they might do in ways you never meant for them to do it.
But here's a guy who did do those things and lived to pay the price.
For example, if you think that using interfaces (in Java) is usually the best way to program, then you might have a nasty surprise coming at you when other people (damn them!) actually start to program against your code.
When the book's over, you might be as happy as Scrooge that there's still time to change things before it's too late.
Like Bloch's Effective Java, the lessons in this book are so important that they're destined to become diffused throughout the general programming culture and become known to people who haven't even heard of the book. But can you wait until all that filters down to you through osmosis?
Practical API Design: Confessions of a Java Framework Architect OverviewThe definitive guide to API design, this book will be required reading for all designers and engineers involved with the development, testing, and maintenance of APIs.

Want to learn more information about Practical API Design: Confessions of a Java Framework Architect?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Agile Adoption Patterns: A Roadmap to Organizational Success Review

Agile Adoption Patterns: A Roadmap to Organizational Success
Average Reviews:

(More customer reviews)
Are you looking to buy Agile Adoption Patterns: A Roadmap to Organizational Success? Here is the right place to find the great deals. we can offer discounts of up to 90% on Agile Adoption Patterns: A Roadmap to Organizational Success. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Agile Adoption Patterns: A Roadmap to Organizational Success ReviewThere are many things I like about this book, not the least of which is that it is true to the "spirit" of patterns and agile -- it does not promise easy answers or quick fixes but offers down-to-earth advice based on experience. The patterns do a good job of capturing that experience but the way the patterns are written, with "threads" of stories throughout is not only convincing but enjoyable reading. I like being able to follow the real-life adventures of the same developers who struggle to solve real problems across several patterns. I also like the case study in Chapter 46 where a real company with real problems does a pretty good job of moving forward, but it's not a "and they all lived happily ever after" scenario. We're overwhelmed with books and advice these days, so it's nice to see someone who offers help and hope but not hype!Agile Adoption Patterns: A Roadmap to Organizational Success OverviewProven Patterns and Techniques for Succeeding with Agile in Your OrganizationAgile methods promise to help you create software that delivers far more business value—and do it faster, at lower cost, and with less pain. However, many organizations struggle with implementation and leveraging these methods to their full benefit. In this book, Amr Elssamadisy identifies the powerful lessons that have been learned about successfully moving to agile and distills them into 30 proven agile adoption patterns. Elssamadisy walks you through the process of defining your optimal agile adoption strategy with case studies and hands-on exercises that illuminate the key points. He systematically examines the most common obstacles to agile implementation, identifying proven solutions. You'll learn where to start, how to choose the best agile practices for your business and technical environment, and how to adopt agility incrementally, building on steadily growing success. Next, he presents the definitive agile adoption pattern reference: all the information you need to implement the strategy that you've already defined. Utilizing the classic pattern format, he explains each agile solution in its proper context, revealing why it works—and how to make the most of it. The pattern reference prepares you to Understand the core drivers, principles, and values associated with agile successTightly focus development on delivering business value–and recognize the "smells" of a project headed off trackGain rapid, effective feedback practices: iteration, kickoff and stand-up meetings, demos, retrospectives, and much moreFoster team development: co-location, self-organization, cross-functional roles, and how to bring the customer aboardFacilitate technical tasks and processes: testing, refactoring, continuous integration, simple design, collective code ownership, and pair programmingAct as an effective coach, learning to engage the community and promote learningIntegrate "clusters" of agile practices that work exceptionally well togetherAgile Adoption Patterns will help you whether you're planning your first agile project, trying to improve your next project, or evangelizing agility throughout your organization. This actionable advice is designed to work with any agile method, from XP and Scrum to Crystal Clear and Lean. The practical insights will make you more effective in any agile project role: as leader, developer, architect, or customer.Foreword xxiii & xxviPreface xxviiAcknowledgments xxxiiiAbout the Author xxxviiPart 1: Thoughts about Software Development 1Chapter 1: Learning Is the Bottleneck 3Chapter 2: Personal Agility for Potent Agile Adoption 13Part 2: Crafting an Agile Adoption Strategy 21Chapter 3: Business Value 23Chapter 4: Smells 29Chapter 5: Adopting Agile Practices 37Part 3: The Pattern Catalog 53Chapter 6: The Patterns of Agile Practice Adoption 55Chapter 7: Goal 61Chapter 8: Cycle 65Part 3.1: Feedback Practices 69Chapter 9: Iteration 71Chapter 10: Kickoff Meeting 77Chapter 11: Backlog 81Chapter 12: Planning Poker 87Chapter 13: Stand-Up Meeting 93Chapter 14: Done State 99Chapter 15: Demo 103Chapter 16: Retrospective 109Chapter 17: Release Often 115Chapter 18: Co-Located Team 119Chapter 19: Self-Organizing Team 125Chapter 20: Cross-Functional Team 131Chapter 21: Customer Part of Team 137Chapter 22: Evocative Document 143Chapter 23: User Story 149Chapter 24: Use Case 153Chapter 25: Information Radiator 157Part 3.2: Technical Practices 161Chapter 26: Automated Developer Tests 163Chapter 27: Test-Last Development 173Chapter 28: Test-First Development 177Chapter 29: Refactoring 183Chapter 30: Continuous Integration 189Chapter 31: Simple Design 197Chapter 32: Functional Tests 203 Chapter 33: Collective Code Ownership 219Chapter 34: Pair Programming 223Part 3.3: Supporting Practices 229Chapter 35: Coach 231Chapter 36: Engage the Community 235Chapter 37: Reading Circle 239Chapter 38: Workshop 245Chapter 39: Classroom Training 249Part 3.4: The Clusters 255Chapter 40: Agile Iteration 257Chapter 41: Communication Cluster 263Chapter 42: Evolutionary Design 269Chapter 43: Test-Driven Development 277Chapter 44: Test-Driven Requirements 285Part 4: Case Studies 293Chapter 45: BabyCenter 295 Chapter 46: Company X 305Part 5: Appendices 321Appendix A: Pattern to Business Value Mappings 323Appendix B: Pattern-to-Smell Mappings 325Appendix C: Getting the Most from Agile Practice Patterns 327 Appendix D: Further Reading 331Bibliography 333Index 339

Want to learn more information about Agile Adoption Patterns: A Roadmap to Organizational Success?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) Review

RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series)
Average Reviews:

(More customer reviews)
Are you looking to buy RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series)? Here is the right place to find the great deals. we can offer discounts of up to 90% on RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) ReviewRailsSpace does an excellent job of teaching Ruby on Rails through a hands-on, real world application. If you are like me then you probably cringed at the thought of yet another social networking site. However, after reading through the first part to this book my apprehensions were put at ease. The authors explained in the opening chapter that "There's a tension in any educational book between the two extremes of pure tutorial and pure reference. We land firmly on the tutorial side of this spectrum--" The audience for the book is anyone beginning with Ruby on Rails. This book assumes no prior knowledge of Rails or Ruby, and sticks to that through the entire book. Each chapter walks you through the process of creating RailsSpace, while also teaching you best practices and some of the nuances of Ruby and the Rails framework.
This book is broken into two main parts, Foundations and Building a Social Network, with each part comprising several chapters each.
Foundations
Getting Started
With the introduction out of the way, it is time to jump into building the application. This chapter assists you in getting Ruby on Rails and its dependencies on your platform of choice, and then gives instruction for setting up your development environment. Once all of the pieces are in place they move to setting up your rails application, and how to get started with your first pages. They use rails generator to create the controllers and give you an idea of the default routing of a Rails application. The rest of the chapter spends some time building views and using embedded ruby to work with your templates. For the beginner to Ruby or Rails, this part is valuable for the rest of the application. They teach the basics of Ruby and introduce you to instance variables, hashes, and symbols. It isn't practical for them to cover everything, so they also give you direction on finding answers to questions that might arise. The first place to look is always the API. We have the basics down, we have created our application, generated some controllers, and put our navigation into place.
Modeling users
What good is a social networking site without any users? Here we are introduced to setting up our models in our application. This chapter touches on defining your schema through the use of migrations. You build the migration, run the migration, and then work within the model to create your validations. They spend some time with the validations and show you how to use the default helper methods or extend the validations to be more powerful and suit your needs. Now we have a place to store our users, lets move on to the process of letting them become part of the community.
Registering users
This chapter focuses on the process needed to allow a user to register to RailsSpace. We are introduced to some more Rails magic as we build the User controller and the views. We start first with the view of the registration form and learn how to use Rails helpers to generate our form fields and error messages. Next we look at the action that handles the response to the user. This involves the validation, flash error messages, and flash notifications. With the registration in place, we take a pause to look at something very important in any software development: testing.
Getting started with testing
Before we move any further we need to make sure things are responding as they should be. Testing things yourself may seem practical when the application is small, but as it expands testing proves to be extremely useful. We create tests for the database connection, our site controller, the registration process, and testing of the User model. Testing allows us to check all important aspects of our application. We can simulate the processes of a user and assure that we receive the proper response and that everything stays fine tuned. This chapter sets the foundation for the rest of the application as we expand and create new tests. We have tested everything is working as planned, now let's handle the process of logging in.
Logging in and out
Authenticating a user may seem simple at first glance, but there are often times steps that are overlooked in the process. This chapter attempts to cover all bases of making the login process painless. We learn how to setup the database for sessions and how to utilize them in our application. The sessions allow us to keep state of a user and their privileges. This also means that we need to protect our pages and some of our actions. They take the time to cover friendly URL forwarding, letting a user be directed back to any page after they login. Again, we run tests as we build more pieces onto the application. The end of the chapter is spent looking at the current code and refactoring to keep neat and tidy with the DRY principle. Just as with testing, this is also a very important part to the application and something the authors spend time doing with each and every piece of the application. We are also introduced to some more helpful Ruby nuances such as boolean methods and the bang! methods. A user has the ability to login, but we can take it one step further.
Advanced login
Users now have the ability to login. It is time to extend the login by allowing the application to remember the user. This chapter is spent on building the remember me functionality. This involves extending several aspects including the User model, the user session, and the authentication cookie stored in the browser. Since we are updating different aspects we take the time to extend our tests, assure our previous tests still work, and refactor some more of the code that we are building.
Updating user information
With login out of the way it is time to look at allowing users to interact with the website. The first part to this interaction is allowing them to update their details and information. This chapter discusses the process of allowing a user to change their email or update their password. The username is left untouched, as we will be creating a permalink with their username.
Our foundation is set. We have come a long way in just a few chapters, now it is time to extend our solid foundation.
Building a Social Network
Personal profiles
In the last chapter we allowed the user to update their email and password. Now we extend that to let the user create their own profile or spec. This allows a user to share all of their most intimate details one a single page. We look at building the user profile to be modular and utilize the same views for the public face and administrative face. We are introduced to some more rails helpers and some advanced routing techniques named routes. The user profile is in place, now it is time to create the pieces that allow all of your friends, teachers, aunts, and enemies to find you.
Community
The next few chapters will be spent building the central hub that will allow you to interact with the community as a whole. The first part addresses setting up the Community controller and setting up sample data to test our features with. Our first piece to the community controller is allowing you to browse users by an alphabetical index. This shows us some more options of the find method in ActiveRecord and how we can implement pagination and a summary in our results. Browsing by an alphabetical index is helpful, but lets move on to allow search and browsing by A/S/L.
Searching and browsing
Here we are introduced to plugins and using Ferret to help us with our search. As with the alphabetical listing we set it up to allow pagination within the results. We then setup a custom form to allow the user to search by age and sex. This utilizes the same views to return the results and allow pagination. Now we look at the location part. This is a little more advanced as it uses a GeoData database and a proximity search that allows you to find other users within a certain mileage of your current zip code. This concludes giving us all of the tools we need to find any information we need related to our users.
Avatars
What good is a name without a face? This chapter discusses several new aspects. The first is using a model that doesn't connect to a table in the database. The second is handling image uploads and resizing. We create the interface and allow for the user to upload, save, or delete their picture.
Email
This chapter introduces us to Active Mailer, an aspect of Rails that allows us to send emails. We will setup a model that extends Active Mailer, configure our server to send email, and create the necessary links to allow users to contact their friends. We create a double-blind email system that allows the users to contact each other without exposing their actual email address. Naturally, we add the methods that allow you to correspond with the user. Once it is all in place, we take a look at some new testing methods that allow us to simulate the sending of emails without filling our inboxes.
Friendships
Friendships live at the core of creating a social networking system. After all, the more friends you have the more popular you must be in real life! Again, we are introduced to some new modeling techniques in this chapter. In order for a user to be a friend with another user, we must create the relationship accordingly. This involves having a Friendship model that has the current user ID, and the friend ID. Using has_many :through we are able to recursively look through this table to keep track of the friendships and their statuses. As with everything else, we take the time at the end to test and refactor.
RESTful blogs
This chapter throws an advanced topic our way, that of creating RESTful URLs for our application. There is much to be...Read more›RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) Overview
Ruby on Rails is fast displacing PHP, ASP, and J2EE as the development framework of choice for discriminating programmers, thanks to its elegant design and emphasis on practical results. RailsSpace teaches you to build large-scale projects with Rails by developing a real-world application: a social networking website like MySpace, Facebook, or Friendster.

Inside, the authors walk you step by step from the creation of the site's virtually static front page, through user registration and authentication, and into a highly dynamic site, complete with user profiles, image upload, email, blogs, full-text and geographical search, and a friendship request system. In the process, you learn how Rails helps you control code complexity with the model-view-controller (MVC) architecture, abstraction layers, automated testing, and code refactoring, allowing you to scale up to a large project even with a small number of developers.

This essential introduction to Rails provides

A tutorial approach that allows you to experience Rails as it is actually used
A solid foundation for creating any login-based website in Rails
Coverage of newer and more advanced Rails features, such as form generators, REST, and Ajax (including RJS)
A thorough and integrated introduction to automated testing

The book's companion website provides the application source code, a blog with follow-up articles, narrated screencasts, and a working version of the RailSpace social network.


Want to learn more information about RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...