This book examines the possibilities of incorporating elements of user-centred design (UCD) such as user experience (UX) and usability with agile software development. It explores the difficulties and problems inherent in integrating these two practices despite their relative similarities, such as their emphasis on stakeholder collaboration. Developed from a workshop held at NordiCHI in 2014, this edited volume brings together researchers from across the software development, UCD and creative design fields to discuss the current state-of-the-art. Practical case studies of integrating UCD in Agile development across diverse contexts are presented, whilst the different futures for UCD and other design practices in the context of agile software development are identified and explored. Integrating User Centred Design in Agile Development will be ideal for researchers, designers and academics who are interested in software development, user-centred design, agile methodologies and related areas.
Over time, technical debt affects virtually every significant software project. As software systems evolve, earlier design or code decisions prove to be ´´not quite right,´´ gradually becoming impediments that slow down the evolution of the system, or even grind it to a halt. Most software practitioners have experienced this phenomenon, but many feel helpless to address it. In this guide, three leading software engineering experts introduce empirically validated principles and practices for managing and mitigating technical debt in any software system. Using real-life examples, the authors explain the forms of technical debt that afflict software-intensive systems, their root causes, and their impacts. Next, they introduce a palette of proven approaches, strategies, methods, and tools for: Identifying sources of technical debt in any software system Assessing the magnitude of technical debt Limiting the introduction of technical debt in the first place Reducing the impact of technical debt over time As software systems mature, the challenge of technical debt has grown, and it has become increasingly urgent for software professionals and their managers to address it head-on. Managing Technical Debt shows them how.
Learn best practices for building bots by focusing on the technological implementation and UX in this practical book. You will cover key topics such as setting up a development environment for creating chatbots for multiple channels (Facebook Messenger, Skype, and KiK); building a chatbot (design to implementation); integrating to IFTT (If This Then That) and IoT (Internet of Things); carrying out analytics and metrics for chatbots; and most importantly monetizing models and business sense for chatbots. Build Better Chatbots is easy to follow with code snippets provided in the book and complete code open sourced and available to download. With Facebook opening up its Messenger platform for developers, followed by Microsoft opening up Skype for development, a new channel has emerged for brands to acquire, engage, and service customers on chat with chatbots. What You Will Learn Work with the bot development life cycle Master bot UX design Integrate into the bot ecosystem Maximize the business and monetization potential for bots Who This Book Is For Developers, programmers, and hobbyists who have basic programming knowledge. The book can be used by existing chatbot developers to gain a better understanding of analytics and the business side of bots.
Build Android apps using the popular and efficient Android Studio 3 suite of tools, an integrated development environment (IDE) for Android developers using Java APIs. With this book, you´ll learn the latest and most productive tools in the Android tools ecosystem, ensuring quick Android app development and minimal effort on your part. Along the way, you´ll use Android Studio to develop Java-based Android apps, tier by tier through practical examples. These examples cover core Android topics such as notifications and toast; intents and broadcast receivers; and services. Then, you´ll learn how to publish your apps and sell them online and in the Google Play store. What You´ll Learn Use Android Studio 3 to quickly and confidently build your first Android apps Build an Android user interface using activities and layouts, event handling, images, menus and the action bar Incorporate new elements including fragments Integrate data with data persistence Access the cloud Who This Book Is For Those who may be new to Android Studio 3 or Android Studio in general. You may or may not be new to Android development in general. Some prior experience with Java is also recommended.
The manner in which people, businesses and governments perform is changing due to the spread of technology. Digitalization of governments can be considered a necessity as we are now entering the era of the Internet of Things. This work examines the current maturation of the electronic government practices, emphasizes the importance of electronic government practices for the public sector organizations especially for Cyprus and for other small island developing states. An overall outcome of the study concludes that the current electronic government practices is still behind the development of the developed countries while better than undeveloped countries as there are some basic electronic government practices with drawbacks and incompleteness. Findings also indicate that physical isolation does not prevent development of electronic government practices and Northern Cyprus is not digitally isolated.
This book is a comprehensive introduction to the methods and algorithms of modern data analytics. It provides a sound mathematical basis, discusses advantages and drawbacks of different approaches, and enables the reader to design and implement data analytics solutions for real-world applications. This book has been used for more than ten years in the Data Mining course at the Technical University of Munich. Much of the content is based on the results of industrial research and development projects at Siemens.
This book provides an in-depth insight into the new architectures and concepts of current Citrix XenDesktop and XenApp technologies for central provisioning of desktops and applications. It is aimed both at newcomers to the Citrix virtualization world and at those upgrading from previous versions. All the necessary steps for the creation of a design, and the development and operation of a complete, scalable virtualization environment are discussed in a detailed and practical manner. Valuable advice and comprehensive background information also feature in this solution-oriented compendium, making it an indispensable companion for IT-solution architects, consultants and administrators.
Are you attracted by the promises of agile methods but put off by the fanaticism of many agile texts? Would you like to know which agile techniques work, which ones do not matter much, and which ones will harm your projects? Then you need Agile! : the first exhaustive, objective review of agile principles, techniques and tools. Agile methods are one of the most important developments in software over the past decades, but also a surprising mix of the best and the worst. Until now every project and developer had to sort out the good ideas from the bad by themselves. This book spares you the pain. It offers both a thorough descriptive presentation of agile techniques and a perceptive analysis of their benefits and limitations. Agile! serves first as a primer on agile development : one chapter each introduces agile principles, roles, managerial practices, technical practices and artifacts. A separate chapter analyzes the four major agile methods: Extreme Programming, Lean Software, Scrum and Crystal. The accompanying critical analysis explains what you should retain and discard from agile ideas. It is based on Meyer´s thorough understanding of software engineering, and his extensive personal experience of programming and project management. He highlights the limitations of agile methods as well as their truly brilliant contributions - even those to which their own authors do not do full justice. Three important chapters precede the core discussion of agile ideas: an overview, serving as a concentrate of the entire book; a dissection of the intellectual devices used by agile authors; and a review of classical software engineering techniques, such as requirements analysis and lifecycle models, which agile methods criticize. The final chapters describe the precautions that a company should take during a transition to agile development and present an overall assessment of agile ideas. This is the first book to discuss agile methods, beyond the brouhaha, in the general context of modern software engineering. It is a key resource for projects that want to combine the best of established results and agile innovations.
Discover the Django web application framework and get started building Python-based web applications. This book takes you from the basics of Django all the way through to cutting-edge topics such as creating RESTful applications. Beginning Django also covers ancillary, but essential, development topics, including configuration settings, static resource management, logging, debugging, and email. Along with material on data access with SQL queries, you´ll have all you need to get up and running with Django 1.11 LTS, which is compatible with Python 2 and Python 3. Once you´ve built your web application, you´ll need to be the admin, so the next part of the book covers how to enforce permission management with users and groups. This technique allows you to restrict access to URLs and content, giving you total control of your data. In addition, you´ll work with and customize the Django admin site, which provides access to a Django project´s data. After reading and using this book, you´ll be able to build a Django application top to bottom and be ready to move on to more advanced or complex Django application development. What You´ll Learn Get started with the Django framework Use Django views, class-based views, URLs, middleware, forms, templates, and Jinja templates Take advantage of Django models, including model relationships, migrations, queries, and forms Leverage the Django admin site to get access to the database used by a Django project Deploy Django REST services to serve as the data backbone for mobile, IoT, and SaaS systems Who This Book Is For Python developers new to the Django web application development framework and web developers new to Python and Django.