Successful Strategies for Custom Software Development

Similar documents
Taking the first step to agile digital services

LEAN AGILE POCKET GUIDE

The Basics of Scrum An introduction to the framework

Chapter 8 Approaches to System Development

When is Agile the Best Project Management Method? Lana Tylka

Controlling Change on Agile Software Development Projects

Enterprise Content Management (ECM)

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

Mastering the Iteration: An Agile White Paper

Building Software in an Agile Manner

The Agile Manifesto is based on 12 principles:

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Agile and Earned Value. A white paper. October Author Stephen Jones, Sellafield Ltd

From Agile by Design. Full book available for purchase here.

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Chapter 6. Iteration 0: Preparing for the First Iteration

Becoming Agile: a getting started guide for Agile project management in Marketing, Customer Service, HR and other business teams.

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Agile Metrics. It s Not All That Complicated

Agile Scrum Workshop

Nova Software Quality Assurance Process

Testing in Scrum Projects

White Paper IT Methodology Overview & Context

ScrumMaster Certification Workshop: Preparatory Reading

IMQS TECHNOLOGY AGILE METHODOLOGY

Models of Software Development

Statistics New Zealand is Agile Continued Implementation of AGILE Process at Statistics NZ

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

Waterfall vs. Agile Project Management

Bridging the Gap Between Acceptance Criteria and Definition of Done

Atomate Development Process. Quick Guide

2015 Defense Health Information Technology Symposium Implementation of Agile SCRUM Software Development Methodology

Agile Development. Redefining Management in Project Management. Neil Stolovitsky

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

Discovery Projects Strategies for Defining the Opportunity. Tom Martin Senior Technology Consultant

Agile Development Overview

Becoming Agile: a getting started guide for Agile management in Marketing and their partners in IT, Sales, Customer Service and other business teams.

Agile Data Warehousing

Agile Software Development Methodologies and Its Quality Assurance

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Agile Systems Engineering: What is it and What Have We Learned?

Balancing the Hybrid Development Process. The role of the Business Analyst

BI Dashboards the Agile Way

The Truth About Agile Software Development with Scrum, The Facts You Should Know

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

D25-2. Agile and Scrum Introduction

Bridging the Gap: Traditional to Agile Project Management. I. S. Parente 1. Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM;

Build Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.

5/19/ Professor Lili Saghafi

Sometimes: 16 % Often: 13 % Always: 7 %

Agile So)ware Development

How Silk Central brings flexibility to agile development

Secure Code Development

Scrum Methodology in Product Testing : A Practical Approach

Managing a Project Using an Agile Approach and the PMBOK Guide

Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW Vol. 7

AGILE SOFTWARE TESTING

Agile Scrum and PMBOK Compatible or Contrary?

The style is: a statement or question followed by four options. In each case only one option is correct.

Improving Project Governance Using Agile and Metrics. Kevin Aguanno PMP, IPMA-B, MAPM, Cert.APM

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Mature Agile with a twist of CMMI

SCALING AGILE. minutes

WHITEPAPER. Agile Development Meets Cloud Computing for Extraordinary Results at Salesforce.com

Quality Assurance in an Agile Environment

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

How To Plan An Agile Project

Using Scrum to Streamline Web Applications Development and Improve Transparency. Michelle Frisque

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Software Quality Testing Course Material

Course Title: Managing the Agile Product Development Life Cycle

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Agile & Scrum: What are these methodologies and how will they impact QA/testing roles? Marina Gil Santamaria Summer 2007

Software Development Life Cycle (SDLC)

Vision created by the team. Initial Business Case created. Cross functional resource meeting held. Agile alignment meeting

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

WHITEPAPER. Managing Design Changes in Enterprise SBM Installations

Software Development Methodologies

Agile Project Management A Primer. Brian Stewart AVU ACEP Nairobi 17 th 2013

How to Implement MDM in 12 Weeks

Terrace Consulting Services

Getting Started with Agile Project Management Methods for Elearning

SCRUM 1. Upon what type of process control is Scrum based? a. Empirical b. Hybrid c. Defined d. Complex

Transforming life sciences contract management operations into sustainable profit centers

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Agility via Software Engineering Practices

Manage projects effectively

An Agile Approach to Metrics :

Metrics for Agile Projects:

Introducing Agility into a Phase Gate Process

Diagram. Microsoft Dynamics Sure Step Methodology

Foundations for Systems Development

Transcription:

A MYTEK Whitepaper Successful Strategies for Custom Software Development ADDRESS 2225 W. Whispering Wind Drive #100 Phoenix, AZ 85085 CUSTOMER SERVICE Tel. 1.877.236.8583 FIND US HERE: www.mytek.net

