Live Source - an Agile Toolkit

2,216 views

Published on

Software development, by its nature, is a series of translations and compromises. What the end user wants, what the customer is willing to pay for, and what is technically feasible rarely combine to form a unified set of features. A deeper understanding between technical and non-technical people is needed, in particular at the communication divide between stakeholders and developers. We will show you how to develop a domain-specific, ubiquitous language and how to use your code base as the central source for your requirements and documentation, to improve communication for the whole team.

  • Be the first to comment

Live Source - an Agile Toolkit

  1. 1. Live Source an AGILE TOOLKIT Alline Watkins & June Clarke [email_address] [email_address]
  2. 2. Getting the most of your source code <ul><li>Does your software source code lack knowledge? </li></ul><ul><li>If someone on your development team left work now, would others be able to make sense of it? </li></ul><ul><li>Is it a multiple lined mess, impossible to understand even for the one who wrote it? </li></ul>
  3. 3. <ul><li>is a new technology for your software, clarifying the darkness of programming into an easy to read, step by step summary of the content. </li></ul>Live Source
  4. 4. And also ... <ul><li>Creates a medium that helps both stakeholders and programmers to work together on code in a high-level manner. </li></ul><ul><li>Integrates user stories and tasking more tightly with codebase. </li></ul>
  5. 5. Objectives <ul><li>Source Code as a Live Documentation </li></ul><ul><li>Source Code as a Communication Channel </li></ul><ul><li>Source Code as a Planning Tool </li></ul><ul><li>Source Code as a Software Metric </li></ul>
  6. 6. The advantages... Faster communication Less risk of miscommunication Knowledge of domain will reside in codebase Overhearing Code is easier to understand (maintainability, extensibility) Healthier code Better response to change
  7. 7. What else you get: <ul><li>- Keeps the intention of the project in mind. </li></ul><ul><li>- Higher quality work. (published code is likely to be much better) </li></ul><ul><li>- Managers understand the repercussions of what they are asking for. </li></ul><ul><li>- Live documentation much closer to an User Manual than javadocs. </li></ul><ul><li>- Easier for programmers to argue for their needs. (like time for refactoring, to study,...) </li></ul>
  8. 8. Where this fits with Agile <ul><li>Agile manifesto: Working software over comprehensive documentation </li></ul><ul><li>Values: transparency & unity </li></ul><ul><li>XP Practices: </li></ul><ul><li>feedback, pairing, refactoring, ... </li></ul>
  9. 9. SNAPSHOTS & DEMO VIDEOS Ok, Now the Toolkit! DEMO VIDEO: http://www.screencast.com/t/RwMporlpt
  10. 10. <ul><li>http://sourceagile.appspot.com </li></ul><ul><li>It is available online for demonstration an executable version of the Toolkit at the Google Cloud. Feel free to play as much as you want with our  Tic Tac Toe Demo project. </li></ul>How to access the Toolkit VIDEO : http:// www.screencast.com/t/msSJvzWrMKL
  11. 11. <ul><li>Loading the source code inside the Toolkit </li></ul>After choosing a project and login to the Toolkit, the first thing that happens is all the source code that is stored in the remote repository of this project is loaded into the system. VIDEO : http://www.screencast.com/t/9yNXs1k79Pon
  12. 12. <ul><li>Showing the source code in an easy-to-read way </li></ul>The important information in the source code are extracted by the Toolkit and displayed in an easy to read manner. Stakeholders or any non-technical person in the development team will be able to understand its meaning. VIDEO : http://www.screencast.com/t/l5YBpbVtDahR
  13. 13. Editing the documentation of the source code In addition, stakeholders or a non-technical person can easily edit the documentation of a feature in the Toolkit. This documentation will not be stored in paper documents or outdated databases, but straight into the source code as a comment . VIDEO : http://www.screencast.com/t/VA1FCmzY4Gj
  14. 14. <ul><li>http://tictactoe4j.appspot.com </li></ul><ul><li>Before continuing, let's take a look at the actual Tic Tac Toe game that we loaded within the Toolkit. </li></ul>The Tic Tac Toe Game VIDEO : http://www.screencast.com/t/C9XAJ9ipbytb
  15. 15. You can go further in your documentation and actually send messages to programmers very precisely straight inside the source code. This way they can more effectively identify bug reports and change requests. The Planning Tool VIDEO : http://www.screencast.com/t/wtGNmcDVO
  16. 16. Helping with Unit Testing The Toolkit can check if there are Unit Tests created in your source code. If they are not created yet, the Toolkit can help you create them. VIDEO : http://www.screencast.com/t/innoj1ydQ
  17. 17. Tagging and Filtering the source code The Toolkit can filter all the classes in the source code according to the tag that has been attributed to them at the Development phase; including Architecture, Main Feature and Entity Model. VIDEO : http:// www.screencast.com/t/VUwtdMS6
  18. 18. The Specification Portal The Toolkit can automatically generated some documentation for your software totally based on the source code; like the Specification Portal and the User Manual. VIDEO : http:// www.screencast.com/t/3RBnVBR1VdJk
  19. 19. Automatically generated Live Documentation http://helpagile.appspot.com/?project=TicTacToe
  20. 20. Software Metrics
  21. 21. INSTRUCTIONS How the Toolkit works DEMO VIDEO: http://www.screencast.com/t/RwMporlpt
  22. 22. <ul><li>- Enter http://sourceagile.appspot.com in your browser to access the Toolkit live demonstration. </li></ul><ul><li>Type your Email at the Login form. </li></ul><ul><li>Select the project Tic Tac Toe DEMO . </li></ul><ul><li>You don’t need to type a password to access the Demo project. </li></ul><ul><li>Click at the Log In button. </li></ul>The Login page VIDEO : http://www.screencast.com/t/9yNXs1k79Pon
  23. 23. <ul><li>- Select the Development button at the top of the Home page. </li></ul><ul><li>Select the Source view at the top left corner. </li></ul><ul><li>Select any Source File from the list that shows up at your left. </li></ul><ul><li>The Source Code of the file will show up in the middle of the page. </li></ul>Loading the source code inside the Toolkit VIDEO : http://www.screencast.com/t/gS0vg4IZb
  24. 24. <ul><li>- Still at the Development option, select the Feature View on your top left corner. </li></ul><ul><li>Open the Feature Items that shows up on your left. </li></ul><ul><li>Choose a specific item you want to see detailed. </li></ul><ul><li>The Feature Description will show up at the center of the page. </li></ul><ul><li>You can compare the Feature Description with the Source Code using the icons that show on your top right of the page. </li></ul>Showing the source code in an easy-to-read way VIDEO : http://www.screencast.com/t/l5YBpbVtDahR
  25. 25. <ul><li>- After selecting a specific feature in the Feature view, you can click on the Edit button on the top right of the page. </li></ul><ul><li>Type any documentation you desire for your feature. </li></ul><ul><li>Click on the Save button. </li></ul><ul><li>The text you typed will be saved on the source code of this feature as a comment and stored back on the remote repository file. </li></ul>Editing the documentation of the source code VIDEO : http://www.screencast.com/t/VA1FCmzY4Gj
  26. 26. <ul><li>Before proceeding, check the real Tic Tac Toe game working online, also in the Google Cloud. </li></ul><ul><li>http://tictactoe4j.appspot.com </li></ul><ul><li>Play with the game until one player (X or O) wins. </li></ul><ul><li>After you win, click one more time at the game grid so you can see the winning message show up. </li></ul>VIDEO : http://www.screencast.com/t/C9XAJ9ipbytb The Tic Tac Toe Game
  27. 27. <ul><li>- To send a request to the development team you can select the Feature you want in the Development View, and click on the button Edit on the top right of the page. </li></ul><ul><li>Type any message you desire for your Feature. </li></ul><ul><li>Select the To Do box on the top right of the Feature and them click the Save button. </li></ul><ul><li>Now, select the Planning button on top of the page. </li></ul><ul><li>You will see your new request showing up in the Task List . </li></ul>VIDEO : http://www.screencast.com/t/wtGNmcDVO The Planning Tool
  28. 28. <ul><li>- On the Development View, click on the specific class that you want to verify if there is a Unit Test created in the Toolkit. </li></ul><ul><li>Then, click in the Test Icon at the rigth top of the page. </li></ul><ul><li>If there is no Unit Test created a “Create a New Test Class” button will show at the center of the page and you can click on it to create your new Test class. </li></ul><ul><li>When a Test class is created the description of it appears at the center of the page. </li></ul>Helping with Unit Testing VIDEO : http://www.screencast.com/t/innoj1ydQ
  29. 29. !! <ul><li>THANK YOU </li></ul>!! [email_address] [email_address] http://www.slideshare.net/allineoliveira/live-source-an-agile-toolkit

×