angular-styleguide



angular-styleguide

0 0


angular-styleguide

A deck describing our angular style.

On Github presencelearning / angular-styleguide

Angular 1.x Styleguide

  • Build System
  • Directives vs Controllers
  • CSS
  • Filelayout
  • Filenames

The purpose of this document is to articulate our product development team’s organizational design.

By “organizational design,” we’re referring to the team’s values, structure, processes, and culture. Not only is this a repository and reference point for us — it’s also a great resource for recruits and new hires to understand what makes us successful.

We are a mission-driven organization.

Throughout the world, people of all ages face health challenges that require sustained, intense treatment from allied health professionals. Treatment frequently lasts as little as a few months, but often it takes years. Sometimes it takes decades.

Fortunately, there is an army of well-trained professionals ready to help people in this situation.

We connect people with healthcare professionals who can help patients reach their full potential.

Deliver the right product to the right market at the right time.

What do we mean by “right?” The right product has a compelling value proposition and exhibits strong product-market. Our products fit seamlessly into one’s life. They are simple and delightful while honoring the gravitas of the challenges faced by our customers.

The right market is a large market where we can capture a meaningful amount of the value that we create. The notion of the right time reflects the window of opportunity we have to hit the market at the right time.

We can’t be too early or too late.

Ultimately, it’s up to our team to understand the market, define our product, build it, and manage it throughout its lifecycle.

These are the ten core values that we live by:

Put the human experience first. Be an ambassador for our mission. Design with purpose for today and tomorrow. Hone your craft. Solve serious problems with delightful solutions. Move the world forward with relentless optimism. Challenge each other to do our best work. Experiment to drive thoughtful innovation. Practice pragmatic perfectionism. Question what is and imagine what could be.

Structure, or organizational architecture, is most often communicated through an org chart, but there’s more to the equation than just a diagram. Our product development structure follows the main tenets of our organization with minor variation.

Even with defined functional areas, our organization has evolved organically. We have remained relatively flat with a short chain of command between folks in entry- level roles and the top of the organization.

Key decisions are made at all levels of the organization.

Specialization varies by department.

There’s a clear formal structure within the company though are there many dotted lines in our corporate org chart.

Our team is a matrix organization featuring dedicated product groups where members report to both a group lead and a departmental head.

There is a head for each department (UX Director), a lead for each function within a group (PM Lead, Tech Lead), and a lead for each group (Team Lead). Leadership roles are not mutually exclusive.

A typical group has one product manager, 1-2 designers, 2-5 engineers, and 1-2 QA members. Large groups can be divided into feature teams.

Role Responsibilities Backend Engineer Design and build backend applications and systems for product and infrastructure projects, evaluate technologies, prototyping, framework development, performance and security, API development, system integration DevOps Engineer Design and build developer infrastructure, own continuous integration and deployment systems, monitoring, logging, configuration management, automation, system administration, documentation, code review Frontend Engineer Collaborate with designers to iterate on design and implementation of product, design and build frontend experiences, prototype features and new products, maintain frontend code quality, influence product design and overall UX Product Manager Product vision and strategy, opportunity evaluation, market discovery, define requirements, communication and inter-department liaison, planning, prioritize backlog, lifecycle management, develop business cases, voice of customer QA Analyst Create test plans, manage automated testing tools, document bugs, test software, report on bug and overall QA status, escalate critical issues UI Designer Create interfaces, flows, and assets, visual design, interaction design, develop prototypes, art direction, content development, brand design UX Designer Define information architecture, conduct user research, write user stories, create wireframes, design interactions, create and manage UX documentation

Process: the collection of routines, procedures, and daily practices that enable us to do our job as a team

Covers meetings, methodologies, tools, policies, and work environment

Can be formal or informal

Could be different among departments and groups

We use Slack for daily communication

Engineering and product heads represent team at weekly executive team meeting

Core hours are flexible but generally 9-5 PM

Formal meetings must have a stated purpose, be as short as possible, include as few people as possible, and have clear action items

Key success metrics and analytics systems

High-level roadmap planning

Workspace plan

1:1s at least every two weeks

Develop SMART goals

Code reviews, design reviews

Staffing decisions made departmentally

Brown bag lunches

State of the Product

Cross-department roadmap updates

Groups are relatively autonomous

Group leader responsible for defining processes with feedback from the group

Daily check-in

1:1s between group lead and functional leads

Stakeholder reviews

Decisions

  • Roadmap and prioritization
  • Development methodology
  • Productivity and management tools
  • Research strategy
  • Meeting schedule
  • Communication plan
  • Release and launch plan

Culture is the most powerful attribute of our organization design and can be a key competitive advantage.

It is also the hardest to define and the toughest to change.

That’s why it’s important to understand it.

  • Mission-driven
  • Positive
  • Committed to user-centered design philosophies and principles
  • Collaborative iteration
  • Dissatisfied with status quo
  • Flexible and family-friendly
  • Encourage candid feedback
  • Open-door policies
  • A sense of mentorship and desire to grow as professionale
  • Productive and results-oriented
  • Over-communicate
  • Exhibit fairness
  • Attend and host meet-ups
  • Fun team events
  • Team blog
  • Support professional development opportunities
  • Workspace design events
  • Hackathons and unstructured time
  • Tech talks by distinguished guests
  • Meet the team interviews

Food and drink

  • Informal team lunch every day
  • Sit-down lunch once a month
  • Team "happy hour" twice a month
  • Inclusive team dinners to celebrate big wins

High bar for hiring

Bring on more junior people over time

What to look for:

  • Bring on A-Players
  • On a fast track
  • Has been successful elsewhere
  • Job may be a stretch

Persuasion

  • Grow with us
  • It will be a challenge, an adventure
  • We hope to build something wonderful by giving you as much rope as you can handle
  • We're your fan
  • Increased responsibility
  • New opportunities, jobs, leadership

Develop a strong onboarding plan and kit

Hold 1:1s, encourage frequent feedback, and keep an open-door popcy to psten for special needs, frictions, and interpersonal problems

Be a teacher and a resource

Teach by questioning

Instinct is a great 6th sense, not first

Performance management - not review; people should assume everything is ok

People value the freedom you give them, the chance to learn through their experience, and a sense of their impact

Set clear ethical guidepnes — we deal from the top of the deck

Help people develop a style that fits with their personapty

Be genuinely interested — nothing works if it’s phony; build relationships

People need identity, a structure to flourish, and meaning to the work they do

Retention

  • Respect goes both ways
  • Path for growth
  • Compensation is a limited resource but praise and thanks is unlimited
  • Forge personal relationships
  • Make people feel important and valued

Employees don’t leave companies, they leave bosses

This is a living document. It lives in github.

https://github.com/presencelearning/productdeck

Angular 1.x Styleguide