Practical Enterprise Software Development Techniques

Practical Enterprise Software Development Techniques
Author: Edward Crookshanks
Publisher: Apress
Total Pages: 223
Release: 2015-03-03
Genre: Computers
ISBN: 1484206207

This expanded and updated edition of "Practical Enterprise Software Development Techniques" includes a new chapter which explains what makes enterprise scale software development different from other development endeavors. Chapter 4 has been expanded with additional coverage of code review, bug tracker systems and agile software applications. The chapter order has been changed in response to feedback from readers and instructors who have taught classes using the previous version (which was also published by Apress). This book provides an overview of tools and techniques used in enterprise software development, many of which are not taught in academic programs or learned on the job. This is an ideal resource containing lots of practical information and code examples that you need to master as a member of an enterprise development team. This book aggregates many of these "on the job" tools and techniques into a concise format and presents them as both discussion topics and with code examples. The reader will not only get an overview of these tools and techniques, but also several discussions concerning operational aspects of enterprise software development and how it differs from smaller development efforts. For example, in the chapter on Design Patterns and Architecture, the author describes the basics of design patterns but only highlights those that are more important in enterprise applications due to separation of duties, enterprise security, etc. The architecture discussion revolves has a similar emphasis – different teams may manage different aspects of the application’s components with little or no access to the developer. This aspect of restricted access is also mentioned in the section on logging. Theory of logging and discussions of what to log are briefly mentioned, the configuration of the logging tools is demonstrated along with a discussion of why it’s very important in an enterprise environment.

Practical Software Development Techniques

Practical Software Development Techniques
Author: Edward Crookshanks
Publisher: Apress
Total Pages: 201
Release: 2014-11-12
Genre: Computers
ISBN: 1484207289

This book provides an overview of tools and techniques used in enterprise software development, many of which are not taught in academic programs or learned on the job. This is an ideal resource containing lots of practical information and code examples that you need to master as a member of an enterprise development team. This book aggregates many of these "on the job" tools and techniques into a concise format and presents them as both discussion topics and with code examples. The reader will not only get an overview of these tools and techniques, but also several discussions concerning operational aspects of enterprise software development and how it differs from smaller development efforts. For example, in the chapter on Design Patterns and Architecture, the author describes the basics of design patterns but only highlights those that are more important in enterprise applications due to separation of duties, enterprise security, etc. The architecture discussion revolves has a similar emphasis – different teams may manage different aspects of the application’s components with little or no access to the developer. This aspect of restricted access is also mentioned in the section on logging. Theory of logging and discussions of what to log are briefly mentioned, the configuration of the logging tools is demonstrated along with a discussion of why it’s very important in an enterprise environment.

Outside-in Software Development

Outside-in Software Development
Author: Carl Kessler
Publisher: Pearson Education
Total Pages: 427
Release: 2007-09-24
Genre: Computers
ISBN: 0132704374

"Outside-in thinking complements any approach your teams may be taking to the actual implementation of software, but it changes how you measure success. A successful outside-in team does a lot of learning and not much speculation." —Tom Poppendieck Build Software That Delivers Maximum Business Value to Every Key Stakeholder Imagine your ideal development project. It will deliver exactly what your clients need. It will achieve broad, rapid, enthusiastic adoption. And it will be designed and built by a productive, high-morale team of expert software professionals. Using this book's breakthrough "outside-in" approach to software development, your next project can be that ideal project. In Outside-in Software Development, two of IBM's most respected software leaders, Carl Kessler and John Sweitzer, show you how to identify the stakeholders who'll determine your project's real value, shape every decision around their real needs, and deliver software that achieves broad, rapid, enthusiastic adoption. The authors present an end-to-end framework and practical implementation techniques any development team can quickly benefit from, regardless of project type or scope. Using their proven approach, you can improve the effectiveness of every client conversation, define priorities with greater visibility and clarity, and make sure all your code delivers maximum business value. Coverage includes Understanding your stakeholders and the organizational and business context they operate in Clarifying the short- and long-term stakeholder goals your project will satisfy More effectively mapping project expectations to outcomes Building more "consumable" software: systems that are easier to deploy, use, and support Continuously enhancing alignment with stakeholder goals Helping stakeholders manage ongoing change long after you've delivered your product Mastering the leadership techniques needed to drive outside-in development

Modelling Systems

Modelling Systems
Author: John Fitzgerald
Publisher: Cambridge University Press
Total Pages: 305
Release: 2009-06-11
Genre: Computers
ISBN: 0521899117

