*Describes an agile process that works on large projects *Ideal for hurried developers who want to develop software in teams *Incorporates real-life C#/.NET web project; can compare this with cases in book
This book describes how to apply ICONIX Process (a minimal, use case-driven modeling process) in an agile software project. It’s full of practical advice for avoiding common agile pitfalls. Further, the book defines a core agile subset so those of you who want to get agile need not spend years learning to do it. Instead, you can simply read this book and apply the core subset of techniques. The book follows a real-life .NET/C# project from inception and UML modeling, to working code through several iterations. You can then go on-line to compare the finished product with the initial set of use cases. The book also introduces several extensions to the core ICONIX Process, including combining test-driven development (TDD) with up-front design to maximize both approaches (with examples using Java and JUnit). And the book incorporates persona analysis to drive the projects goals and reduce requirements churn.
Diagramming and process are important topics in today’s software development world, as the UML diagramming language has come to be almost universally accepted. Yet process is necessary; by themselves, diagrams are of little use. Use Case Driven Object Modeling with UML - Theory and Practice combines the notation of UML with a lightweight but effective process - the ICONIX process - for designing and developing software systems. ICONIX has developed a growing following over the years. Sitting between the free-for-all of Extreme Programming and overly rigid processes such as RUP, ICONIX offers just enough structure to be successful.
From the beginning of software time, people have wondered why it isn’t possible to accelerate software projects by simply adding staff. This is sometimes known as the “nine women can’t make a baby in one month” problem. The most famous treatise declaring this to be impossible is Fred Brooks’ 1975 book The Mythical Man-Month, in which he declares that “adding more programmers to a late software project makes it later,” and indeed this has proven largely true over the decades. Aided by a domain-driven code generator that quickly creates database and API code, Parallel Agile (PA) achieves significant schedule compression using parallelism: as many developers as necessary can independently and concurrently develop the scenarios from initial prototype through production code. Projects can scale by elastic staffing, rather than by stretching schedules for larger development efforts. Schedule compression with a large team of developers working in parallel is analogous to hardware acceleration of compute problems using parallel CPUs. PA has some similarities with and differences from other Agile approaches. Like most Agile methods, PA "gets to code early" and uses feedback from executable software to drive requirements and design. PA uses technical prototyping as a risk-mitigation strategy, to help sanity-check requirements for feasibility, and to evaluate different technical architectures and technologies. Unlike many Agile methods, PA does not support "design by refactoring," and it doesn't drive designs from unit tests. Instead, PA uses a minimalist UML-based design approach (Agile/ICONIX) that starts out with a domain model to facilitate communication across the development team, and partitions the system along use case boundaries, which enables parallel development. Parallel Agile is fully compatible with the Incremental Commitment Spiral Model (ICSM), which involves concurrent effort of a systems engineering team, a development team, and a test team working alongside the developers. The authors have been researching and refining the PA process for several years on multiple test projects that have involved over 200 developers. The book’s example project details the design of one of these test projects, a crowdsourced traffic safety system.
The groundbreaking book Design Driven Testing brings sanity back to the software development process by flipping around the concept of Test Driven Development (TDD)—restoring the concept of using testing to verify a design instead of pretending that unit tests are a replacement for design. Anyone who feels that TDD is “Too Damn Difficult” will appreciate this book. Design Driven Testing shows that, by combining a forward-thinking development process with cutting-edge automation, testing can be a finely targeted, business-driven, rewarding effort. In other words, you’ll learn how to test smarter, not harder. Applies a feedback-driven approach to each stage of the project lifecycle. Illustrates a lightweight and effective approach using a core subset of UML. Follows a real-life example project using Java and Flex/ActionScript. Presents bonus chapters for advanced DDTers covering unit-test antipatterns (and their opposite, “test-conscious” design patterns), and showing how to create your own test transformation templates in Enterprise Architect.
Stephens and Rosenberg examine XP in the context of existing methodologies and processes such as RUP, ICONIX, Spiral, RAD, DSDM, etc – and show how XP goals can be achieved using these existing processes.
Establish business agility in your organization by applying industry-proven scaling strategies from popular Scrum frameworks such as Scrum of Scrums (SoS), Scrum@Scale, Nexus, Large-Scale Scrum (LeSS), Disciplined Agile, and SAFe Key FeaturesLearn how to be Agile at scale by implementing best practicesUnderstand how Lean-Agile practices are incorporated in Disciplined Agile and the Scaled Agile Framework (SAFe)Customize Scrum and Lean-Agile practices to support portfolio and large product development needsBook Description Scaled Scrum and Lean-Agile practices provide essential strategies to address large and complex product development challenges not addressed in traditional Scrum. This Scrum/ Lean-Agile handbook provides a comprehensive review and analysis of industry-proven scaling strategies that enable business agility on an enterprise scale. Free of marketing hype or vendor bias, this book helps you decide which practices best fit your situation. You'll start with an introduction to Scrum as a lightweight software development framework and then explore common approaches to scaling it for more complex development scenarios. The book will then guide you through systems theory, lean development, and the application of holistic thinking to more complex software and system development activities. Throughout, you'll learn how to support multiple teams working in collaboration to develop large and complex products and explore how to manage cross-team integration, dependency, and synchronization issues. Later, you'll learn how to improve enterprise operational efficiency across value creation and value delivery activities, before discovering how to align product portfolio investments with corporate strategies. By the end of this Scrum book, you and your product teams will be able to get the most value out of Agile at scale, even in complex cyber-physical system development environments. What you will learnUnderstand the limitations of traditional Scrum practicesExplore the roles and responsibilities in a scaled Scrum and Lean-Agile development environmentTailor your Scrum approach to support portfolio and large product development needsApply systems thinking to evaluate the impacts of changes in the interdependent parts of a larger development and delivery systemScale Scrum practices at both the program and portfolio levels of managementUnderstand how DevOps, test automation, and CI/CD capabilities help in scaling Scrum practicesWho this book is for Executives, product owners, Scrum masters, development team members, and other stakeholders who need to learn how to scale Agile to support large, complex projects and large enterprise portfolios and programs will find this book useful. A basic understanding of the values and principles of Agile and the Scrum-based framework for Agile development practices is required before you get started with this Agile Scrum book.
For all developers who create models using the Unified Modeling Language (UML) 2.x The Elements of UMLTM 2.0 Style sets the rules for style that will improve your productivity - especially in teams, where understandability and consistency are critical. Coming from renowned UML expert Scott Ambler, the book furnishes a set of rules for modelling in the UML and describes a collection of standards and guidelines for creating effective UML diagrams that will be concise and easy to understand. It provides conventions for: Class diagrams; Timing Diagrams; Use case diagrams; Composite Structure Diagrams; Sequence diagrams; Interaction Overview Diagrams; Activity diagrams; Object diagrams; State machine diagrams; Package diagrams; Communication diagrams; Deployment diagrams and Component diagrams. The Elements of UMLTM 2.0 Style sets the rules for style that will improve your productivity.
ICONIX Process has a long track record of helping companies avoid analysis paralysis on a multitude of projects, and is best suited for developing Web and GUI-based systems. This resource contains a treasure-trove of tailored roadmaps, proven on demanding real-life projects.