Agile Software Development
Incremental-based Work Benefits Developers and Customers
Print ISBN: 978-1-48356-622-1
eBook ISBN: 978-1-48356-623-8
2016 Anthony Baah. All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher, except in the case of brief quotations embodied in critical reviews and certain other noncommercial uses permitted by copyright law.
Foreword
Mastering the two areas of software engineering methodologieswaterfall and agileis one of the fascinating aspects in software engineering.
Before I joined information technology (IT) companies that produce software, I dealt with people in human resources management. Seeing how customers require assistance in the software development arena, I decided to become more involved and joined IT companies.
My involvement in the IT sector with software development approach has become very dynamic as I moved from the waterfall methodology to agile methodology transformation. The initial idea was to derive a better approach to understanding and managing customers requirements making sure customers needs were met in a timely manner.
The length of time it takes to get these requirements developed and ready for design, development, test and roll out is of key importance. The customer often has to wait for at least six months to a year before the final product is ready for use. Even then, the reality is the product might not even satisfy or meet the need.
Joining the agile transformation community made me see the real world of software development approaches and the real product delivery. The agile community has developed a very significant and powerful tool that has achieved greater results. Customers are extremely happy and confident as they see incremental delivery towards the end result of a useful product.
As you read this book, I encourage you to pay particular attention to how, as an individual, I was actively involved in all the things that make software development a reality and special. Special attention must be paid to how quality assurance (QA) continues to evolve in the agile software development arena and the rigid set of practices that must be adopted in order to be successful with agile teams.
I have provided a detailed description of agility and have shown the activities and accomplishments of a quality assurance team. By the end of the book, you will a have greater understanding of why companies are adopting this new software development approach.
Preface
From 1996 until agile methodology came into existence, numerous companies adopted the waterfall software development approach as a way to bring better requirements management that led to the functionality that customers wanted. A majority of the information technology companies noticed that their customers had to wait for a number of months or years to receive the product they requested. In most cases, the product delivered was either not serving the purpose or was rejected despite the time spent and the cost involved.
Today, agile methodology has opened a brighter way of developing software that tends to satisfy customer needs. Incremental delivery, which is highly scalable, allows teams to work collaboratively with stakeholders. Agile methodology requires that all teams with the product owner, scrum master and quality assurance team work together with stakeholders across all business functions.
Software development under agile methodology has been necessary to continue to address some process issues requirements and some of the challenges organizations face as they go about application development within projects.
This book describes the activities carried on as I moved along my information technology pathway, changing from one method of software development to another. The book describes most activities as a quality assurance analyst one engages in and the contributions and accomplishments that followed.
Acknowledgement
I thank the Almighty God for His guidance and protection and for providing me with strength and courage that moved me through the development of this material. Without his showers of blessings, I would not have been able to accomplish this achievement.
I extend my most sincere and heartfelt thanks to my dearest friend and co-worker Dorothy Boyd who provided objective reviews for the work we both did on the acceptance criteria case study. Dorothy contributed immensely during the data gathering and reviews of the material we presented. I always counted on her expertise and courtesy in providing support for the work we did under quality assurance.
I thank Marilyn Weishaar of the www.theweisrevise.com , who did tremendous work on editing the material. If there is any quality to be found in this resulting material, much of the credit goes to Marilyn.
Dedication
I dedicate this book first of all to the Almighty God who has made it possible; also to my dearest mother Madam Ammah Nkrumah, who passed away a few years ago at the age of 94. Through her love for her children and her hard work to support me, I was able go to school and reach the highest point in education; that has made it possible to write this material.
About the Author
Dr. Anthony Baah holds a PhD in information systems technology management. He gained experience in software development when he started as an information technology (IT) professional working in the capacity as a systems engineer directing and supporting full lifecycle software development projects for military divisions and global commercial customers. He has had the opportunity to become a successful project team lead and exceled in developing strategic planning and requirements analysis that enhanced configuration management and ensured that technical expectations and standards were consistently achieved.
Throughout the years, Baah has had an opportunity to become familiar with the mainframe operations for commercial and federal systems. He has since been a top expert at producing design models that improve system architecture and reduce timeframes. He acquired experience in developing service strategy for the organizations service desks for supporting incident management and service coordination for internal and external customers.
He has also developed strong customer service experience and acquired excellent oral and written communication skills, including presentation skills and the ability to synthesize technical data for non-technical audiences.
Working in the waterfall model for companies, Baah accomplished strong background in system upgrades and maintenance, applying fundamental test engineering principles and testing methodologies that supported system performance and execution.
He has had the opportunity to coordinate with customers to create and review systems specification work order statements to determine functional requirements for Aerospace systems. He developed and implemented methodology, sequence, flow diagrams and uses cases in unified model language (UML) to ensure that project expectations were executed. Also coordinating with system design utilizing the Rhapsody model, he was privileged to team up with various test groups to create and implement test plans and procedures.
Baah has overseen the entire project lifecycle management, managed systems requirements and designed traceability matrices using Telelogic DOORS, identified and prepared technical requirements documentation. He has worked on software design compliance reports, developed requirements specifications and statement of work documents to help software developers in writing codes and test groups in creating supportive test scripts.