OUR PROJECT MANAGEMENT APPROACH
Exposyour uses an agile development methodology called Scrum as our preferred project management method. Scrum has become a popular and effective method for developing custom software and web applications because of its simplicity and flexibility. It uses an iterative development process that is more reliable and better in line with business requirements. Industry leaders such as Google, Apple, Microsoft and IBM have adopted Scrum as their exclusive development methodology.
SCRUM: THE CONCEPTS AND APPROACH
AN OVERVIEW OF THE CONCEPTS
Scrum is an agile project management methodology that focuses on delivering working software quickly and efficiently by adapting to changing business requirements. It aims to deliver the most valuable features to your business first.
Traditional software development uses a waterfall methodology, a timely process that takes months or even years of planning, business analysis and requirement gathering followed by an extensive development effort and a single software release. This sequential development process requires that each phase of a project must be completed before the next phase can begin. At the end of the lengthy process, the software is developed to specification, but business realities have changed so dramatically that the product is obsolete. In this method, if key features are envisioned too late in the development process they are left out. Such traditional methods waste a company’s time and resources.
Scrum helps alleviate problems associated with traditional development methods by using iterative, incremental phases of work known as Sprints. Sprints are a fixed period of time (usually one to two weeks) during which a designated amount of work completed. At the end of each Sprint, every aspect of development is evaluated by stakeholders and work can be re-directed to align with changing business objectives. These evaluation intervals occur throughout the lifecycle of the project, ensuring development is always current. Sprints reduce development cost and time to market by harnessing change for the client’s competitive advantage.
The client is an integral part of our development process and involved in the project from beginning to end. Before we begin a project, we make sure our clients thoroughly understand the entire process as our team prepares resources for the project. We interview our clients to gain a clear understanding of their vision and business goals.
From there, the client sets priorities for the project and goals set for each Sprint. Epic stories are created and broken down into manageable stages. The initial priority and work order for the first two sprints set along with a release plan that indicates what we will work on for the first two Sprints.
THE FOUR VARIABLES IN A PROJECT
• Cost: How much is the client going to spend?
• Time: How long will it take to create?
• Scope: How many features will it have?
• Quality: How well will it work?
QUALITY DELIVERY VS. FIXED PRICE
Though traditionally at least three of the variables above are fixed, with Scrum, quality is the only fixed variable: Our priority is to ensure that our clients get valuable, working products through early and continuous delivery. Because the nature of Scrum welcomes changing requirements even late in the development process, the scope of the project will constantly change. Being flexible ensures clients are getting the right product by optimizing its value throughout the development process. Clients are fully engaged in the planning and delivery of products by evaluating the project after each Sprint.
With this approach, it is impossible to establish a fixed cost, time and scope of a project before the start of the development process. Because the scope will change based on the needs of the client and challenges encountered, agile methodology avoids scoping an entire project and determining a fixed time and cost. The scope decided is for each Sprint based on the client’s priorities. After a Sprint, our process allows the client to redirect the project. In fixed price models, the only release valve is in change requests, where quality often is compromised.
Scrum emphasizes empirical feedback and team self-management. The Scrum Team consists of about 2 to 8 people who perform the tasks of problem-solving and design. The team size is subject to the technical and commercial demands of each project.
The team is cross-functional and self-organizing, as every member decides how work is arranged and development tasks are interchangeable between members.
PRODUCT OWNER (CLIENT)
The Product Owner is responsible for the business side of the project and ensures the right product is being built in the right order. He or she is the voice of the customer and bridges the communication gap between the Scrum Team and stakeholder.
The Product Owner is required to create user stories that describe how an end user would use a feature to perform his or her job function. The user stories are added to the Product Backlog, a detailed list of product requirements ordered by business value. The Product Owner ensures the Backlog is visible to the entire organization, so expectations of future releases of the product are clear.
The Product Owner must be available to answer questions that the Scrum Team has about the product being developed as well as provide thorough feedback to the team. The Product Owner also must attend meetings and Sprint reviews to discuss features and review progress.
The Scrum Master serves as the Scrum Team’s coach, meeting with the team daily to make sure it works together effectively. The Scrum Master performs typical project management duties such as tracking progress and issues and removes any impediments to progress. He or she acts as a buffer between the team and any distracting influences to promote productivity.
The Scrum Master helps create the best possible circumstances for accomplishing the goals for a Sprint. He or she helps the Product Owner with the Backlog, ensuring that work priorities are understood. After each Sprint, the Scrum Master holds a Sprint Retrospective where experiences and conclusions reviewed. The Retrospective helps educate the team and motivate it for the next Sprint.
At Exposyour, we have an in-house Project Management Institute certified Project Management Professional (PMP), which is the world’s best credential for project management. Clients can rest assured knowing they will have a committed and professional resource to see their project through and get excellent results.
DELIVERING CLIENT PROJECTS
Since we work very closely with our clients during the production process, we like to create a synergy with each customer. We invite clients to attend an immersion session during Sprint 0.
Sprint 0 is the week leading up to the first Sprint where we complete the pre-development checks and tasks such as design and deployment of test environments, the creation of project source control areas and support site, and the first planning game.
In Sprint 1, our senior architect works together with the client to define requirements and help build the core of their system. This includes object role modeling, database design, and core display and data binding logic.
Daily Scrums work towards delivering working software at the end of each Sprint. The Product Owner monitors progress and sets priorities for the next Sprint. The speed of development measured is for each Sprint, which allows us to predict the feature-set of the application before the project’s end. If a Sprint delivers software with sufficient features to launch the product, we end or pause the process.