Custom Software Development can be akin to building a luxury home for a very particular client. The needs and the client are very specific as are the guests that will use the home. In addition, it must sit within a very particular landscape [market]. As always, the overall design and functionality of the home (software) is very important. But equally important is the design and functionality of each individual room (software components). In fact, clients often have a very particular order of importance when it comes to each room. So what if they could work with you to design and build each room completely, and live in it before moving on to building the next? That s a metaphor-laden interpretation of the MYTEK Agile methodology for SDLC. Let s stick with the metaphor and start from the beginning of the process to outline what a successful strategy for custom software development looks like. 2

Planning the Dream The Client-Developer Relationship One of the most important facets of building is to have a set of plans. These plans are always best laid with discovery or drawing the plan. How would you know the placement, type or size of the rooms without paying an architect to come up with a preliminary design? Just like the architect/ client relationship, the client and application developer relationship must be one of full cooperation, complete transparency, and strong communication in order to develop a successful application. MYTEK always performs discovery efforts with all aspects of the client s business in mind in order to facilitate software development that increases business efficiencies. All of our discovery efforts are focused on a deliverable that allows the client to have the confidence that MYTEK knows and understands the project before committing to a development effort. All software development efforts use some type of methodology, be it Waterfall, Agile or the like. In addition, every company will use a certain amount of these methodologies at different times in order to best serve each individual client. By building a partnership relationship, MYTEK becomes a crucial ally in achieving all of your technology needs. To that end, the strong collaboration in the MYTEK Agile methodology encourages the client and developers to work in unison, which ensures that each client has a greater feeling of engagement and trust. Ultimately that partnership is all about making the user end user the center of attention in SDLC. 3 2015 Copyright MYTEK Network Solutions

Making the User the Center of Attention Any successful design relationship starts with a complete understanding of the needs of the client. In the case of enterprise software development, it s about having a complete understanding of how they hope to use the application as approached from the standpoint of what the end user wants and needs. In order to do this, we make the user the center of attention in order to elicit these needs and wants. It s common for the client to have a list of obvious pain points that they wish to eliminate through the new software. Just as in architecture, creating a truly unique structure that suits the needs of all of the users requires broad input from all end users. Consequently, it is only through careful discussions with the actual proposed end users as well as observation of existing manual processes that the true course of the SDLC can be plotted. Within our discovery effort, MYTEK interviews and meets with individuals and departments as well as leadership to discover the pain points for the business. This also includes thorough evaluation of the solutions at hand using manual efforts, and then ultimately, the automation of any and all processes wherever possible. 4 2015 Copyright MYTEK Network Solutions

In-depth Design Discussions: Processes and Pain Points It s imperative to first verbally walk through each manual process with end users to create a process outline. This discussion is primarily a listening and observation process from our perspective. However, our consultants always bring their active listening skills and expertise so that they can ask questions to elicit further detail when they spot a potential pain point in the explanation. This is key as the user may not see the reality of an existing pain point due to having grown accustomed to the current process. 5

In the design of a client s dream home in architecture, the client is encouraged to provide examples of built environments that have the specific attributes that they desire in their own customized home. The same can be true in software development, but our consultants will often be the one to provide examples of existing software solutions based on the initial interview processes. Although the given proxy solutions are inadequate for the specific needs of the client, they do provide a way to zero in on functionality aspects that closely approximate the needs of the client. This allows a reverse engineering of sorts whereby we can clearly define what works and what doesn t as well as what is necessary and what is missing. The goal in all of this is developing a detailed picture of the proposed software functionality and end-user experience. While not a necessarily applicable technique with all software development projects, it can provide a general framework that defines the structure of the list of requirements so as not to have to begin from scratch. In addition, it holds the potential for identifying features and requirements that had not been considered by users, but would be highly beneficial in making the software more effective. 6

The Requirements List These can all then be added to documentation as a part of the requirements list. When created as part of requirements documentation, they also become a way to keep clients aligned with their stated needs, make adjustments, and keep the project on track. It can also be helpful to have the end users rate the requirements in order of importance. This is about understanding who wants what and why they want it as part of that requirements framework. A comprehensive requirements profile can also be the basis for gap analysis between current state and future states of processes. This forms the basis for listing all of the possible solutions that can be implemented to fill those gaps. At MYTEK, our vast experience in SDLC has taught us invaluable lessons about how to eliminate and avoid process gaps from one function to the next. Architects must have a dual focus on specific design functionality and how each individual room flows one into the other as well as the overall functionality and design aesthetics of the whole structure. To do this, they will, in essence, design one room at a time. The MYTEK Agile process has distinct similarities as we have developed processes to build one function or aspect of the software at a time to ensure flexibility in pursuit of client need compatibility. By building one increment of the software at a time we can partner with the client in the goal of engineering every aspect of the software to its most effective state. At MYTEK, our vast experience in SDLC has taught us invaluable lessons about how to eliminate and avoid process gaps from one function to the next. 7 2015 Copyright MYTEK Network Solutions

