Agile Estimating and Planning is the definitive, practical guide to estimating and planning agile projects. In this book, Agile Alliance cofounder Mike Cohn discusses the philosophy of agile estimating and planning and shows you exactly how to get the job done, with real-world examples and case studies. Concepts are clearly illustrated and readers are guided, step by step, toward how to answer the following questions: What will we build? How big will it be? When must it be done? How much can I really complete by then? You will first learn what makes a good plan-and then what makes it agile. Using the techniques in Agile Estimating and Planning , you can stay agile from start to finish, saving time, conserving resources, and accomplishing more. Highlights include: Why conventional prescriptive planning fails and why agile planning works How to estimate feature size using story points and ideal days–and when to use each How and when to re-estimate How to prioritize features using both financial and nonfinancial approaches How to split large features into smaller, more manageable ones How to plan iterations and predict your team's initial rate of progress How to schedule projects that have unusually high uncertainty or schedule-related risk How to estimate projects that will be worked on by multiple teams Agile Estimating and Planning supports any agile, semiagile, or iterative process, including Scrum, XP, Feature-Driven Development, Crystal, Adaptive Software Development, DSDM, Unified Process, and many more. It will be an indispensable resource for every development manager, team leader, and team member.
Author: Alberto Sillitti
Publisher: Springer Science & Business Media
Release Date: 2010-05-20
Genre: Business & Economics
This book contains the refereed proceedings of the 11th International Conference on Agile Software Development, XP 2010, held in Trondheim, Norway, in June 2010. In order to better evaluate the submitted papers and to highlight the applicational aspects of agile software practices, there were two different program committees, one for research papers and one for experience reports. Regarding the research papers, 11 out of 39 submissions were accepted as full papers; and as far as the experience reports were concerned, the respective number was 15 out of 50 submissions. In addition to these papers, this volume also includes the short research papers, the abstracts of the posters, the position papers of the PhD symposium, and the abstracts of the panel on “Collaboration in an Agile World”.
Knowledge Management and Knowledge Engineering is a fascinating ?eld of re- 1 search these days. In the beginning of EKAW , the modeling and acquisition of knowledge was the privilege of – or rather a burden for – a few knowledge engineers familiar with knowledge engineering paradigms and knowledge rep- sentationformalisms.While the aimhasalwaysbeentomodelknowledgedecl- atively and allow for reusability, the knowledge models produced in these early days were typically used in single and very speci?c applications and rarely - changed. Moreover, these models were typically rather complex, and they could be understood only by a few expert knowledge engineers. This situation has changed radically in the last few years as clearly indicated by the following trends: – The creation of (even formal) knowledge is now becoming more and more collaborative. Collaborative ontology engineering tools and social software platforms show the potential to leverage the wisdom of the crowds (or at least of “the many”) to lead to broader consensus and thus produce shared models which qualify better for reuse. – A trend can also be observed towards developing and publishing small but 2 3 4 high-impactvocabularies(e.g.,FOAF ,DublinCore ,GoodRelations)rather than complex and large knowledge models.
These transactions publish research in computer-based methods of computational collective intelligence (CCI) and their applications in a wide range of fields such as the semantic Web, social networks, and multi-agent systems. TCCI strives to cover new methodological, theoretical and practical aspects of CCI understood as the form of intelligence that emerges from the collaboration and competition of many individuals (artificial and/or natural). The application of multiple computational intelligence technologies, such as fuzzy systems, evolutionary computation, neural systems, consensus theory, etc., aims to support human and other collective intelligence and to create new forms of CCI in natural and/or artificial systems. This twenty-seventh issue is a special issue with 13 selected papers from the Second Seminar on Quantitative Methods of Group Decision Making.
Author: Robert C. Martin
Publisher: Pearson Education
Release Date: 2008-08-01
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer–but only if you work at it. What kind of work will you be doing? You’ll be reading code–lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code–of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
Author: Capers Jones
Publisher: McGraw Hill Professional
Release Date: 2007-05-10
Deliver bug-free software projects on schedule and within budget Get a clear, complete understanding of how to estimate software costs, schedules, and quality using the real-world information contained in this comprehensive volume. Find out how to choose the correct hardware and software tools, develop an appraisal strategy, deploy tests and prototypes, and produce accurate software cost estimates. Plus, you'll get full coverage of cutting-edge estimating approaches using Java, object-oriented methods, and reusable components. Plan for and execute project-, phase-, and activity-level cost estimations Estimate regression, component, integration, and stress tests Compensate for inaccuracies in data collection, calculation, and analysis Assess software deliverables and data complexity Test design principles and operational characteristics using software prototyping Handle configuration change, research, quality control, and documentation costs "Capers Jones' work offers a unique contribution to the understanding of the economics of software production. It provides deep insights into why our advances in computing are not matched with corresponding improvements in the software that drives it. This book is absolutely required reading for an understanding of the limitations of our technological advances." --Paul A. Strassmann, former CIO of Xerox, the Department of Defense, and NASA
Author: Robert C. Martin
Publisher: Prentice Hall
Release Date: 2011-11-10
The Robert C. Martin Clean Code Collection consists of two bestselling eBooks: Clean Code: A Handbook of Agile Software Craftmanship The Clean Coder: A Code of Conduct for Professional Programmers In Clean Code, legendary software expert Robert C. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer--but only if you work at it. You will be challenged to think about what’s right about that code and what’s wrong with it. More important, you will be challenged to reassess your professional values and your commitment to your craft. In The Clean Coder, Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice--about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers of this collection will come away understanding How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding and get past writer’s block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say “No”--and how to say it When to say “Yes”--and what yes really means
Author: Capers Jones
Publisher: McGraw Hill Professional
Release Date: 2008-04-11
Effectively forecast, manage, and control software across the entire project lifecycle Accurately size, estimate, and administer software projects with real-world guidance from an industry expert. Fully updated to cover the latest tools and techniques, Applied Software Measurement, Third Edition details how to deploy a cost-effective and pragmatic analysis strategy. You will learn how to use function points and baselines, implement benchmarks and tracking systems, and perform efficiency tests. Full coverage of the latest regulations, metrics, and standards is included. Measure performance at the requirements, coding, testing, and installation phases Set function points for efficiency, cost, market share, and customer satisfaction Analyze quality and productivity using assessments, benchmarks, and baselines Design and manage project cost, defect, and quality tracking systems Use object-oriented, reusable component, Agile, CMM, and XP methods Assess defect removal efficiency using unit tests and multistage test suites
Your Hands-On, "In-the-Trenches" Guide to Successfully Leading AgileProjectsAgile methods promise to infuse development with unprecedented flexibility, speed, and valueand these promises are attracting IT organizations worldwide. However, agile methods often fail to clearly define the manager s role, and many managers have been reluctant to buy in. Now, expert project manager Sanjiv Augustine introduces agility "from the manager s point of view, offering a proven management framework that addresses everything from team building to project control. Augustine bridges the disconnect between the assumptions and techniques of traditional and agile management, demonstrating why agility is better aligned with today s project realities, and how to simplify your transition. Using a detailed case study, he shows how agile methods can scale to succeed in even the largest projects: Defining a high-value role for the manager in agile project environmentsRefocusing on "outcomes--not rigid plans, processes, or controlsStructuring and building adaptive, self-organizing "organic teams"Forming a guiding vision that aligns your team behind a common purposeEmpowering your team with the information it needs to succeedManaging the flow of customer value from one creative stage to the nextLeveraging your team members strengths as "whole persons"Implementing full-life-cycle agility: from planning and coding to maintenance and knowledge transfer Customizing agile methods to your unique environmentBecoming an "adaptive leader" who can inspire and energize agile teams Whether you re a technical or business manager, "Managing Agile Projectsgives you all the tools you need to implement agility in "your environmentand reap its full benefits. "Managing Agile Projects is part of the Robert C. Martin series.(c) Copyright Pearson Education. All rights reserved.
Agile methodologies define specific roles for each project stakeholder. Learning how to play these roles and navigate agile's stakeholders can prove bewildering to new practitioners, impeding their success with agile. This book guides agile practitioners in understanding their roles and immediately applying pragmatic agile practices that are proven to work. Designed for team members working with any agile methodology, it shows how to apply the specific agile best practices most closely associated with success in each role, and become far more effective advocates for agile throughout their organizations. Leading agile consultant Venkat Subramaniam first helps agile team members gain momentum for core agile practices, including stories, estimation, and planning, and offers expert guidance on scaling agile to larger projects. Next, he demonstrates how to sustain the pace of agility by applying evolutionary design and architecture, test-driven design, mock objects, refactoring, continuous integration, and other innovative techniques. The book concludes with a full chapter of case studies, many drawn from the author's own consulting experience.
Be a Better Developer and Deliver Better Code Despite advanced tools and methodologies, software projects continue to fail. Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too—and they behave accordingly. In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfilling path. If you want to develop software with pride and professionalism; love what you do and do it with excellence; and build a career with autonomy, mastery, and purpose, it starts with the recognition that you are a craftsman. Once you embrace this powerful mindset, you can achieve unprecedented levels of technical excellence and customer satisfaction. Mancuso helped found the world’s largest organization of software craftsmen; now, he shares what he’s learned through inspiring examples and pragmatic advice you can use in your company, your projects, and your career. You will learn Why agile processes aren’t enough and why craftsmanship is crucial to making them work How craftsmanship helps you build software right and helps clients in ways that go beyond code How and when to say “No” and how to provide creative alternatives when you do Why bad code happens to good developers and how to stop creating and justifying it How to make working with legacy code less painful and more productive How to be pragmatic—not dogmatic—about your practices and tools How to lead software craftsmen and attract them to your organization What to avoid when advertising positions, interviewing candidates, and hiring developers How developers and their managers can create a true culture of learning How to drive true technical change and overcome deep patterns of skepticism Sandro Mancuso has coded for startups, software houses, product companies, international consultancies, and investment banks. In October 2013, he cofounded Codurance, a consultancy based on Software Craftsmanship principles and values. His involvement with Software Craftsmanship began in 2010, when he founded the London Software Craftsmanship Community (LSCC), now the world’s largest and most active Software Craftsmanship community, with more than two thousand craftsmen. For the past four years, he has inspired and helped developers to organize Software Craftsmanship communities throughout Europe, the United States, and the rest of the world.
Extreme Programming is the most exciting revolution to hit the software engineering industry in the last decade. But what exactly is XP? And how do you XP? Simply put, XP is about playing to win. If you are serious about becoming an agile organization, decreasing your time to market, keeping your development team happy, and improving the overall quality of your software, then XP is for you. Extreme Programming in Practice provides a candid, refreshing, insiders view of how an XP project works. The artifacts presented in this book are real, the user stories are real, and the anecdotes are real. The book represents all-access, uncensored XP. The authors have chosen example over explanation, so that you can personalize the tenets of XP and put them into practice on your next development project. The book is supported with sample code and test examples. You can learn how to emphasize planning in your project; deliver multiple iterations of your project (each with increasing business value); gather customer feedback as you build; and test the integrity of your code without halting your development efforts. The authors also provide a handy summary of more than a dozen lessons learned i