I’ve received private messages and comments, from several engineering executives and leaders, regarding my last post…
“No one does this anymore”
“Product owners can’t even begin to write a sufficient problem statement or product narrative”
“My architects or engineers don’t even know what a logical model or static structure is… and have no desire to learn”
In our previous blog, we had explored the role of a lead architect or engineering chief who holds the reigns to the design, architecture, development and eventually the deployment of a global, high-performing software solution. The call to action is a pivotal "Sprint Zero", a phase where the product owner and the business team paint a clear picture of the "WHAT" in “what we are building?”
Several key ingredients to defining the “WHAT”:
System Narrative: This is a bird's eye view of the system, illustrating its operations from a user's standpoint. It's like a storybook, sketching the main plot and characters, guiding us through its various chapters.
List of Actors: Just as in a theatre play, our system comprises various actors. These actors could be individuals, other systems, or even external entities that interact with our software system. They play vital roles and contribute to the system's storyline.
Use Case Diagram (ideally): Picture a beautiful tapestry, each thread representing a functional requirement of the system. This is what a use case diagram symbolizes. Each use case embodies a unique process or feature within the system and the actors interacting with that feature.
In many instances, particularly in “Agile” shops, this has always been a tough sell, everybody pressures engineering to just start iterating - with poorly understood epics and user stories… hopefully those days are behind us.
Why, you ask? We have a newcomer on board! Join us in welcoming the new Product Owner to our project..
C-H-A-T G-P-T-4
The Narrative
ME: “As an Agile Product Owner, please author five Problem Narratives or Product Narratives that will help my engineering team start their architectural activities. The product narratives should describe problem statements that require a software system to be built.”
ChatGPT4 provided five excellent narratives, but we’ll focus on the last one. The Remote Learning Platform
ChatGPT4: “The global pandemic has shown us the importance of having robust online learning platforms. While there are numerous platforms available, many lack specific features needed for effective teaching and learning. Our goal is to create a remote learning platform that allows for interactive, synchronous, and asynchronous learning experiences. The platform should support multimedia content, have features for student collaboration, and incorporate assessment and feedback mechanisms. It also needs to be accessible for students and teachers with different levels of digital literacy, as well as being reliable and secure.”
Impressive ! — I must admit this narrative falls within the upper echelon I’ve encountered, Brace yourselves, because it gets better (or worse - depending on how you feel about AI becoming your next product owner)
The Actors / Users List
ME: “Continue expanding upon the Remote Learning Platform product narrative, by enumerating a list of users (or system actors) that will be interacting with that system.
ChatGPT4 continued elaborating …
Users/Actors for the Remote Learning Platform:Students: The primary users who will utilize the platform to access educational resources, participate in online classes, collaborate with classmates, and take assessments.
Teachers/Instructors: Users who will deliver lessons, provide resources, manage classes, and assess student performance.
Administrators: Users who oversee the system, managing user accounts, setting up classes, and handling system-wide settings and policies.
Parents/Guardians: Users who track student progress, interact with teachers, and may supervise student activities, particularly for younger learners.
IT Support Staff: Users who manage the technical aspects of the platform, addressing technical issues, ensuring system security and reliability, and performing system upgrades.
Content Creators: Users who create and upload educational content that can be utilized within the platform.
Guest Speakers/Experts: External users who are invited to provide specialized content, presentations, or interact with students.
The Use Cases / The Epics
After I managed to alleviate the guilt gnawing at me, for my (ex)colleagues carrying titles like business analyst or requirements analyst, and product owner… I rationalized that the new AI-based chat models will enable existing product owners to focus on the core aspects of defining the product and relinquish the mundane activities to the AIs - but that may be fleeting utopian vision. AI will disrupt (and is currently disrupting) a good number of product and marketing based activities, outputs and eventually entire roles, there will be an impact, be ready.
I decided to continue… and prompted ChatGPT4 to undertake a first order decomposition of the problem statement, into a list of epics.
ME: Also provide a list of titles of coarse-grained Epics that provide a first-order decomposition of the system”
ChatGPT continued with…
User Management: Handle user registration, profiles, authentication, and various user roles and permissions.
Course Creation and Management: Enable teachers to create and manage courses, upload content, and set course schedules.
Live Classroom: Facilitate real-time, synchronous learning experiences, such as video conferencing, screen sharing, and live discussions.
Content Library: Develop a repository for educational resources, including multimedia content, accessible to teachers and students.
Collaboration Tools: Provide features that allow students to collaborate on projects, share files, and communicate effectively.
Assessment and Grading: Create a system for quizzes, tests, homework assignments, automated grading, and manual grading by teachers.
Progress Tracking and Reporting: Develop a system for tracking student progress, generating reports, and sharing feedback.
Parental Interface: Design a user-friendly interface for parents to monitor their child's progress and communicate with teachers.
Security and Privacy: Ensure data privacy and system security measures are in place and comply with relevant laws and regulations.
System Support and Maintenance: Implement a robust system for addressing technical issues, maintaining system performance, and allowing for updates and upgrades.
Accessibility and Inclusion: Ensure the platform is accessible to users with different abilities and caters to a diverse range of learners.
Wow - honestly, I was taken aback a bit. ChatGPT4 was able to provide an excellent narrative and comprehensive list of actors and an impressive decomposition of the system into coarse grained subsystems, in mere seconds, a request that would typically take days, weeks, or even a month or two to obtain from a product owner or product / business team.
The Use Cases
I prompted ChatGPT to assemble a set of use cases for our hypothetical Remote Learning System project. The prospect of seeing this AI handle such an intricate task was both intriguing and enlightening… and ummmm…. worrisome?
ME: “Continue expanding upon the Remote Learning Platform product narrative, by enumerating a list of use cases with specific references to the user or actor that will be interacting with that particular use case”
ChatGPT4 expanded upon the use cases request…
Use Case: Student Interaction with Online Content
Actor: Student
Description: The student logs into the platform, navigates to their current course, and interacts with the online content. This could include watching video lectures, reading text materials, or participating in interactive modules.
Use Case: Instructor Course Creation and Management
Actor: Teacher/Instructor
Description: The instructor logs into the platform and uses the course management feature to create a new course. They set the course schedule, upload educational content, and assign homework tasks.
Use Case: Real-time Online Class
Actor: Student, Teacher
Description: The teacher and students log into the platform at a set time for a live online class. The teacher presents the material, students ask questions and participate in discussions, all facilitated through the platform.
Use Case: Student Collaboration on Group Project
Actor: Student
Description: Students use the platform's collaboration tools to work together on a group project. They share files, communicate via chat, and perhaps even host virtual meetings.
Use Case: Automated Quiz Assessment and Grading
Actor: Student, Teacher
Description: The teacher sets up a multiple-choice quiz on the platform. The student completes the quiz, and the platform automatically grades it and provides instant feedback.
Use Case: Parent Monitoring of Student Progress
Actor: Parent/Guardian
Description: The parent logs into the platform and navigates to the progress tracking and reporting feature. They review their child's grades, completed assignments, and other indicators of their progress.
Use Case: IT Support Addressing Technical Issue
Actor: IT Support Staff
Description: The IT support staff logs into the platform in response to a reported technical issue. They use the platform's admin tools to diagnose and address the problem.
Use Case: Content Creation and Upload
Actor: Content Creator
Description: The content creator logs into the platform and uploads new educational content to the content library. This content is then available for use in various courses.
Use Case: Guest Speaker Presentation
Actor: Guest Speaker/Expert
Description: A guest speaker logs into the platform to deliver a special presentation or lecture. Students and teachers log in to watch and interact with the guest speaker.
Use Case: Administrator Setting System-Wide Policy
Actor: Administrator
Description: The administrator logs into the platform and sets system-wide policies. This could include privacy settings, usage policies, or establishing structures for courses and grading.
For those who have navigated the tumultuous seas of the software industry, it's clear how much of the blood, sweat, and tears can potentially be mitigated by integrating AI into your Agile workflow.
Honestly, prior to writing this post, I haven’t thought of using ChatGPT for product ideation, and especially not use case elaboration and/or system decomposition. I'll never approach a "Sprint Zero", or a requirements elaboration and architecture phase, in the same way again.
Conclusion
A well-crafted narrative, an exhaustive list of actors, and a neatly structured set of use cases and/or epics can be the powerful tools to define the "WHAT" of the system. These assets can equip system or engineering managers and architects with a solid starting point to delve deeper into the problem and its domain.
They can then begin sketching out their architectural solutions. In the next segment of our series, we will explore these ‘sketches’ more closely, focusing specifically on:
The Logical Block Diagram or High Level Architecture (HLA), the blueprint of our construction.
The Use Case Diagram, a creation I lovingly refer to as "The Bubble Chart".
The Static Structure or Logical Data Model, the skeletal framework of our system.
The Dynamic Diagrams, specifically Sequence Diagrams, that capture the system's lively dance of interactions.
Stay tuned… and just maybe we’ll invite our friend again.
Need help? Startup? Fortune 500? Fortune 50? Contact us at smartai.services for high impact consulting and virtual CIO services (or email: consulting).
Looking for a Generative AI Platform for your startup, small business or org? Contact us at info@smartai.systems and inquire about SaSSY - our Generative AI B2B SaaS Platform, enabling simplified entry and workflows across chat, text and image generative capabilities (current ALPHA complete, in active BETA dev)
Check out our smartai.studio stock images solution (alpha) based on SaSSY.