Displaying items by tag: use case models
Managing a Student Project with Enterprise Architect – Part 2
Read Part 1 of this Case Study
We’re attempting a “crowdsourced bad driver reporting system” this semester, and because we need to be really productive, we’re using Enterprise Architect to model the project, field-test the Resilient Agile process, and to coordinate all of the student homework. Students communicate with each other and with me using a shared EA model.
This semester I’m working with a group of 15 Masters students and an aggregate effective time budget of 80 student hours per week. We’ve got about 12 usable weeks of student time, so it works out to a time budget of roughly 1000 student hours (that’s about half-a-person-year at 40 hours a week) over a 3 month schedule.
Resilient Agile is a flexible process in that it can be employed with traditional Scrum/Kanban sprints and backlogs, or alternatively we can leverage parallelism, and each student can be assigned a use case and develop their use case independently.
I’ve been a big fan of leveraging parallelism in software development since I was a programmer at NASA/JPL way back in the 80s when I rescued a late project using a “divide-and-conquer” coding strategy, so we’re trying to see how far we can push the limits on massively parallel development with student projects at USC. Communication and well-defined interfaces are key when team members are working in parallel, so the shared EA model is critically important.
Parallel modeling and development has also been a theme of our ICONIX JumpStart classes for the last 20 years, where we go into industry and work a client’s real project by splitting the class up into “lab teams”. Typically in ICONIX JumpStart classes we put 3 or 4 students on a package of use cases, whereas on this project each student got a single use case.
If you’re going to leverage parallelism in development you have to do things a little bit differently. Here’s an overview of the process we’re following:
1. Plan for Parallelism (identify dependencies and architect for parallelism)
2. Build the Right System (discover requirements, prototype areas of technical risk, and agree on conceptual designs)
3. Build the System Right (carefully review detailed designs)
4. Integrate as often as necessary
Enterprise Architect is a key enabler of the above process. I would never attempt this approach without a good solid modeling tool at the heart of it. This article will show how we’ve used EA to accomplish the 4 steps above.
Order from Chaos - Developing Use Cases
Using the metaphor of a jigsaw puzzle from the previous blog, we inferred the necessity of technology to tame the complexity of a system that is in a state of constant change but which nevertheless must be managed and guided such that it meets key objectives at the individual and enterprise level. The major problem is that jigsaws never come with instructions on how to build order out of chaos – and the individual approach is usually random, based on trial and error!
With any project, be it building a house or fixing a washing machine, a manual is essential. To have any chance of arriving at a destination when setting out into unknown territory, it is wise to have a plan or a map. Without these instructions one can lose track or get completely lost. In the enterprise, when teams lose the focus of project objectives, this translates as financial loss or project failure.
Similarly, a Use Case is a documented record that describes a procedure for interaction with a system and when these records are collectively available they stimulate discussion, which generates ideas for improvements and efficiencies. A Use Case approach forces the consideration of users and customers, which can help elicit feedback and create a dialog to help build better systems. The interaction or cooperation generated creates added value. These records provide transparency, agreement and shared awareness, acting as way markers in a broad landscape of procedures that are foreign to many, as individual knowledge is often siloed.
Although Use Cases are valuable and provide a positive return on investment in time and resources, their development is also takes time. For many different teams however, they lay a foundation for future reference. Enterprise Architect is an indispensable, time saving tool in the Use Case development process.
In mid 2013 Sparx Systems conducted a webinar showcasing model driven development of Use Cases. This informative session reviewed the rich features of Enterprise Architect that can assist in the key processes of analysis, development and testing, saving time while replacing random processes with best practice and creating consensus and clarity between stakeholders.
The webinar can be viewed at:
http://www.sparxsystems.com.au/resources/demos/use-case-analysis/model-driven-use-case-analysis-with-structured-scenarios.html
Webinar: Model-Driven Use Case Analysis with Structured Scenarios
Mr Ben Constable, Senior Analyst at Sparx Systems, explores Enterprise Architect's Structured Scenario Editor for model-driven use case analysis.
In this webinar, you'll learn how to:
- Add structured scenarios to your use case models
- Link scenarios to formal requirements and business rules for improved traceability
- Automatically generate downstream deliverables from scenarios, including reports, test cases and behavioral models
To suit users in different time zones, we will hold two sessions - each 30 minutes in duration.
To register for this webinar, please visit www.sparxsystems.com/webinars.
Smart Grid - From System Trials to 'Business as Usual'
Future Networks and Policy at Scottish & Southern Energy Power Distribution are researching new systems and building foundations for Smart Grid Networks. This paper tells of a journey based on a vision to introduce more formal modelling methods using an IT practice to allow the company to deliver business-driven end-to-end solutions that meet business needs.