3. The company
National Marketing Resources (Kearney, MO)
Sister company to Professional Marketing International (Utah)
Employs roughly 300 people across all sites
Internet business consulting and product marketing
Services for entrepreneurs, investors, small business owners
One function: phone marketing following sales leads
4. Brief system description
Sales leads tracking system
Computerizes the process of obtaining / categorizing sales leads
Forwards them to marketers
Marketers follow through on those leads
If necessary, they upgrade their statuses to accounts
6. Organizational feasibility
Not much risk here
No switching or eliminating positions
Similar system already in place
Most organizational changes took place when that system was implemented
Both projects are organizationally feasible
7. Cultural feasibility
Also not much risk
Many people are embracing computers / technology
Staff / management will have more control over their people
8. Technological feasibility
Could be an issue
Never previously exposed to Django / Python
I’d request hiring a couple of people that already know Django /
Python to assist in development / support (if this weren’t for a class)
9. Schedule feasibility
I have all semester to complete the project; not much risk
Most of my schedule is open for this project
Gauging where I’m at periodically is important
I’ll keep an eye on managing my time
Time usage must be efficient (could spend more than a semester working on
system)
10. Resource feasibility
I can tap current users as needed to ask them any questions
Major issue: I’m the only ‘staff member’ assigned to doing this project
I have people I can call on if I need technical help
Could be an issue; some risk
11. Economic feasibility
Present value of benefits Estimated present value of net benefits, costs
$877,077.00 $400k
$320k
Present value of costs
$73,373.46 $240k
$160k
Payback period
44 days $80k
$0k
3-yr return on investment
695.83% ($80)k
Year 0 Year 1 Year 2 Year 3
13. System
Define lead
source
Create new lead
Use case Import external
leads
diagram Define promotion
Define marketing
campaign
Processing representative Processing Assign leads to
Rep lead path
Distribute leads to
sales company
Export lead list
Define customer
14. System
Distribute leads to
sales team
Distribute leads to
division
Division
Generate lead
manager
report
Generate
marketer report
Sales
manager
Generate overall
report
Sales
Assign leads to
teamleader
marketers
Use case diagram
Managers
15. Use case System
diagram Modify lead status
Marketer
Marketer
16. Use case: change lead status
Triggering event:
Marketer follows up on sales lead
Brief description:
A marketer will go down their list of leads assigned to them and make sales calls.
Depending on the status of the phone call (if the lead hung up, was busy, wasn’t
home, etc), the marketer will change the status of that lead in the system. They’ll
login to the system, visit their active leads, click on the lead they’re working on, and
change the details of that lead.
17. Use case: change lead status
Stakeholders:
Sales teamleaders, customers
Preconditions:
Lead in the list must already exist in the system with complete details
Lead must already be assigned to a marketer
Postconditions:
Lead will be modified with additional details on the prospective customer
Lead will either be active or inactive depending on status
18. Use case: change lead status
Marketer visits leads page
System
System gives leads list
Marketer
Marketer selects current lead Open active leads page
System gives detail page
Choose current lead
Marketer updates lead info Update lead information and status, submit
Redirect to active leads page
System saves info to DB
Marketer returns to lead list
27. Menu hierarchy: headers
External company management
Internal company management
Leads management
Customer management
Order management
Reports
28. Menu hierarchy:
External company management
Add new lead source
View existing lead sources
Add new promotion
View existing promotions
29. Menu hierarchy:
Internal company management
Add new sales company
View existing sales companies
Add new division
View existing divisions
Add new team
View existing teams
Add new marketer
View existing marketers
35. Technology & working environment
Web application running on Django 1.1 (beta), Python 2.5.4, SQLite
Features locked; 1.1 is slated for April
SQLite for development only; production will use MySQL
All development done on my MacBook under Mac OS X
TextMate, CSSEdit, Pages/Keynote/Numbers, OmniGraffle, GitHub
36. App architecture, design approach
Model-Template-View (three-layer architecture)
Models represent data access and definition
Templates contain presentation logic
Views contain business logic
Similar to Model-View-Controller architecture
Object-oriented design approach
Python is object-oriented
37. Web browser URL controller Template layer View layer Model layer Database
Marketer
Open active leads page (/leads/marketer) Get active leads view Get active leads view
Get active leads for marketer Get all active leads for marketer
Marketer's active leads
Marketer's active leads
Template context for active leads
Rendered active leads template
Select active lead Get lead detail view Get lead detail view
Get lead detail for lead #001 Get lead detail for lead #001
Lead #001 detail
Lead #001 detail
Template context for lead #001
Rendered lead detail template
Update lead details, submit form Get update lead view Get update lead view
Update lead #001 Update lead #001
Redirect to active leads template
Template context for active leads
Rendered active leads template
Detailed sequence diagram
Change lead status (for demonstration)
Notas del editor
- Birdie is my project
- Written in Python using Django framework
- Sales leads tracking app
- Touch on the basis for the app
- What it does, in a nutshell
- NMR, partnered with PMI in Utah
- They do consulting and marketing
- One of their functions is phone marketing
- Sales leads tracking and management system
- Leads come into company
- Processing reps file the leads according to their sources
- Distribute them through our channels
- Current system is tied to Windows clients, need access for browsers and mobile phones
- Show the feasibility study from my last report
- No change, really
- Most organizational changes already took place with previous system
- Still not much risk
- People are mostly tech-savvy here
- Marketers are least tech-savvy, but most still are sharp on tech
- My first major exposure to Django OR Python
- Issue at beginning but: easy to pick up, very powerful
- Know people that know Django
- Not much risk as long as I manage my time
- Could spend longer than alotted; I tend to pay too much attention to small details
- No time for that
- Small (but growing) company, know most users of system
- I’m the scarce resource (as developer)
- Numbers on my last report
- Quite feasible, economically and overall
- The fun stuff, pretty pictures
- Some of what the system needs to do
- Processing rep does a lot of management of the data
- Customers, sources, promotions, campaigns
- Initial lead distribution
- Various levels of mgmt
- Leads go to sales mgrs, then to division mgrs, then teamleaders
- All levels can see lead reports and marketer reports
- Only sales mgrs can see overall reports
- Marketer has one: change lead status
- Upgrade/downgrade lead depending on outcome of followup
- Complex, lots of data entry; focal point
- From description
- Happens when marketer follows up on lead via phone
- Makes calls for each lead on their list
- Pull up detail report and fill out extra details, change status
- Teamleaders preside, customers are contacted
- Lead must have complete path, be assigned to show up in list
- After, lead is modified, be active or inactive
- Diagram: follow arrows
- Gets active leads list, chooses one, updates info
- Gets redirected
- Lead is in center
- Order/product is off to side, somewhat separate from main part
- Person super of customer, user
- User is anyone who logs into system, includes bottom row classes
- REALLY fun stuff
- Mockup designs, what’s implemented
- Initial prototype, layout of leads list for mktr
- Select a lead, go to lead detail
- Leads list implementation
- Same functionality, choose between lead phases (a/i/e)
- Second prototype: detail report
- Marketer gets this for each lead they call
- Add details, fill in demographics
- Implementation of lead detail report
- Haven’t added demographics
- Working status change and detail/notes
- Third mockup: lead report
- May or may not have graph; extra feature
- Shows statistics of leads over time period
- Not yet implemented
- Planned menu hierarchy
- Dependent on credentials
- Section headers
- Managers, processing reps have access
- Processing reps, mgmt, teamleaders have access to certain sections
- Processing reps have first 4
- Mgmt has 3 & 4
- Mktr has 5th
- Processing reps get all these
- Mgmt can access as well
- Mgmt have all 3
- Teamleaders only have first 2
- Real basic main menu implemented now
- Tailored to your credentials
- Clicking on your name in upper-right gets you to menu
- Breadcrumb always helps you find your way
- MTV: model/template/view
- MVC: model/view/controller
- different names for same thing
- Django ‘controller’ is URL direction file, biz-logic in ‘views’
- Templates are rendered HTML files
- Dev-ing w/ prerelease build of Django 1.1, due in couple of weeks
- Database testing with SQLite, full build MySQL; Django handles DB differences
- All Mac dev-environment