Taraxacum Final Prototype Anne Jon Schoonhoven Magdalena Jurić 2016-03-24 1 Project Recap • Make sharing of learning materials easy – Teachers can view, add, remove and edit shared resources • E-learning environment – Students can view, browse and comment/discuss resources shared with them 2016-03-24 2 Today’s Hats Customer Project Manager 2016-03-24 System Architect 3 Today’s Outline • Project Metrics • Project Experiences – Communication – Work Deviation – Project Result 2016-03-24 4 Project Metrics • Deliverables – On time and fulfilled • Features – Implemented 66 out of 72 • Dropped 2 customer requirements • Dropped 4 additional requirements 2016-03-24 5 Project Metrics • Communication – Weekly Team meetings – Daily IM / Skype – Documentation – Redmine (project management software) 2016-03-24 6 Project Metrics Spend Hours - Ratio 2016-03-24 7 Project Metrics Hours/Week 160 140 120 100 80 Hours/Week 60 40 20 0 Spend Hours – Time Line 2016-03-24 8 Project Metrics 2016-03-24 9 Project Taraxacum 1. Fresh Start – Focus on Process 2. Productive – Focus on Development 3. Challenging – Focus into Oblivion 2016-03-24 10 Project Taraxacum • 3rd Iteration went worser than planned. – Blame the Project Manager • Other suspects – Communication – Holidays 2016-03-24 11 Communication • Distance of Communication – Culture – Medium • (F2F, Skype, Mail, IM, • Redmine, SVN) 2016-03-24 12 Case “ Create an simple WYSIWYG editor for the plaintext resource. As an attachment you will find a custom version of TinyMCE editor [..] “ 2016-03-24 13 Cultural Differences Type of Communication Mostly Digital Towards Shallow (!) Notion Of Time “Finish by Sunday” Type of Thinking Task Minded & Goal Minded 2016-03-24 14 Product Status • Shift of context use – Hierarchical – Community • Product is “in between” 2016-03-24 15 Initial Requirements • Teacher – Browse – Manage courses and topics – Share resources – Create exercises – Search 2016-03-24 • Student – Browse shared materials – Take and print notes – Share flashcards – Practice exercises and get results – Ask questions – Signal errors – Search 16 Design decisions • Domain Driven Development • Separation of concerns • Layered architecture (MVC) Good Bad • it was easier to extend system • independent development of layers • initially time consuming 2016-03-24 17 Solution structure 2016-03-24 18 Backend design • Data access layer – Repository – Unit of Work – EF mapping to DB • Model layer – POCO classes • Service layer – Implements functionalities – Hides details 2016-03-24 19 Backend design - Model 2016-03-24 20 Frontend design • Controller – Using service functions – Data provider for views • View – Razor views (HTML + CS code) – Used to preview pages 3/24/2016 21 Integration with other tools • TinyMCE – Javascript WYSIWYG text editor • Disqus – Comments community platform 3/24/2016 22 System Demo – Registration of new user – Create Course – Create Exercise – Perform Exercise – Kudo Course – Comment – Perform Search 2016-03-24 23 System Demo http://ec2-184-73-21-178.compute1.amazonaws.com/ http://dsd.skoonhoven.net/mvc/ 2016-03-24 24 System Demo • Plan B – Video 2016-03-24 25 System Demo • Plan C – Screenshots 2016-03-24 26 What’s Next? Strengths Weaknesses •Well documented •Flexible in features •Red Code •Performance Opportunities •Niche Market Threads •Not the only player on the market 2016-03-24 27 Conclusion • Requirements Struggling • Level of Knowledge Different • Effort Consuming 2016-03-24 28 Discussion • Target minded or Process minded – Running Late – Efficiency • Task explanation vs execution 2016-03-24 29 Discussion • What was the biggest gap in the project? – Knowledge – Distance – Culture 2016-03-24 30