How can we make sure that the software we build does what it is supposed to? This book provides an insight into established techniques which help developers to overcome the complexity of software development by constructing models of software systems in early design stages. It uses one of the leading formal methods, VDM (Vienna Development Method), and combines training in the formalism with industry-strength tool support and examples derived from real industrial applications. The principles taught here also apply to many of the current generation of formal methods. This second edition has been updated to include advanced online tool support for formal modelling as well as up-to-date reports on real commercial applications in areas as diverse as business information systems and firmware design.

Software Development and Professional Practice

Software Development and Professional Practice
Author: John Dooley
Publisher: Apress
Total Pages: 254
Release: 2011-10-13
Genre: Computers
ISBN: 143023802X

Software Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code. Software Development and Professional Practice is also about code construction—how to write great programs and make them work. What, you say? You've already written eight gazillion programs! Of course I know how to write code! Well, in this book you'll re-examine what you already do, and you'll investigate ways to improve. Using the Java language, you'll look deeply into coding standards, debugging, unit testing, modularity, and other characteristics of good programs. You'll also talk about reading code. How do you read code? What makes a program readable? Can good, readable code replace documentation? How much documentation do you really need? This book introduces you to software engineering—the application of engineering principles to the development of software. What are these engineering principles? First, all engineering efforts follow a defined process. So, you'll be spending a bit of time talking about how you run a software development project and the different phases of a project. Secondly, all engineering work has a basis in the application of science and mathematics to real-world problems. And so does software development! You'll therefore take the time to examine how to design and implement programs that solve specific problems. Finally, this book is also about human-computer interaction and user interface design issues. A poor user interface can ruin any desire to actually use a program; in this book, you'll figure out why and how to avoid those errors. Software Development and Professional Practice covers many of the topics described for the ACM Computing Curricula 2001 course C292c Software Development and Professional Practice. It is designed to be both a textbook and a manual for the working professional.

Software Development From A to Z

Software Development From A to Z
Author: Olga Filipova
Publisher: Apress
Total Pages: 299
Release: 2018-10-12
Genre: Computers
ISBN: 1484239458

Understand the big picture of the software development process. We use software every day – operating systems, applications, document editing programs, home banking – but have you ever wondered who creates software and how it’s created? This book guides you through the entire process, from conception to the finished product with the aid of user-centric design theory and tools. Software Development: From A to Z provides an overview of backend development - from databases to communication protocols including practical programming skills in Java and of frontend development - from HTML and CSS to npm registry and Vue.js framework. You'll review quality assurance engineering, including the theory about different kind of tests and practicing end-to-end testing using Selenium. Dive into the devops world where authors discuss continuous integration and continuous delivery processes along with each topic's associated technologies. You'll then explore insightful product and project management coverage where authors talk about agile, scrum and other processes from their own experience. The topics that are covered do not require a deep knowledge of technology in general; anyone possessing basic computer and programming knowledge will be able to complete all the tasks and fully understand the concepts this book aims at delivering. You'll wear the hat of a project manager, product owner, designer, backend, frontend, QA and devops engineer, and find your favorite role. What You'll Learn Understand the processes and roles involved in the creation of software Organize your ideas when building the concept of a new product Experience the work performed by stakeholders and other departments of expertise, their individual challenges, and how to overcome possible threats Improve the ways stakeholders and departments can work with each otherGain ideas on how to improve communication and processes Who This Book Is For Anyone who is on a team that creates software and is curious to learn more about other stakeholders or departments involved. Those interested in a career change and want to learn about how software gets created. Those who want to build technical startups and wonder what roles might be involved in the process.

Practical Software Estimation

Practical Software Estimation
Author: M. A. Parthasarathy
Publisher: Pearson Education
Total Pages: 431
Release: 2003-02-25
Genre: Computers
ISBN: 0132702444