Building One Room at a Time: The Agile (Scrum) and Sprint Process In Agile, which is a widely accepted methodology towards developing any kind of software or process enhancement, the focus of the effort is always flexible. It is designed through discovery and then broken down into Sprints that contain Scrum meetings that take smaller bites from any overall picture in order to enhance the speed and focus to the client and developer. This allows us to achieve a clear picture in segments that usually are designed to be in two week increments. Agile and Scrums emphasize collaboration, functioning software, team self-management, and the flexibility to adapt to emerging business realities. Daily and weekly meetings are focused on smaller development processes that allow for more frequent and more focused communication. With Sprints, all of the phases are mixed into every goal. Instead of dividing the work into activity-specific phases, we divide it into fixed length iterations. Every Sprint contains some combination of analysis, storyboarding, design, coding, testing, and actual implementation. Daily and weekly meetings are focused on smaller development processes that allow for more frequent and more focused communication. 8 2015 Copyright MYTEK Network Solutions

Framing the Structure of Sprints The Sprint process enables the client to review and sign off on a working component that the user can see and touch in a short time period. Each Sprint allows the client to see what is right, what needs changing and what needs to be added or subtracted. The process also enables us to collaborate on defining the next Sprint. These short iterations with feedback ensure that the Sprint and the final product will be of the highest quality. One of the first aspects of the sprint process is the creation of user stories. These are usually one sentence definitions of a feature or functionality. Since they are defined by the end user, they are usually written by the end users based on their different functionalities within the enterprise and their specific use of the software. Every Sprint begins with the Sprint planning meeting where Product Stakeholder(s) and the MYTEK team discuss which Stories will be moved from the Product Backlog into the Sprint backlog. It is the responsibility of the Product Stakeholder(s) to determine what work the team will do, while the team retains the autonomy to decide how the work gets done. 9 2015 Copyright MYTEK Network Solutions

Building Schedules and Inspections Just as every project has a different schedule for completion; it also progresses at different speeds depending on a broad set of criteria. While the MYTEK Agile process is meant to provide a consistent building schedule, it is important to measure the speed of development, or consistent velocity in sprint terminology, via internal documentation. Measuring speed of development can be accomplished using a burn down chart, which tracks the product development effort remaining in a Sprint versus time. Of course, this is determined to a great degree by the complexity of the Sprint. Since every Sprint is tested as part of a continuous design approach, the client has a tangible, empirically based view of progress. Because a release may require multiple Sprints, each iteration builds on the previous with continuous communication with the client. Just as each Sprint begins with a Sprint Panning Meeting; it ends with a Sprint Review meeting. The latter is the point where the project team presents its work to the Product Stakeholder. As part of a continuous improvement process, Our MYTEK Agile team does a post-sprint assessment to identify ways to improve future sprints. When you engage MYTEK as an SDLC partner with your enterprise, we always focus on the unique needs of each project and your specific business and its needs in order to create a customized process and solution. The goal is always to produce the most highly functional and effective software that works intuitively to decrease time expenditures while increasing productivity and ultimately, profits. We strive in every way possible to be your custom software design consultant of choice for every project today and tomorrow. 1 0 2015 Copyright MYTEK Network Solutions

Your Custom Builder of Choice: Why MYTEK Agile The MYTEK Agile methodology is based on years of development and refinement of the process, tools, and skill sets utilized over many successful SDLC projects. From development practices such as continuous integration (CI), continuous deployment (CD), and instrumented solutions to robust testing environments, we can measure the actual benefits of change to your software-based solutions. The use of short feedback cycles, a series of smaller steps instead of one large one, and the ability to automate some potentially complex processes allows us to deliver the best product that fits your needs both today and tomorrow. 11 2015 Copyright MYTEK Network Solutions

How MYTEK Benefits Your Enterprise In-house software development brings often insurmountable challenges to individual organizations. By providing you with an experienced and skilled team that can partner with your organization, we bring consistency of performance and environment. That means rock solid continuity from Sprint to Sprint and project to project in order to deliver the best results. Working with MYTEK from project to project means that we become a learning team partner that can simplify each new development effort so that it is streamlined to your business culture and market. Simultaneously this ensures that each project brings unique benefits and innovations to you and the users for a stronger bottom line. Visit us at Mytek.net to learn more about us and how we can benefit your business. Then, call a MYTEK Consultant today at 1-877-236-8583 to get started on building a software development partnership that makes your company more competitive in the global business marketplace. 2015 Copyright MYTEK Network Solutions