Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Use-Case is
EVERYTHING!
Software
Engineering
1Use-Case is Everything!
Disclaimer
The purpose of this slide deck is
to highlight the importance of a
good requirements gathering process
in softw...
Remember Alan Turing?
The guy who
developed
the system
used to
defeat the
Nazi
ENIGMA
encryption.
3Use-Case is Everything!
Remember Alan Turing?
• …actually, this is Alan Turing.
• Pioneering…
– computer scientist
– Mathematician
– Logician
– Cr...
The Engineering Team
5
Project
Manager
Lead Executive
Manager
Software Engineers
Use-Case is Everything!
Guys! Requirement...
The Engineering Team
6Use-Case is Everything!
• Used £100,000 ($6Million in today’s terms).
• Spent 30 man-months.
• Resul...
* operator not included.
7Use-Case is Everything!
The bombe ran . . .
Use-Case is Everything! 8
9Use-Case is Everything!
. . . and ran . . .
Use-Case is Everything! 10
. . . until it was switched-off.
Use-Case is Everything! 11
Requirements? What requirements?
(a.k.a. requirement = requirements)
Use-Case is Everything! 12
Doesn’t work??
The bombe w...
So who gathers use-cases?
13
Project
Manager
Lead Executive
Manager
Software Engineers
Use-Case is Everything!
So who gathers use-cases?
14Use-Case is Everything!
…but did not prioritise this over other tasks.
Only to end-up forgetti...
Luckily, someone else was
gathering use-cases !
Each message always starts with…
Use-Case is Everything! 15
Not this guy
C...
Use-Case is Everything! 16
OK. So what?
Use-Case is Everything! 17
* operator not included.
Looks
familiar?
18Use-Case is Everything!
19
Is this block required?
Use-Case is Everything!
Requirements  “Features”
What is possible
to engineer
within the feature
What is actually required
to be engineered
with...
Requirements  “Features”
TODO.
When I have a hammer,
everything looks like a nail to me.
Supported Features Customer Req...
TL;DR
• Gather use-cases before designing.
– Prepare a comprehensive set of use-cases.
• Know all the use-cases before sta...
References
• http://en.wikipedia.org/wiki/Alan_Turing#Hut_8_and_Naval_Enigma
• http://en.wikipedia.org/wiki/Cryptanalysis_...
Upcoming SlideShare
Loading in …5
×

Use-Case is Everything

The importance of a proper requirements gathering process, including detailed use-cases at the beginning of the software development process is often underestimated.

Common problems like feature-bloat, schedule-overruns, customer dissatisfaction are easily avoided. Mandating during the requirements gathering stage, the preparation of an artifact containing a comprehensive list of detailed use-cases of the final system.

  • Be the first to comment

Use-Case is Everything

  1. 1. Use-Case is EVERYTHING! Software Engineering 1Use-Case is Everything!
  2. 2. Disclaimer The purpose of this slide deck is to highlight the importance of a good requirements gathering process in software development. (~,~) Breaking the ENIGMA code was an amazing feat of reverse-engineering. The events described below are not meant to belittle the task in any way. 2Use-Case is Everything!
  3. 3. Remember Alan Turing? The guy who developed the system used to defeat the Nazi ENIGMA encryption. 3Use-Case is Everything!
  4. 4. Remember Alan Turing? • …actually, this is Alan Turing. • Pioneering… – computer scientist – Mathematician – Logician – Cryptanalyst – Philosopher – mathematical biologist – marathon runner Why enigma?... …because no one else is doing anything about it and I can have it to myself… 4Use-Case is Everything!
  5. 5. The Engineering Team 5 Project Manager Lead Executive Manager Software Engineers Use-Case is Everything! Guys! Requirement = Break ENIGMA!
  6. 6. The Engineering Team 6Use-Case is Everything! • Used £100,000 ($6Million in today’s terms). • Spent 30 man-months. • Result ? ummm… OK!
  7. 7. * operator not included. 7Use-Case is Everything!
  8. 8. The bombe ran . . . Use-Case is Everything! 8
  9. 9. 9Use-Case is Everything!
  10. 10. . . . and ran . . . Use-Case is Everything! 10
  11. 11. . . . until it was switched-off. Use-Case is Everything! 11
  12. 12. Requirements? What requirements? (a.k.a. requirement = requirements) Use-Case is Everything! 12 Doesn’t work?? The bombe was still running, trying to break the code. Isn’t that what you wanted!!?? Yes. But the requirement was to break the code within a “reasonable” time-frame. Oh! Ok. Since code is changed daily, Time to break code < 24hrs.
  13. 13. So who gathers use-cases? 13 Project Manager Lead Executive Manager Software Engineers Use-Case is Everything!
  14. 14. So who gathers use-cases? 14Use-Case is Everything! …but did not prioritise this over other tasks. Only to end-up forgetting this when put under a strict deadline. In fact, Alan Turing did start gathering use-cases early-on…
  15. 15. Luckily, someone else was gathering use-cases ! Each message always starts with… Use-Case is Everything! 15 Not this guy Customer facing field engineer
  16. 16. Use-Case is Everything! 16
  17. 17. OK. So what? Use-Case is Everything! 17
  18. 18. * operator not included. Looks familiar? 18Use-Case is Everything!
  19. 19. 19 Is this block required? Use-Case is Everything!
  20. 20. Requirements  “Features” What is possible to engineer within the feature What is actually required to be engineered within the feature What is not part of the feature (but requested by the customer) Supported Feature Customer Requirements 20Use-Case is Everything!
  21. 21. Requirements  “Features” TODO. When I have a hammer, everything looks like a nail to me. Supported Features Customer Requirements 21Use-Case is Everything!
  22. 22. TL;DR • Gather use-cases before designing. – Prepare a comprehensive set of use-cases. • Know all the use-cases before starting out to implement the design. • Let the customer know what use-cases the system will handle once ready. – Essentially letting the customers know of any shortcomings in the input requirements provided by them. Use-Case is Everything! 22
  23. 23. References • http://en.wikipedia.org/wiki/Alan_Turing#Hut_8_and_Naval_Enigma • http://en.wikipedia.org/wiki/Cryptanalysis_of_the_Enigma • http://www.imdb.com/title/tt2084970/ Linkedin.com/in/chinmayvs TheCodeArtist.blogspot.com StackOverflow.com/users/319204/TheCodeArtist 23Use-Case is Everything!

×