"A clearly written book that is a useful primer for a very complicated set of topics." --Capers Jones, Chief Scientist Emeritus, Software Productivity Research LLC Practical Software Estimation brings together today's most valuable tips, techniques, and best practices for accurately estimating software project efforts, costs, and schedules. Written by a leading expert in the field, it addresses the full spectrum of real-world challenges faced by those who must develop reliable estimates. M. A. Parthasarathy draws on the immense experience of Infosys, one of the world's largest and most respected providers of IT-enabled business solutions, to bring you the only book with detailed guidance on estimating insourced and outsourced software projects, as well as projects that blend both approaches. He demonstrates how to successfully utilize Function Point (FP) methods, the industry's leading estimation model. Then, using real case studies, he systematically identifies pitfalls that can lead to inaccurate estimates--and offers proven solutions. Coverage includes How to estimate all types of software projects, including "fresh" development, reengineering, and maintenance How to incorporate the impact of core project elements on estimates: scope, environment, experience, and tools FP analysis from start to finish: data and transaction functions, general system characteristics, and more FP methods for any platform or business function Innovative re-estimation methods to track progress How to quote RFPs and prepare contracts: fixed price, time/material, and project execution lifecycle models Alternatives to FP: Delphi, COCOMO II, and COSMIC-FFP How to choose the right estimation tools Practical Software Estimation is the definitive reference for anyone who must estimate software projects accurately: project and IT managers, individual developers, system designers, architects, executives, consultants, and outsourcers alike. List of Figures List of Tables Foreword Preface Acknowledgments Chapter 1: Introduction Chapter 2: Role of Estimation in Software Projects Chapter 3: A Study of Function Point Analysis Chapter 4: Data Functions Chapter 5: Transactional Functions Chapter 6: General System Characteristics Chapter 7: Size, Effort, and Scheduling of Projects Chapter 8: Estimation Flavors Chapter 9: A Sense of Where You Are Chapter 10: Tips, Tricks, and Traps Chapter 11: Insourcing versus Outsourcing Chapter 12: Key Factors in Software Contracts Chapter 13: Project Estimation and Costing Chapter 14: Other Estimation Methods Chapter 15: Estimation Tools Chapter 16: Estimation Case Study Appendix A: Reference Tables: Transaction Function Counts Appendix B: Reference Tables: Data Function Points Bibliography Index

Applied C++

Applied C++
Author: Philip Romanik
Publisher: Addison-Wesley Professional
Total Pages: 358
Release: 2003
Genre: Computers
ISBN: 9780321108944

This is an insightful guide to efficient, practical solutions to real-world C++ problems. Concrete case studies run throughput the book and show how to develop quality C++ software.

Practical Formal Software Engineering

Practical Formal Software Engineering
Author: Bruce Mills
Publisher: Cambridge University Press
Total Pages: 377
Release: 2009-01-19
Genre: Computers
ISBN: 0521879035

Based around a theme of the construction of a game engine, this textbook is for final year undergraduate and graduate students, emphasising formal methods in writing robust code quickly. This book takes an unusual, engineering-inspired approach to illuminate the creation and verification of large software systems . Where other textbooks discuss business practices through generic project management techniques or detailed rigid logic systems, this book examines the interaction between code in a physical machine and the logic applied in creating the software. These elements create an informal and rigorous study of logic, algebra, and geometry through software. Assuming prior experience with C, C++, or Java programming languages, chapters introduce UML, OCL, and Z from scratch. Extensive worked examples motivate readers to learn the languages through the technical side of software science.

A Practical Approach to Large-Scale Agile Development

A Practical Approach to Large-Scale Agile Development
Author: Gary Gruver
Publisher: Addison-Wesley
Total Pages: 208
Release: 2012-11-15
Genre: Computers
ISBN: 0132981017

Today, even the largest development organizations are turning to agile methodologies, seeking major productivity and quality improvements. However, large-scale agile development is difficult, and publicly available case studies have been scarce. Now, three agile pioneers at Hewlett-Packard present a candid, start-to-finish insider’s look at how they’ve succeeded with agile in one of the company’s most mission-critical software environments: firmware for HP LaserJet printers. This book tells the story of an extraordinary experiment and journey. Could agile principles be applied to re-architect an enormous legacy code base? Could agile enable both timely delivery and ongoing innovation? Could it really be applied to 400+ developers distributed across four states, three continents, and four business units? Could it go beyond delivering incremental gains, to meet the stretch goal of 10x developer productivity improvements? It could, and it did—but getting there was not easy. Writing for both managers and technologists, the authors candidly discuss both their successes and failures, presenting actionable lessons for other development organizations, as well as approaches that have proven themselves repeatedly in HP’s challenging environment. They not only illuminate the potential benefits of agile in large-scale development, they also systematically show how these benefits can actually be achieved. Coverage includes: • Tightly linking agile methods and enterprise architecture with business objectives • Focusing agile practices on your worst development pain points to get the most bang for your buck • Abandoning classic agile methods that don’t work at the largest scale • Employing agile methods to establish a new architecture • Using metrics as a “conversation starter” around agile process improvements • Leveraging continuous integration and quality systems to reduce costs, accelerate schedules, and automate the delivery pipeline • Taming the planning beast with “light-touch” agile planning and lightweight long-range forecasting • Implementing effective project management and ensuring accountability in large agile projects • Managing tradeoffs associated with key decisions about organizational structure • Overcoming U.S./India cultural differences that can complicate offshore development • Selecting tools to support quantum leaps in productivity in your organization • Using change management disciplines to support greater enterprise agility