Selected Topics of Software Engineering - Distributed

advertisement
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
Download