Project Schedule
Key tasks will be divided into four stages of the project, each of which will adhere to an Agile delivery framework:
Planning Phase (Weeks 1-4)
The foundation for an Agile website and mobile app delivery can be laid at the planning phase. During this stage, it is crucial to:
- Gather information on users’ wants, needs, and problems by means of surveys, interviews, and focus groups. That contributes to the vision of the product.
- Make realistic representations of target user groups by developing their goals and behaviors into user personas. The following serve as guidelines for the design process.
- Define the initial product vision and high-level features by collaborating with business stakeholders and analyzing market/competitive research.
- Prioritize the high-level features into a prioritized product backlog using techniques like MoSCoW prioritization. This provides the roadmap.
- Perform envisioning exercises with stakeholders to refine the product vision and build alignment on what problems the product will solve.
- Evaluate technology options and constraints to draft a high-level technical design. This includes things like tech stack, integrations, and infrastructure.
- Develop the sprint cadence and overall release plan based on the initial prioritized backlog.
Design Phase (Weeks 5-10)
The design phase focuses on translating the high-level features into concrete user experiences and interfaces. Key tasks include:
- Create wireframes and low-fidelity prototypes translating the feature sets into initial page layouts and user flows.
- Execute iterative design sprints to build out the complete UI/UX for both website and mobile app interfaces. This higher fidelity design is based on brand guidelines, style guides, and usability principles.
- Conduct usability testing on the designs with sample users to gather feedback on navigation, layout, terminology, and areas of confusion.
- Update the product backlog with any new user stories identified from the usability testing results.
- Finalize the interactive prototypes and UI design to demonstrate the intended user experience before development begins.
Development Phase (Weeks 11-20)
The development phase is when the actual coding of features takes place in iterative sprints:
- Hold sprint planning meetings to select and refine the product backlog items that will be built in the upcoming sprint.
- Break down user stories into tasks and estimates for the development team members.
- Code the website and mobile app features using the technologies and architecture defined earlier.
- Demo the completed feature code in sprint reviews for stakeholder feedback.
- Run sprint retrospectives to identify process improvements for subsequent sprints.
- Repeat these activities in 4 two-week sprints to build out the complete product.
Testing Phase (Weeks 21-24)
The testing phase focuses on catching any defects and ensuring code quality:
Perform unit, integration and end-to-end testing to verify all features and functionality.
- Execute extensive UI/UX testing from a user perspective to validate ease of use.
- Run performance and load tests to gauge responsiveness and reliability under expected traffic levels.
- Conduct security testing to identify any vulnerabilities that need remediation.
- Perform accessibility testing to ensure compliance with ADA standards.
- Fix bugs and issues found during testing by revisiting previous sprints if needed.
- Conduct final user acceptance testing with test customer groups.
The iterative Agile process allows incorporating feedback and learnings from each phase to improve the website and mobile app design, enhancing the overall user experience.
Product Vision
The product vision is to create an easy-to-use, visually appealing website and mobile app that allows customers to efficiently shop for home improvement products. The envisioning practice will involve working closely with business stakeholders through interactive workshops to define core guiding principles for the user experience and key functionality. Representative customers will be engaged through surveys, interviews and working sessions to understand their needs and pain points. The vision will continuously evolve based on user feedback collected through prototyping and usability testing (Azeem et al., 2021). Reviews at the end of each sprint will ensure the right features are being prioritized to bring the vision to life.
Agile Team Roles
The key roles in the Agile team include:
Product Manager – The product manager plays the crucial role of bridging the customer needs with the technical implementation. They own the product vision and are responsible for managing the prioritized backlog of features that will bring that vision to life. Our product manager for the home improvement website and app has to be very knowledgeable in areas such as interior design, house remodeling, DIY, or similar projects but not have a background in information technology. They are able to speak for the consumer and make sure we meet their needs by drawing on their extensive domain knowledge. They will conduct in-depth interviews, surveys, and work sessions with various end user segments to gather their needs and comments. When opportunities arise, the product manager works closely with e-commerce, marketing, and other company stakeholders to transform them into requirements and user stories that the Agile team can use.
Scrum Master – The cross-functional development team is led to maximize productivity and delivery velocity by the scrum master, who serves as the Agile process guide. They will guide the team in following scrum principles, lead important ceremonies like retrospectives and sprint planning, and clear the way for the team to make progress. As scrum masters are most effective when they have technical knowledge of the domain, for our project it would be ideal to have someone with an IT project management background who deeply understands the web and mobile platforms, development processes, and testing frameworks.
Development Team – These consist of designers, developers, testers and other professionals working together as a development team to create and release product increments at the end of each sprint. To do our project we will need web as well as mobile user interface and user experience designers, programmers (both front-end and back-end), testers (both automated and human), security experts, database administrators among others. Competencies in information technology, design, and business analysis are all welcome, but team members must be able to work well with ambiguous requirements in an Agile environment.
Stakeholders – Despite their disengagement from day-to-day development, stakeholders are vital in guiding the project’s direction through their feedback and approvals. Members of the customer advisory council, e-commerce executives in charge of digital sales, end user groups responsible for validating features and designs, and business executives who chartered the project are all important players in our website and mobile app endeavor. The success of Agile relies on keeping multiple stakeholders aligned.
Iteration Approach
The project will follow 2-week sprints where a small batch of prioritized features and user stories from the ever-evolving product backlog are coded, thoroughly tested, and prepared for release to production. At the end of each time-boxed sprint, a sprint review meeting will demonstrate the new working functionality to key stakeholders who can provide valuable feedback on whether it achieves the intended user benefits and business value. Any issues, risks or dependency conflicts that arise during the agile process can then be promptly addressed by refining and reprioritizing requirements in the backlog for implementation in a future sprint (Thesing et al., 2021). This collaborative, iterative approach with continuous user validation and course correction enables the cross-functional team to incrementally deliver the highest priority capabilities first (Thesing et al., 2021). It allows for flexibility to adapt to learnings and changing customer needs throughout the phased roadmap.
This iterative, incremental approach allows for continuous course correction and refinement of the website and mobile app based on real user feedback and usage data analytics. Smaller sprint batches minimize risk, enable faster feedback loops, and allow the agile team to rapidly incorporate learnings, best practices and optimization opportunities from each development cycle into subsequent user stories and features for a higher quality product. Following structured retrospectives after each sprint, the cross-functional team inspects what went well, what can be improved, and identifies proactive actions to continually enhance productivity, quality, velocity and customer satisfaction. This fosters a culture of excellence, accountability and customer-centricity within the agile way of working.
Importance of User Stories
User stories are a cornerstone of the Agile development process. They provide a simple yet powerful user-centric framework to capture key features from an end user perspective as actionable incremental pieces of customer value.According to Følstad and Brandtzaeg (2020), Agile teams are more likely to succeed when user stories are well-crafted. This is because user stories allow for precise sprint planning, foster collaboration, direct engineering efforts towards real user needs, enable timely feedback, and, in the end, drive the iterative delivery of high-quality solutions that users desire. By putting users front and center, Agile teams can deliver the highest priority features early and consistently guide development based on real user validation. This demonstrates value faster while keeping opportunities open to respond to evolving requirements. For example:
“As a customer, I want to be able to filter products by price so I can find affordable options within my budget.”
In summary, this Agile delivery framework leverages short, iterative development sprints, constant user feedback loops, and an empowered cross-functional team to create a user-friendly home improvement website and mobile app that delights customers. The lightweight project plan, clearly defined team roles, visioning practices, and evolving prioritized user stories will drive customer-centric, value-focused features aligned closely to end user needs. The incremental build approach produces working software components in every sprint, enabling continuous improvement and course correction based on real user validation. This increases the probability of customer adoption and engagement with the solution. The overarching mentality is to take baby steps while dreaming large, show your skills frequently and early on, be open to change, and empower the self-organizing team to work together intimately in order to realize the high-level vision through adaptable, value-based delivery.
References
Azeem, M., Ahmed, M., Haider, S., & Sajjad, M. (2021). Expanding competitive advantage through organizational culture, knowledge sharing and organizational innovation. Technology in Society, 66, 101635. https://www.sciencedirect.com/science/article/abs/pii/S0160791X2100110X
Følstad, A., & Brandtzaeg, P. B. (2020). Users’ experiences with chatbots: findings from a questionnaire study. Quality and User Experience, 5(1), 3.
Thesing, T., Feldmann, C., & Burchardt, M. (2021). Agile versus waterfall project management: decision model for selecting the appropriate approach to a project. Procedia Computer Science, 181, 746-756.