university of tartu, 2013 ivo mägi - @ivomagi€¦ · * automated tests * libraries, servers,...
TRANSCRIPT
![Page 1: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/1.jpg)
University of Tartu, 2013
Ivo Mägi - @ivomagi
![Page 2: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/2.jpg)
*
* Collaboration infrastructure: rules for the game * Managing requirements * Issue tracker * Version control
* Development infrastructure: your tools at hand * Build script * UI mockuping/wireframing * Continuous integration * Staging environments * Automated tests * Libraries, servers, services, …
![Page 3: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/3.jpg)
*
* All your requirements are documented in the Wiki
* All your requirements are documented in unified format
* All your requirements are divisible for implementation
* You refer to the requirements from the issue tracker
![Page 4: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/4.jpg)
*
* Home of your day-to-day activity plan * And I do mean day-to-day, I wish to see you
actually using the tool
* Integrated with requirements and source code.
* I want to see in a task * What has to be done?
* Who is going to deliver it?
* When it is going to be delivered?
![Page 5: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/5.jpg)
*
* At minimum, I expect the following to be in your VCS * Source code * Build scripts * Automated tests
* All commits are linked to the issue in issue tracker. * Each iteration is tagged using the iteration
name
![Page 6: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/6.jpg)
*
* One-click build to * create executable/deployable
* run the application
* run the unit/acceptance tests
* If I have to install something manually, it must be truly well reasoned
* Runs on any machine * Configuration is external to the script
![Page 7: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/7.jpg)
*
* Shell scripts. Pay attention to cross-platform compatibility.
* Platform-specific build utilities, like Ant and Maven for Java apps.
* Virtual Machine building * VirtualBox creation scripts
* Puppet/Chef/…
![Page 8: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/8.jpg)
*
* To conduct acceptance testing
* To push releases for end-user validation
* To run automated tests
* …
![Page 9: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/9.jpg)
*
* For webapp * Does your customer provide the enviroments? * Do you have your own servers to use? * If not, university can grant access to Amazon EC2
instances. * Contact me about your needs.
* For mobile app * You need to push the deliverables to the
marketplace * For desktop app * You need to make the binary available for download
![Page 10: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/10.jpg)
*
* Monitoring VCS for updates
* Checking out the change
* Building the application
* Deploying the application
* Running automated tests on application
* Reporting the (possible) errors found
![Page 11: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/11.jpg)
*
* Jenkins * Cloudbees as SaaS
* Bamboo
* CruiseControl
![Page 12: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/12.jpg)
*
* All your applications have UI
* The best way to articulate and communicate UI requirements is over a visual representation
* Create UI mockups or wireframes before development
![Page 13: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/13.jpg)
*
* Balsamiq
* Pidoco
![Page 14: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/14.jpg)
*
* Unit and acceptance tests are required
* Tests must be executable from the build script
* Tests must be repeatable
* Not yet graded in 2nd iteration, recommending to start investigating though
![Page 15: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/15.jpg)
*
* Extremely project – specific.
* Use existing infrastructure. Do not build your own storage / HTTP server / etc.
* Check out for 3rd party libraries before you write anything on your own
* If confused, consult with me first
![Page 16: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/16.jpg)
*
* Code reviews
* Static code analyzers
* Time trackers (yuck)
* Planning tools
* Modeling tools
* … feel free to investigate and use.
![Page 17: University of Tartu, 2013 Ivo Mägi - @ivomagi€¦ · * Automated tests * Libraries, servers, services, ... * The best way to articulate and communicate UI requirements is over a](https://reader034.vdocuments.site/reader034/viewer/2022051904/5ff59753ff72cb585508a417/html5/thumbnails/17.jpg)
*
* You need to use the tools we described in previous slides
* But focus on the benefits what the tool provides, as opposed to grading criteria's
* If something seems unreasonable, lets discuss it