I'm Louisa. I'm on Twitter at WCB, so I have to use mountain pictures everywhere I can. So I'm a developer and a designer at HotCodeWorks, and we're a small consultancy based out of Longmont, Colorado. And I'm a chapter leader for Girl Develop at Boulder. And then before we get started, I just want to really quickly run through how I've set up my slides. So as you may know, we are in Texas right now. And Texas has some famous cows. And cows need cowboys. And cowboys ride horses. And horses are a lot like ponies. And I drew a lot of ponies from my slide deck. So now that that's taken care of, we can go ahead and get started and talk about design. So unlike the popular perception of what design means, it's actually much bigger than the elements to come together to form what we typically associate with visual design. So like typography, color palettes, and layout. I think designers often get a bad rap for being overly sentimental about these things. And even though they may have a slightly unhealthy fixation on letter forms, these elements really are just details of what a designer's job is and don't encompass the full breadth of what design is actually all about. So at its core, design requires the ability to take a set of restrictions framing a problem and find the best solution within those limitations to maximize impact, usability, and engagement with users. So design is all about people, and it's about how the things those people need actually work. So has anyone here ever built something that was super cool, but then turned out to be pretty challenging for the people that you shared it with to use? Like, I know I have. I have. It's happened. And maybe your app was so challenging to use that those people just didn't use it, and they just didn't understand something that, from your perspective, made perfect sense. And that's a pretty frustrating experience, right? Like, it's not fun to have something you've put a lot of effort into not really be appreciated or understood. But there's a silver lining to going through that. Because it is actually a great thing to have experienced. So going through the process of seeing firsthand what happens when someone doesn't understand or relate to your thought process, and then by association doesn't understand your product, means that you've taken the first step and welcome to design. So it's a glorious place where you get to build cool stuff by figuring out how to make things that are relevant and useful to other humans. So clearly the code that you write is important when you're building software, but design is just as critical a component. And this is because products that offer unique and effective solutions to human problems that are also intuitive for users to understand and relate to really set themselves apart from the crowd of competitors. So how many times have you heard something along the lines of like, it's like Twitter for cats, or it's Uber for dog walking. And this is because coming up with original ideas is really hard. And it's easier not to, and instead just use established successful products like Twitter and Uber as a starting point and then just tweak them enough to make them yours. And this isn't always a bad approach, but what it means is that if you can come up with something that's unexpected and better than those established models of solving users problems, that it's going to really get people's attention. And creative design solutions are a major deciding factor in the choices that lead to those novel approaches. So, since design and creative thinking is something that can be a big part of what sets you and your work apart from the crowd, how many of you consider yourself to be creative? Okay, awesome. Now, how many of you think of yourselves as designers? A few. Okay, that's good. A few. So, I really want to help everyone in this room feel like they have the ability to be creative and then also to participate in the design process and to feel like they can make positive design contributions to their teams and their projects. And so, on that note, I think it's a good time for a story. So, I went through one of Jeff Casimir's early developer training programs before he started touring school of software and design. And I have this very distinct memory of him telling our class that we were not allowed to use Bootstrap to build out the front ends of our projects, that we'd be presenting at our demo nights because Bootstrap would, in his words, make it too easy to win. And he told us this like a day or something right before the demo and it was followed by this sort of giant collective groan throughout the class because we really hadn't been learning about front end and Bootstrap would be like a time and sort of sanity saving resource that we could use to make things look okay while we were just focusing on getting our projects to actually work and then getting them successfully deployed on time. And then just like that, he just was taking it away from us because it made it too easy to win. So, chew on that for a second. Like, we'd spent months writing and studying Ruby and now we were building these Greenfield Rails apps in very short timelines and showing them to people who could very well turn into our employers. And what of all things is Jeff worried about teams using to their unfair advantage? A tool that gives you just a little bit of help with very basic visual design. So we were building complex back end systems and that was what we really wanted to show off, right? Like, why would getting some outside help polishing the user facing part of the app be such an issue? Like, he was justifiably worried that teams would use a clean looking user facing product to compensate for crummy back end code. And he was worried that teams that only got the minimum project requirements completed would sway the crowd with a slick looking front end while teams who went above and beyond with the back end but had a less usable front end wouldn't get the attention from the community that they really deserved. So I really love this story because it emphasizes something that developers and I think especially devs who spend the majority of their time writing code that isn't user facing can really too easily overlook. And it's that users don't care how you built your product. They only care if it works and their first impression of it really counts for a lot. So you know the saying, don't judge a book by its cover, your user is going to ignore that. If your product looks good, they're more likely to trust it. And they really don't care about the code that's actually powering it. So before these angry ponies run me out of San Antonio with pitchforks and fire saying the code doesn't matter. Let me just clarify it real quick. So obviously the technology stack that you use is a very important part of the success of your product. Like I'm not disputing that and I think we're really lucky to be working in this industry where the sky's the limit when it comes to what you can make. And we're surrounded by and getting to build cool technology 24-7. But this saturation of connection is a double edged sword because living and working at a time when technology is constantly making these very fast, very big leaps forward means that our users have really high expectations and developers are constantly chasing the next best tool for the job. And as a culture, we are totally immersed in digital things all day, every day. So the tech itself is not novel for users anymore. It has just turned into another part of how they navigate through their lives. So technology has become so ubiquitous in our daily lives that it's taken for granted unless the user's experience with it is so exceptional that they can't help but notice it. So basically what this means is that you all have done your jobs so well that nobody notices anymore. So digital tools are everywhere and they're used for everything. And we really ask users to put a huge amount of trust in our products, which means that we're asking them to put a huge amount of trust in us. And we're asking them to give us their email addresses, their home addresses, their social security numbers, and their bank account information. And I mean, that's asking for a lot, right? And they should expect a lot from us in return. So users expect and they quite frankly deserve to have digital products that are tailored to work for them and that they feel good about using. And again, they don't care how you built it. What they do care about is that it does what they need it to do. They care that it solves a problem for them. They care that the value it offers makes using it worth their time and worth their money. And they care how it makes them feel.  Do they feel frustrated? Are they able to easily do all the things they needed to do and wanted to do without any trouble? So this all boils down to the fact that prioritizing design, creative solutions, and the needs of your user and your software approach to software is a lot bigger than just making things pretty. It's a business decision that can have a very real impact on your bottom line because it determines whether or not people actually use your product. So think back to Jeff's restrictions on Bootstrap and our student project for demo night. Because good design focuses and delivers on something that your user needs. And that does make it easier to win. And when building software is your business, that's exactly what you want. So the key takeaways here are that your users have high expectations. You really need to understand your user's needs. Technology changes all the time and the ability to generate new ideas will never lose value. So knowing how to leverage design as a tool to understand your users and shape your product has huge benefits for developers. But I've had a lot of conversations with devs who say that they can't do design or that they aren't creative. And so I expect this is a combination of not really liking crafty things or feeling like design would take valuable time away from writing code and that design is just simply not their job. But this attitude always kind of gives me pause because design is really interesting and developers are some of the most creative people that I know. And as developers, you have a great advantage when it comes to learning about design because you come to the table with a really deep understanding of the complex technical piece of the puzzle. So it's very worth the effort it takes to gain a deeper understanding of the human side of the equation because it will lead you to this powerful combination of technical knowledge and creative thinking, which in turn provides you with the power to generate amazing ideas and amazing products. And amazing ideas and amazing products lead to happy users and successful organizations. So I love design. I'm a designer. I'm also a developer, but I'm a designer first. And a big part of why I love it so much is the depth of thinking and the process that goes into a design project. So the larger idea behind why and how something came to be, like whether it's a product for business or a piece of artwork, is just really interesting to me. And in my personal design philosophy, I've considered this bigger picture ideation to be concept focused thinking or CDD, concept driven design, meaning that the implementation and details are growing outwards from a core concept that's based on the needs of your user and this drives the approach to your solutions. So it can be that the idea, so this can be that the idea that a digital product needs to bring families together away from a computer or that a company wants to branch out from a core product and needs help figuring out what this new market or product should be or because I did exhibit design for museums for a long time, how signage in a physical space can maximize visitor engagement at museums. So it really can be any scenario, but the lineage of this final product can always be traced back to that core concept. So another story time. So this way of thinking came from my undergrad experience. I actually went to an art school and in the freshman year program, everyone went through this foundations program that exposed every student to the full range of techniques and materials and processes that were used in all the different departments. So you're doing sculpture and painting and drawing and that sort of thing. And by going through this foundation program, you really got a solid starting point for the rest of your educational career and your actual career. And so this curriculum means that you aren't going to be restricted in your work because of a lack of skills, but more importantly, it means that it's taught you how to think about problems. And this program assumes that no one is mastered how to think creatively, so it starts at square one and it teaches every student how to do that. At the start of my foundation year, my studio professors kept telling me that my work wasn't deep enough and not conceptual enough. Very arty critiques of things. But then they really struggled to clarify what that actually meant so I could fix it. And that kind of drove me crazy. And I wasn't really doing badly, but there was this sort of indescribable and intangible issue that was preventing me from doing the quality of work that I expected of myself. And it was really frustrating that it couldn't translate this feedback into something I could use. And then at the end of that year, I took a short workshop with a professor who broke this idea of conceptual thinking into steps that I could understand and actually apply. And then suddenly, all of those prior conversations clicked into place and I understood what they meant. And it took some practice before I was consistently able to work concept first, but it was a major turning point because I understood how to push my ideas further to do better work. So it was this teacher who took the time to break down what concept is and then teach it to our students who gave me the tools to absorb and utilize what other professors had been telling me without clarification for the rest of the year. So fast forward quite a few years and to my current company, where my official job title is developer, but our recent project needs have given me the chance to spend some time on design work. And I was a designer for a long time before I stepped away from it in 2013 to focus on rating code. So it's been really a lot of fun to dive back into it and find new resources and inspiration. So during this period of investigation and research at work, I started reading about a design methodology that not only supports my own design approach and experience, but expertly expands it into a repeatable human-centered technique to help people outside of traditionally creative careers like art and design leverage the power of human-centered design in their work and their organizations. So it shows you how to get to the concept consistently. This approach is not necessarily a brand new idea, but it's very relevant, useful and powerful. And it's basically doing what my college professor did to me. It teaches you a way to think and approach human-focused problems through real actionable steps that allow you to break down problems and take full advantage of your inner creativity to arrive at unique, successful solutions. So it basically just gives you the tools to fast-track the design learning process that I went through in my foundation year program and through the applied practice of design thinking. Slide pony, I'm so glad that you asked. Let's talk about what design thinking is. So the sort of broad 10,000 foot view is that design thinking is about driving innovation through focusing on human needs. It's a repeatable formula for identifying problems and creating user-focused solutions that's been championed by and refined by IDEO and the Haso Platner Institute of Design at Stanford, which is also known as the D-School. So using this approach trains you to think differently about how you tackle problems faced by your user through gathering critical feedback and being open-minded about trying novel approaches through gathering feedback, prototyping, and then being open-minded about trying novel approaches you ultimately are able to produce the best product for your user. So this application of an approach to design helps sift through the idea static to expose the highly creative innovator in everyone. So one of design thinking's base constructs is building what David Kelly, the founder of the D-School and IDEO, refers to as creative confidence in people who may not view themselves as creative in the traditional sense. So these are the folks who say, I'm not an artist, I can't draw, I'm not a designer. Like those kinds of things. Like basically the kind of statements I've heard a lot of developers say. So this process actually helps its practitioners change the way they view themselves and the way that they view their creative capabilities. So this mindset shift around how you view your own abilities is a really important milestone in the process of learning to embrace design thinking and it's an idea backed by the work on self-efficacy by Albert Bandura, a Stanford psychologist. So I say he's a Stanford psychologist but he could probably be more described as like the Stanford psychologist. He's one of the most respected and well-known modern psychologists and he's probably the most famous living psychologist and he's been awarded like 16 honorary degrees and his research around human agency and social cognition is really groundbreaking and important. So self-efficacy as described by Bandura is the belief in one's capabilities to organize and execute the courses of action required to manage prospective situations. So basically it's all about your perceptions of yourself and that you see yourself as someone who is capable of something and in this case that's something is the ability to be creative. So it's similar to the school of thought that success is not dictated by raw intelligence but rather by a student's grittiness or the possession of a growth mindset so which is the belief that if something is hard it's still learnable through effort and hard work or rather than a fixed mindset which is thinking that if something is hard it's just unlearnable and you can't do it. So design thinking and creative and developing creative confidence is about approaching problems with the belief that there is at least one solution and probably more and that you are capable of finding it. So rather than letting setbacks derail you you are using them as evidence to, or rather than letting setbacks derail you and using them as evidence to back a claim of non-creativity, you see them as a learning opportunity and a chance to help you fine tune your work and ideas. So I've heard people on both sides of the creative and technical fence use exactly the same reasons to explain why they aren't suited to do the work that the other side is doing and I really don't buy it and I don't think that you have to either. Embracing design thinking and taking your user into consideration will not only help give you skills that make you a stronger asset to any team you work with but it will help you make consistently smarter business decisions and reduce risk because you'll have a deeper understanding of the what and why behind your product. So without this understanding you really have no way to know if your product is actually relevant to the market and the people you want to be using it. So the key takeaways here are building creative confidence is important, design is fun and so can you and it's a huge value add to your skill set as a developer. So IDO and the D-School have over many years of practicing this methodology developed a formulaic design thinking strategy to help you leverage these approaches in your work and the good news is that these techniques and these steps will probably feel pretty familiar to what you do in your development work. So like do you pair program every day or sometimes, sometimes pair programming? Do you submit pull requests and then participate in code reviews? Yeah, do you use TDD and then work through a red-green refactor cycle? Hopefully, maybe not depending on how your day's going. So it turns out that these are all strategies that with a little bit of adjustment can be applied to the user-facing side of your product to help you better understand the people who you want to use it and then what their needs are and ultimately how to focus your product and what it does. So the D-School outlines these following steps as key process states to work through. So these are empathy, define, ideate, prototype and test. So let's dig in to each one of these. So the definition of empathy is the ability to understand and share the feelings of another. And this is a central element in human-centered design because it allows you to understand your design challenge through the eyes of the people you actually want to be using it. And why is this important? Because you aren't solving this problem for yourself. Just because something is good for you and makes sense to you doesn't mean that it's good and makes sense to other people. It's back to that problem when you build something that's super cool but doesn't make sense to anyone and they don't want to use it. So how do you do this? How do you accomplish this level of empathy? So step one, through observation. You can get really great information from the insights you gain from simply paying close attention to what people do. So we generally tend to filter things based on our own experiences and preferences. So it's really critical to see that from someone else's eyes, like through someone else's eyes in the point of view. Second step, by engaging with people. Yes, you're gonna have to talk to some humans. It's terrible, right? Oh no. So directly engaging with people reveals a lot about what they think and what their values are. So if you're listening and paying attention to details and watching what they do compared to what they actually, watching what they say compared to what they actually do, you'll really understand their beliefs and world view a lot more clearly. And then just watch and listen. So ask someone to show you how they do something. Have them go through the steps and then talk you through why they're doing what they're doing and let that process guide you in asking better questions. So define, after we've gone through the empathy stage, we're gonna define things. So define means to state or describe exactly the nature, scope, or meaning of. So in this context, that means that this state is gonna bring clarity and focus to the information collected in the empathy phase and focus on the design problem and what form it will take. So this is your chance to really shape the challenge you're tackling based on your findings about the user and the context of the problem that they're facing. So ultimately, it's about making sense of all the information that you've gathered. So you're taking all these unrelated parts and putting them together. So why would you do this? So it's giving you time to take your scattered insights and then combine them into a more focused thought and direction and then this lets you find your point of view which is the explicit expression of the problem that you want to address. And then the more focused your point of view is the greater quantity and quality of solutions that you can generate in the next phases. Which brings us to ideation. So this is when you really concentrate on idea generation. You're combining your understanding of the problem and the people that you're designing for with your imagination and at this stage it's really all about pushing for the widest possible range of ideas and not just finding a single best solution. So you're looking for a broadness rather than depth of solutions. So don't worry about getting it right at this point because the user feedback that you get in later stages will help dictate what the best solution is. So why would you do this? So it really helps you step beyond obvious solutions and it pushes you outside of your comfort zone. If you happen to be working in a group going through these processes it helps harness all the strength and input of your team and lets your ideas build on one another. And it helps you find unexpected areas of exploration and it helps you get the obvious solutions out of your head and then let you push beyond them sooner than later. So now we get to prototyping. This is the fun part. I think this is the fun part. So prototyping is the iterative generation of ideas to get you closer to the final solution. So especially with the early, especially early in this phase you really wanna create quick, simple prototypes and just get feedback early and often. And these sort of lo-fi examples will tend to get better feedback because people don't worry that you are going to have your feelings hurt or that you're overly committed to a certain direction. So they're not gonna worry about throwing the wrench in the works so they're gonna give you better input. So at this stage it really should be clear that nobody's overly attached to a specific idea and that it's wide open for input. And this means that you're gonna get better feedback. And I think one way that the D-School describes it is that it's building to think. So you're working your ideas out in a physical way and you're just trying to get them out in the open. So why would you do this? Because it starts conversations. It allows you to fail quickly and cheaply so you're able to figure out if something isn't gonna work sooner than later so you're not investing a bunch of time and money in it. And it really allows you to test all the possibilities. And it also helps you manage the process of building your solution so you can just clarify and guide yourself better. And the really great thing about this step is to start.  And then testing, and this is where you are actually getting your prototype into people's hands. So we aim to be open-minded that this could be an unsuccessful solution when you show it to somebody. And don't just test how your solution is succeeding and keep asking why and then be willing to pivot and potentially even scrap the current idea for a better one. Really take the opportunity to refine your solution and make it better. And a good rule of thumb is to prototype like you know that you're right, so with great confidence and then test as if you know you're wrong. So you're really making the user prove to you that this is the right solution. And remember that this is the opportunity to get feedback on your ideas and the assumptions you've made about what the problem was and how to solve it. And then you might have to do it again. Don't be afraid to go back through the process again and to refine your ideas and make them stronger. And that might seem like a lot. And maybe it's too much talking to humans. And maybe you already do too much at work. And that's okay. And it may sound like a lot or just seem too far outside of your normal workflow, but let's go back and look through these steps from a more familiar angle because they're actually guiding you through a process that's very similar to what you do as developers and you can incorporate them in your workflow. So let's think about the parallels between this user-focused process and then the TDD cycle that you work through. So with empathy. So before we write any of our working code, we want to write a test. And to do that effectively, you have to have an understanding of what you actually want your code to do and what its place in your app is and then what the implications of adding the code to your code base will be. And so you're finding the right question to ask about what you want your code to do and then you're finding the right way to ask them at this stage. Define. So now that you have a solid understanding of what you want your test to cover, you might write some pseudo code to help you lock in what you want your test to do and then test. And then you're going to write your test so that it frames the questions that the questions and needs that you established previously. And for ideating, we're actually gonna be writing our working code and we're letting the test guide us. So you're going through the letting all the error messages tell you what to write next. And then for prototyping, we're gonna refactor, make it better and make it cleaner, make it more reusable and keep getting it back to green. So you're getting a nicer cleaner solution. And then testing in this phase would be about submitting a pull request, having your team doing a code review and then possibly going back and doing additional refactoring. And then once it's been approved, merge it into master and then deploy. Grab the next story, do it again. And then just in case you're still thinking that this is a load of hooey and your skills are fine as is or you don't have space in your schedule to learn about how to think like a designer, I just wanna add this. So I've gone through this mindset shift not once but twice. So initially I learned to think creatively and conceptually and then years later I learned to program and think like a developer. So basically I decided thinking I couldn't do things for whatever reason was a horrible excuse that was actually poo. And now I'm a designer and a developer and I do a lot of work with organizations that teach people to code. And how I view myself and how I view my ability to learn has totally changed. So there are no more unpassable obstacles and no more pooey excuses. And if I can do that, you can do it too. So thank you.


My name is my name is Vijay and I'm from Hyderabad. I have been learning agile since last six years and I have recently been part of an agile transformation, large scale agile transformation where around 60 teams are transformed into agile. So I have contributed to around 10 teams in terms of training for two days, agile values, fundamentals and Scrum Framework, Lean and Kanban and followed by 6 to 8 sprints of coaching for those teams. So I'm going to talk about some of the observations and challenges and anti-patterns and some suggestions, best practices based on my coaching to those teams. And what is the take away of the session? Is there any take away from a 20 minute session? Okay, there is. So if you feel some of these observations are challenges found in your teams also, feel happy because they are not unique for you, they are universal problems. Or if you are planning to transform some teams to agile, this information will be helpful for you so that it can be done little better. So how many of you agree a Scrum Master is a team spirit guardian? Why? Why is a team spirit guardian? He is the one guru, he is the one friend and he is the coach, he takes care of the teams. So he works for the team to make his team great, high performance teams, right? Okay, so when I started working with these teams, what I understand was it was very natural that these teams are undergoing through the, what is that? Tuckman ladder, right? Forming, storming, norming, performing and adjoining. Where you have the forming stage, a lot of team members will have different skill sets, different mindsets, different religious backgrounds, right? But the observation what I had was we conducted for some of the teams a self-forming exercise where the team members come together, they form their own teams based on the guidelines that we give generally like, okay, this team needs three developers and two testers and they should have this background domain expertise and they should have these technical skills. So those teams, the duration of forming to performing is actually less than somebody else's form the teams based on their requirements, their demand. The reason is when you let the team choose themselves to form a team, the initial buy-in and the accountability and the commitment will be more high, right? Another point I observed is if the scrum master or the coach is, he has more agile perspective and agile knowledge and implementing the agile values and principles from the value point of view, the duration can be shortened, right? These are the five dysfunctions of the team as described by Patrick Lencioni. So the first one is absence of trust. So that means if the team members do not trust each other, they obviously cannot be honest with each other. That could lead to the next one, fear of conflict, meaning when you have no trust with each other, the decisions made by the team is not consensus based. When the decision is not consensus based, that means somebody will agree, somebody does not agree. So that will lead to the lack of commitment. So people who do not agree with the decision naturally will have less or zero commitment. So the next level of that is have avoidance of accountability. Those who did not have the buy-in to the decision made, they naturally have no, no, I did not agree. So I am not committed. I am not accountable. Somebody else is accountable. The last and most critical one is inattention to results because of all these problems it will lead to a situation where individual focus will come in rather than team-based focus. They do not trust in team-based delivery rather than they fight for the individual delivery, right? According to State of Agile 2013 report, they say that 43 percent of the Agile projects fail because of what problem? People problem, people and cultural problem. Individuals may behave well, behave well, but when you put them into a team, they do not behave well because of the ego problem or something else, right? So what is agility? Yeah, could be more. So what is the reason? It is all about, agility is all about mindset, right? It all depends on people, shared value and collaboration among those people, which is that makes Agile success. So some of these observations when I worked with those teams, the first one is tacit knowledge. Team members who have domain knowledge and technical knowledge, they do not want to share it with others because of the insecure feeling or lack of trust or if I share the knowledge, he will become more knowledgeable than me, he will take more story, something like that, right? Even though they are called themselves as Agile team, the developers feel they are a subset of the team. The testers feel they are another subset of the team. There is no collaboration happening. So what happens naturally it will lead to one of the ways is waiting or silo-based working, right? Individual focus rather than team-based focus. I want to do more work. I want to prove myself. Disconnected delivery, another pattern. What is disconnected delivery? Some of the team members, they say, okay, I am taking this story. It is my own. Don't come in between. I take care of end-to-end. What could be the problem because of that? Yes, nobody knows what is happening there. If the person is absent for two days, three days, you are gone, right? Lack of openness, transparency is one of the three legs of the empirical model. If you don't have transparency, obviously you cannot have better inspect and adapt, right? That remaining two legs will not work properly. Last one is lack of courage. Till then, before they start their agile journey, there used to be somebody like a manager or a leader or somebody else who used to guide them, who used to make decisions for them, who had to help them for their planning so everything is push-based. Now all of a sudden the moment you say, okay, now onwards you are agile. You have to self-organize. You have to plan your work. You have to do on your own. You have to live on your own. They don't like, right? Scrum Master's role is very key in making the teams great, especially when the progressing phase, when the teams are maturing, maturing stage. So you need to understand one thing. The roots must be strong and healthy. That means the agile values, principles and scrum values, focus, openness, respect, courage and commitment, they should understand or understood by the team from the value point of view rather than a practice point of view. Okay, scrum says have a daily stand-up. Scrum says have a review meeting. That is not value-based. They need to understand value-based implementation of these ceremonies, right? So some of the things that I observed is effective management of the seven ways you can use value stream mapping. For example, one time what I observed was there was a problem in one team. So team members started communicating through an email. So the email started around 11 o'clock in the morning and by the time where the issue got fixed, it was 5.45. So there were so many mail chains. What I found was I took a value stream mapping when the email started and what is the wait time when the other person responded. So I took the data and called the team. Okay, now we have to solve the problem, same problem sitting across the table. How much time it would take? This is 45 minutes. So they themselves understand, okay, that means sometimes we need to understand some things like face-to-face communication, right? Avoid or eliminate waste. Some team members they feel that if we have to deliver the stories at the end of the sprint, I need to start working on all stories starting from day one. Not really. You start value-based delivery, limit work in progress, right? Put work in progress limit. What is the problem because of that? If I start, as a team, I start working on all stories. Probably they end up reaching a stage. All stories are 80 to 90 percent complete. No story is 100 percent complete, right? Time-boxing. The moment they started working in agile, some team members came to me and say that, you know what? The moment we have started working in agile, we are spending more time in meetings rather than creating working software. Is this what is agile? No. So really making time-boxing for the teams to be successful, two things are very, very important at this stage. Inspect and adapt and effective time-boxing. These are the two important aspects that Scrum Master has to educate or let them understand. Next thing, effective retrospectives. First two to three sprints. Everybody comes on time. They participate well. They give their opinions, a lot of contribution to the meetings. But slowly, after fifth sprint or sixth sprint, you don't see attendance or people start coming late or they come with laptops, right? So this leads to a poor inspect and adapt. There is no learning happening, right? So yesterday, Madhavi was covering about some of the innovation techniques to conduct retrospectives. So as Scrum Master, what I suggest is, I started implementing different techniques of retrospectives. The team members do not know what retrospective style we are going to follow in the next retrospective meeting. So they will be, okay, we will see what is that we are going to use this time, right? So participation is more enthusiasm. They come with, especially they don't come with preparedness. What happens if you use what went well, what went wrong? Where do we improve? If you use the same technique again and again and again, it will be printed in their brains, okay? These are the things went well. These are the things went wrong, right? Another important thing from the retrospective I want to touch base here is, look for patterns. What are the patterns? Collaboration between the team is happening, working well. It is on good side. So how many people writing that? And how many retrospectives is going on? That means it is really working well. Collaboration is really, really working well. Our estimation is not working fine. Okay, take some action items, improve them in the upcoming sprints, right? That is what about effective retrospective. Whose responsibility is the quality? No, QA team, they say that. Developers, we build the code. Testers, you have to test the code. There is an understanding gap, right? It is a feature team. You as a team responsible to deliver, what is principle number one? Our highest priority is to satisfy the customer with early and valuable software, right? Working software. And truly cross-functional teams, encourage the teams to learn the secondary skills. Developers will not be developers forever. Let them do some kind of testing. Testers will have to do some kind of development, or UA interface, or something else. Definition of ready and definition of done. Very important for the scrum teams. Most of the times what I observed was they create their definition of ready, they create their definition of done, and they do not even look at them. Periodically you have to go back and review your DOR and DOD. Should I add some more thing extra? Or is it not working, right? Another thing, say no. You have to practice telling no in front of the mirror. If the story is not meeting my definition of ready, I should be courageous enough to say no to my product owner. Am I doing that? We have to do that. At the same time, if the definition of done is not met, I do not want to demonstrate to the product owner, right? That will again help to reach the quality of the product. Quality is not an add-on of the product. It is an intrinsic characteristic of the product, right? Last one, productive sprint planning meetings. Ensuring that product owner will come up with a prioritized list of items. They are meeting the definition of ready and all the clarifications are clear, no assumptions, if wireframes are required. So, whatever my definition of ready says, is it there or not? Ensuring that product owner is available for any clarifications. Ensuring all team members contribute to the discussions, right? These are very important. And soft skills. We are servant leaders. Scrum master is a servant leader.  So, Theory X guys, there are two problems, right? If something is not done means, there's a skill problem and there's a will problem. I can't do it. It's a skill problem. If I train you, I can do it. I don't want to do it. It's a will problem. So, Theory X. You need to understand Theory X. You can spend more time, convert them into Theory Y. Situational leadership. There's one guy who was asking, he was a manager and he was made as a scrum master. Why can't we call it as a scrum manager? Why scrum master, right? So, what happens next? The daily stand-up meeting starts happening from the glass room, right? Team is not talking about the three things. He is talking about, okay, why is it not done? What did you do yesterday? What are you doing today? That is not a jail, right? Decision making. Very important. Another important thing. Don't jump into the decisions. Instead, help the teams to find the direction towards decision making. Especially when you come up with a domain knowledge or you are technical expertise, we generally tend to jump into that and we provide the, rather than that, principle number 11 again. The best architectures, designs and requirements emerge from the self-organizing teams.  So, facilitate, encourage, help them understand and then come up with the suitable decisions. Helping the teams, let them understand the importance of being flexible and being adaptable by managing their personal management and discipline, responsibility and teamwork related, academic skills like if there is any training required for them, attending the trainings and keep some bandwidth to become cross-functional. And encourage them, fixing the problem before they look for who has broken it or who should fix it, it's not my problem. So, collective code ownership, one of the XP principles. There are some activities I plan for the team to play around with that. And let the team be progressively elaborate. Let them take baby steps. Don't worry about velocity. Let them understand the agile values and principles on the scrum framework and let them feel. And importance here is learning. Validated learning is very, very important for the teams. And take feedback, entering feedback whenever it is required. Learners need endless feedback more than they need endless teaching. Team building is another area where scrum master have to concentrate more. For example, I once they are comfortable with the scrum framework, understand the agile values and principles, then I introduce pair programming where the developers understand what is happening in the code and they get a good rapport between the developers and they kind of working together as a team. And the team members have created their own identity team names and they printed the logo t-shirts, come to the retrospectives, wearing the t-shirt so that they can feel as a unity united and instead of getting into a blame game, retrospectives will work effectively arranging potluck lunches sometimes and creating the team outings maybe at the end of every release the team will have an outing, one day outing going out, doing some activities. So all these things will help to create a results only work environment. I don't care how much effort we have spent rather than how much value we generated is very, very important. That should be understood from the team. So that is why these team building activities will be helpful. And collaboration one plus one is more than two definitely when they are working as a team. And face to face communication principle number six, the most effective and efficient way of communication is face to face communication. I appreciate the team when they have done some good job and let them understand the vision as a common team instead of having an individual vision, we are going to achieve something by end of release. So the product owner should communicate the whole and the team should see the whole and knowledge sharing and learning, maybe a 10% of the bandwidth can be utilized to become, to increase the secondary skills. I'm a star in Java, maybe I want to learn some skill server or I want to do some UI related things or I want to learn JavaScript. But don't force them by when you will develop your secondary skills, maybe they can come up. So we call it as a T shaped skills. This is my primary skill. This is my secondary skill one, secondary skill two. So I give, okay, at the end of three months I will learn these two things. I let them feel the shared accountability instead of having individual accountability. An important thing, keep everything open, visible, transparency, especially when you have daily stand up. Agile and Scrum helps you to expose the mess very, very quickly. So it will help you to address that mess, right? And doing a SWAT analysis, what is my strength as a team, where I am weak, what are my opportunities and what are my threats to address and move people around another XP practice. The developer will do some kind of testing and the tester will start his developer career by fixing some bugs slowly so that they understand the pain in the other role so that the collaboration will happen. And most importantly another point is I know when I see it. So what the team is doing, how they are progressing. You should have the information radiator visible next to the team's place where you can keep your task boards and you can keep your impairment boards. All these things will help the team to understand what is our piece, how we are progressing, where are we blocking, right? Learning is another important area where learning is a continuous thing. Agile is a journey, not a destination. Similarly learning is also important. So the moment you ask how do I learn or what should I do to learn that itself is the starting step to become agility. So this pyramid explains that practice-based learning or activity-based learning will have more impact than other things. So when you are doing something let them team participate in that and let them feel the practice-based learning that is more important. And ego is a blocker and curiosity is the first step. Sometimes there may be a guy who is a fresh engineering graduate who is a genius in JavaScript and the technical need may have to learn from him. It's very common because we are team, we are together trying to deliver working software at the end of the spring. Right? And Scrum Master's backlog for making the team stronger and together what I proposed is I created this kind of backlog. As a Scrum Master, I want my team to be cross-functional, high-performance, self-organized and motivated. I created some stories around that encourage team to create secondary skills, introduce pair programming, start TDD, manage their own impediments, arrange trainings and time boxing, all these things and I discussed with the product owner and the team members and I got there by in. Slowly I have introduced them, sprint after the sprint so that they become more high-performance and more mature teams. How I perform is directly related to how I feel, emotional intelligence, right? Very, very important. The team's emotional balance is also to be managed effectively. So what should we do for that? Protect the team from the external impediments or external disturbances so that they can focus on their sprint goal and pride, my team's success is my success. I don't have a separate success, right? And empower the team to make their own decisions, self-organized, optimize the whole rather than trying for a local optimization and celebrate the success, team outings which will improve the morality of the team and motivate them, create happiness, happiness index, how my team is, how happy is my team. Some people may be happy, some people may not be happy so have one-on-one meetings and speak to them, understand their problems, pain points, discuss with the team what can be done for them. All this is important. So finally, agile is built on responsibility at all levels of the organization. It's not just the development team or the scrum master or the product owner or the management. If you ask me that the development team is like water. If you put in a glass, they get a glass shape. If you put in a bottle, they get a bottle shape. So more problematic areas are behind that, may be management or the product. They will have different expectations, different level of conflict. So deal with them. Work with them very closely and one important thing is the team is a power-packed unit. So you need to channelize their efforts in a right direction. What does it mean? That means this. Just one second. You don't need to listen to the audio, but you can figure out what is happening there. There's a Jeep upside down. They're trying to get it right. That's where the team is focusing on the current sprint goal. He should have the scrum master should help them what might happen. Long beam, long beam and short beam. Finished the race, emerging as the undisputed champ, the rabbit woke up and realized that he'd lost the race. The moral of the story is that slow and steady wins the race. This is the version of the story that we've all grown up with. But our version of the story continues. The rabbit was disappointed at losing the race and he did some thinking. He realized that he lost the race only because he had been overconfident, careless and lax. If he had not taken things for granted there's no way the turtle could have beaten him. So, he challenged the turtle to another race. The turtle agreed. This time the rabbit went all out and ran without stopping from start to finish. He won by several miles. The moral of the story? Fast and consistent will always beat the slow and steady. It's good to be slow and steady but it's better to be fast and reliable. The story doesn't end here. The turtle did some thinking this time and realized that there's no way he can beat the rabbit in a race the way it was currently formatted. He thought for a while and then challenged the rabbit to another race but on a slightly different route. The rabbit agreed. The turtle and rabbit started off. In keeping with his self-made commitment to be consistently fast, the rabbit took off and ran at top speed until he came to a broad river. The finishing line was a couple of kilometers on the other side of the river. The rabbit sat there wondering what to do. In the meantime, the turtle trundled along, got into the river, swam to the opposite bank, continued walking and finished the race. The moral of the story first identify your core competency and then change the playing field to suit your core competency. The story still hasn't ended. The turtle and rabbit by this time had become pretty good friends and they did some thinking together. Both realized that the last race could have been run much better. So the turtle and rabbit decided to do the last race again but to run as a team this time. They started off and this time the rabbit carried the turtle till the river bank. There the turtle took over and swam across with the rabbit on his back. On the opposite bank the rabbit again carried the turtle and they reached the finishing line together. Both the turtle and rabbit felt a greater sense of satisfaction than they felt earlier. The moral of the story it's good to be individually brilliant and to have strong core competencies but unless you're able to work in a team and harness each other's core competencies you'll always perform below par because there will always be situations at which you'll do poorly and someone else does well. Teamwork is mainly about situational leadership letting the person with the relevant core competency for a situation take leadership and that is the end of the story. I think that's it for today. Thank you so much for attending this.


ly what was going on with this and Part of the delay Was the city of south burlington not having approval on money to release funds They were supposed to close originally in june Then it was pushed off to august and then the actual closing happened in october Everything is hand in hand. Every contract that went along with this sale With bread and butter with bread and butter, which was with city of south burlington and land trust so on and so forth So it's confusing. There seems to have been a lot of confusion as to whether or not You know, we left this meeting We read the minutes. We received the emails. We listened to the other paper spoke to kevin everybody seemed to have the In situation that the augular lands were exempt From intern zoning. We started to move forward. We had our wastewater permit approved subdivision complete And money put into tradals and then it was There seemed to be a lot of confusion as to that piece so I guess it comes down to you know, if it is the board's, you know If the council is saying that they agree that They do not believe the properties should be exempt. I guess we would be kind of looking for an explanation Just as to why It doesn't seem clear to me to just say no, we we meant for it to be exempt I think we're looking for a little more information on that Yeah, I'll talk about the motion I made and I believe that The contract we saw that night listed the augular lands and that was Something that was brought to my attention During the meeting as we were all sitting here discussing. So when I made the motion I made reference to the augular lands from the language in the contract and that That language I think Was specified in the contract and Forgive me. I don't know the contract by heart and I'm trying to recall but there were three parcels A, B, and C and Forgive me if I'm not remembering correctly and so when I saw in the minutes that it said augular land I wanted it to be clear that it was augular lands because the s was in the contract I mean that was the issue as I understand that you brought forward that evening was that this contract Be held, you know held whole and be respected and that was my Definitely my concern As well since I voted To have city funds put toward the conservation Of the problem is that the way that it is right now. It's not left to be Conserved, you know the in-term zoning alone causes issues with the fact that You know, you don't when you sell a property I feel like south I understand that the conservation piece is very difficult and lengthy. Can I just interrupt? Yep Yeah So you can see that whole deal closed right with well it did but it's it's a it's like a huge piece and It's a it's a huge mess that it's but the but abnc closed Abnc closed the land before that or it was a part of the no So we couldn't subdivide we did subdivide but the deal couldn't go through until after you guys had Done the initial three could you subdivide until after the right because it couldn't be broken off Well, it was subdivided, but it couldn't be Separated couldn't be separated until after the sale of your The property that due to the Be due to Because if for some reason south burlington couldn't come up with the money and the deal went away It had to go to had to go back to but the the 16 acres was a 15 or 16 It's like 15 if you owned it, all right, you couldn't subdivide it before the deal was done anyway If it was in the language of the country it was attached to the original 117 acres that you guys own So we broke that off to make the deal go through That's the because to keep it concert in contribution the money wasn't there. I mean The eclairs had Developers come to them that offered quite a bit more But it was important to keep it conserved which you guys work with bread and butter to do so So to make that deal go through they had to Bread and butter couldn't put up the money that needed to be put up So the 15 acres the eclairs took that money back on Had it subdivided for The cost that it cost to subdivide, but the deal couldn't go through until you Had your check and bread and butter purchased the property for 117. So essentially the south burlington sale On october 5th had to occur before It was subdivided through DRB Purchase from the trust, but it couldn't stay it couldn't we couldn't put a pud or anything We couldn't do anything on the property because if South burlington backed out or couldn't get financing or whatever it may be they had to We had to be able to have the option to put that land would have been very It would have had to go towards a developer at that point It would have had to stay whole for them to be able to say okay. Here's the entire property So it was all in a whole status until south burlington could close on october 5th Which then made the transfer everything else october 11th the the other piece being that this other small property All of these were Tied together so that other small property we keep talking about heathers the In order for the land trust the parcel see a It has to be Subdivided because she that's where her sewer and her water are is on That other property that all comes together. So it's part of the agreement, but the city of south burlington Paul connor couldn't have a subdivide prior Due to some tdr issues that would occur by doing so So we again were put in a whole pattern on that and had to come up with a contract with city of south burlington and land trust and bread and butter to be able to hold This subdivision to not occur. So now that her home That's that's the house on the east side. That's right. Yes. Yeah, just basically cross from yeah Yeah, my grandparents old house in the blue. Yes, so that house is point Point three six acres and we I needed to be four and I already did all of the work with To have the The lines drawn out and everything else and I had talked to paul He had said there was no problems, but I couldn't do the subdivision because it would have messed With the actual contract in the end. So I had to wait Yeah, sorry, it's something about the trs needed to go from one side of the road to the other side of the road To conserve it to conserve it and so I know that this is all Does it occur in state the subdivisions already occurred now? Well, no, my subdivision hasn't occurred at all and I can't do the subdivision now even though I was promising Yes, she's in that you put her into the lockdown too. Yeah You can bring it to us We were I was told that because it's in the lockdown it can't happen until after you guys are done the lockdown Via lantern. No, no the process with Interim zoning is if someone wants to Have a zoning permit to do x y and z um, they can Come to the city council And we act as the drb Well, I think it starts with the drb We we are redundant with the drb, right? We work with the final decision rests with us. Yes Because that's what we did the last iz. There were three projects that came forward Even though they were under iz I know like for us We were very clear from like what we were going to do from the beginning And there was We are we're not I mean our wastewater permits for 16 bedrooms We're not talking about a development here. We're not selling the property staying as a whole It's a family 15 acres yes, right The 15 acres 16 acre right 15 acres four and we have a four acre or was it four or five acre? We didn't in the end. We didn't And so we have a bunch of money tied up on this currently Again, we closed october 11th And october 15th this occurred There's a whole bunch of confusion a whole bunch of money that's been placed into it and everyone's kind of in a I just feel it's very unfair. Um, we worked hand in hand with the city on this from day one And I don't feel I understand that we can continue with our putting more money into trudells and then come to you And say can we do this but there's then go through the drb but You know, we're we're kind of being cautioned over and over again not to put any more money into this if we weren't because Of how you um on this path, so Right, I I feel that Personally, that's my well, do you want it as a item for Next week up to you I'm not going to be here. You're not going to be here. No, okay It might What's the agenda like is it full again? Now? We just actually we just lost one item on the agenda For next Tuesday the audit So we have one less item on the agenda next week Do you mind Helen if you're not here? And then we'll have a further discussion on what we talked about tonight's issues. Yeah, just with the charter. Yeah Is that a possibility? We haven't sure I'm fine. I mean, I won't be here, but that's okay. I believe that I not unfortunately I can't call in But I can certainly listen and no phones. No, I'm going to be in a plane Is there stuff that would be helpful for like yeah for me because I'm Feeling dumb on this Because it's complicated. It is They wonder I'd say If you weren't out of interim zoning that fixes your sewer problem And does what for for you so we originally had again we had held this We had held this land That we were going to build, you know, we're building stuff for our families homes for the families on it And that's what's being held up Right and so how many homes so a total we're not really sure how it's going to be completely configured But it's a total of 16 bedrooms So this is what you've been working on for a long long time for like a year and a half bedrooms in three or four homes or five homes? Yeah, probably three Four homes. There's already a property on There's already a home there that we don't On the 15 acres, right? But we can't do anything with that property at this point not knowing what might happen Homes that you'll resell No, no, we want to we don't want we want to keep the property together the best views in this state And this is the plan before interim zoning is the plan for after interim zoning um, I think I would Is there any way you can bring like a drawing next week not that we haven't seen drawing But I haven't seen them in quite a few months Yeah, well I can show you on That you don't have that one printed We could defer this with yeah get more input in we would like to resolve this and help you resolve it But tonight we can't do that so Maybe you can We'll put it on the agenda Can you come we can talk to paul? I can certainly come maybe you can talk with Paul as well to um I already what kinds of information would be helpful To have at the meeting Would that be Does that make sense or not? Yeah, and I think I think that would be good because I guess for us The part we're not understanding is why we're not exempt, you know that so Again, and and I'm sure it is a matter of lots of Lots of people involved in lots of I understand you guys have a lot going on but you know, I think when we left the meeting There seemed to even be confusion From how we read things how kevin read things how paul read things and then that clarification idea So I guess no one was really quite understanding why we weren't exempt When it would when the original thing was you know It was for this contract and this contract was the reason for the exemption was for this contract And this contract involved all these pieces So why Works we accept This is the o'clair lands Had a definition in it and that was my motion Right I'm not saying around my house is owned by fromant land trust which would be contained in that parcel a And that's the part that I want to be able to subdivide off So technically around my house is still o'clair lands as is defined in parcel a So it should be Well, they definitely want you to have a septic system So if I remember quickly it's functioning Well, and I already had the contract with them ahead of time You know, I had the contract from outland trust and I'd already had the confirmation from paul in front of 10 lawyers That there was going to be no issues to come from south burlington and then a couple days later To find out that there's all these issues It's like well that was already presented. Well, let's try to get it resolved Monday or at least the tuesday at least have the first conversation with the facts and the people before us and we will um Do our best to figure out a Without raising any hopes right didn't andrew say that it's easy for us to Lesson the effect of interim zoning that increase it, right? So so exempting more property is an easy thing to do right, particularly if it's without raising Had we not delayed so long in the closing this would be a moot point exactly So that that's I think that's Yeah, but I don't think it was just south burlington. That was not my understanding It was actually the checks. It wasn't really clear. It was very complicated Well, I think that there was lots of pieces to it I know at least from what we kept hearing on our side was you know And it does kind of make sense because I know I was here at the meeting in the end of august september where it was actually being brought Here to the council for everyone to finalize that vote had gone through other committees prior so I know as of Hadn't gone to the vote for the city council for everyone else until late august early september time frame So we were supposed to have closed in june and right august before then so you know I'm it really was the meeting Well, and I I'm sure that there's other people other investors that maybe didn't have what they needed as well But it wasn't just the city south brunton, but there were quite a few partners in there So does that does that sound like that's yeah, and if I could just yeah And I'm happy to bring whatever information is helpful. I guess that's where I'm You know when we come in next time whatever it's helpful for me to bring it would be I can certainly do so Well, I think we've asked a few questions. You were talking about the plans The parcel a that's overlapping with visual Yeah, if you letting us see what the o'clair lands is You know the land we don't know the land Of what you what? You're indicating happened and why and what you want from the council and you get that to me by friday at At two I can send it out to the council in their packet. So they're They understand the issues in advance absolutely and then a map of the lands and Except what's exempt currently what's not exempt Yeah, I mean that you that from your understanding and then I guess the areas that you want to have some kind of Right. Yeah, whatever detail you have for what you're proposing Both for your property and then across the street. That would be helpful for the council to see absolutely Okay, so thank you. Are we done? I think so Okay, so motion to adjourn They get their clothes on and leave before we adjourn. We got a motion for adjournment all in favor In a second I'm in favor. Thank you very much. Get hungry. Who's favor you win? Gee wins I know but we did okay. We gotta at least end the meeting We're just gonna go Okay, I don't think it's gotten a whole lot warmer out. No, no, I don't think so Good luck next Tuesday. Yeah, they go right back down again 30 tomorrow. Yeah, they go right back down again a day later


Hi everyone again, so we're ready for the next talk, which is Matthew Garrett, who's going to be speaking to us about everything you want to know about smart light bulbs. So thank you, Matthew. It's a real pleasure to be here. I haven't been to EMF camp before, but I'm enjoying it a great deal so far. My name is Matthew Garrett. I work on various bits of computer security stuff, but I'm going to be talking to you about light bulbs, which are largely a hobby I have, which sounds a little bit strange. I have a lot of time taking smart light bulbs and other IoT type devices, reverse engineering them, trying to figure out whether there's any sort of terrifying security issue with them, discovering largely that there is, and then gin. My slides are of very poor quality. I'm going to try to make up for that with quantity, so I'll be moving quite quickly. In the past, there was a time when dinosaurs were in the earth and there were very few light bulbs, so we're going to ignore that. In the 18th century, people start doing interesting things with electricity, and at some point during this time, people notice, oh, if you heat something, it glows, and if you pass electricity through something, it can heat up. And then, well, gosh, if we pass enough electricity through this large lump of platinum, then it produces light, which is great. This approach was not involved in too much detail, because being around very hot lumps of platinum that are gradually evaporating into the air is not wonderful for your health. In the 19th century, we get to the point where what we would recognize today as the light bulb is invented by a lot of people simultaneously. A lot of people build light bulbs. A lot of people try to improve light bulbs, and we go through various stages. Obviously, Edison's approach ends up arguably winning because of him building an entire network of components that allow you to basically build your own from scratch city lighting system. Around this time, we're still using carbon filaments. The problem with carbon filaments is that they don't last that long. The carbon that boils off sticks to the inside of the bulb, and your bulbs get progressively darker until they stop working entirely. So we move on to having tungsten filaments instead. And this is much better. This is what modern incandescent bulbs still largely are based on. You have a filament that does gradually still evaporate and cover the bulb. You get some reduction in light output over the lifetime. But overall, the idea is you put 40 or more watts through some tungsten inside a bulb, and then light comes out. People attempting to fix the lifetime issue of as the filament evaporates, it gets weaker, and then eventually it snaps. Realize that if you fill the bulb with halogen, then as the tungsten evaporates, it relaxes with the halogen and then eventually gets redeposited back onto the filament. So you have this nice closed cycle where the bulb doesn't deposit its filament over the interior of the bulb. Downside of this is that you need to run the halogen bulbs a couple of hundred degrees hotter than non-halogen bulbs, so they consume even more power. So the basic problem we have at the moment is all of these home lighting systems take a lot of power, and they're also emitting a lot of infrared, which is not what we generally want bulbs for. 90s and early 2000s, we start going into the world of compact fluorescent lighting, which is kind of terrible because they look ugly and they take time to warm up.  Then we move on to LEDs, which is where things start getting interesting, and now that we have LEDs, you also need for an LED bulb to work a moderate quantity of electronics on the board. And once you're already starting to put electronics into your light bulb, you may as well make those electronics do more interesting things as well. And this is around when we start thinking about smart lighting really becoming a thing, although it's not actually directly linked to LED bulbs. How many of you remember those really annoying adverts for X10 home automation stuff that was all over the internet for a while? OK, some of you, good.  X10 has the magical ability to multiplex various control signals over the power lines so that you could use it to control systems remotely. And OK, and then you could connect it to the end stairs and then you could control your lights by using the end stairs. This was magical. More recently, we also have smart switches, which you replace the switch in your wall with something that speaks a network protocol, and then that controls the lighting. We're not going to be talking about any of that stuff because smart switches are not smart light bulbs. They're much less interesting. Smart light bulbs speak to a network themselves. And what that network is varies massively. There's a lot of competition in this space. There's a lot of innovations really not the right word, but there's a lot of people trying new things. I think innovation implies that you maybe build something better rather than merely different. Not so much here. So there's a variety of protocols. There's Z-Wave, which is a mesh networking protocol in the 2.4 gigahertz or so range, and which allows a variety of different devices to form a mesh network inside your home. Advantage of having a mesh network is that you don't need to have your internet stuff. You don't need Wi-Fi, for instance, to reach your entire home. As long as each bulb is sufficiently close to another bulb, then you're able to get your signal through the mesh all the way to the device that you actually want to be talking to. Z-Wave is a mesh networking protocol that supports a variety of devices. It's fundamentally, to the end user, the difference between Z-Wave and Z-Wave is basically uninteresting. They're completely different protocols, but they work in roughly the same frequency ranges, and they have roughly the same end effect. Z-Wave is what's used by stuff like the Philips Hue platform and a variety of other lighting platforms. Z-Wave is more in the sort of enthusiast space, I'd say at the moment, compared to ZigBee, which is a lot of people who know what Z-Wave and ZigBee are prefer Z-Wave for reasons I'm not entirely clear on. People who don't know the difference generally end up with ZigBee because that's what things you buy in boxes that don't have the word ZigBee on use. Obviously, because people have Wi-Fi networks and people don't always have ZigBee networks, ZigBee does require, like Z-Wave, requires a bridge between your traditional IP network and this completely different protocol. Most computers do not have ZigBee or Z-Wave radios built into them. Using Wi-Fi instead means you don't need that additional hardware. Downside is with Wi-Fi, you don't have the benefits of mesh networking. Everything needs to be in range, and the devices needs to be a little more complex because they need a full Wi-Fi chipset, which is a harder protocol to implement than ZigBee and Z-Wave are. And finally, of course, well, I say finally, we also have Bluetooth, mostly Bluetooth low energy. This is convenient because your phones speak it. It's relatively low power. It's a bit above ZigBee and Co, but it's less than Wi-Fi. You can build Bluetooth low energy bulbs for a slightly lower price point than a Wi-Fi bulb. And again, you don't need any sort of hub. Downside, Bluetooth LE can only have a single control device connected to any device you're trying to control at once. So you can't easily have multiple people in the home simultaneously changing your bulb status. And of course, there are bulbs that use something entirely custom. There's a whole bunch of stuff that's generally referred to as, I think, limitless LED, which uses some custom, weird 2.4 gigahertz thing. But it's someone reverse-engineered it. And there's a web page about it. But in itself, not particularly interesting. But why would you want to use a smart bulb in the first place? Why do we want to make these things that are supposed to just help us function in our homes when it's dark? Intelligent. So one thing, they're dimmable. Dimming LED bulbs otherwise is possible. But traditional dimmers generally don't work well with LED bulbs. You need to make sure that your LED bulb is compatible with your dimmer. There's a variety of newer, intelligent dimming switches that do a much better job of this. But again, you then need to make sure that your bulbs are compatible with that. Alternatively, you can just buy bulbs that are capable of dimming themselves, and that problem goes away. You can have color-changing bulbs, which is wonderful for parties, I guess, I don't know. Never really use this much. But there is the more useful aspect of color-changing, sort of subset of being able to change the color temperature. You can have a bulb that, at various points in the day, has a different color temperature output. So as it gets towards night, you can change to a redder, less blue glow. You can wake up with a sort of more blue glow that's encouraged you to be active. You can go to sleep when everything's redshifted instead. You can react to external events like just ambient light can be used to control the brightness of your bulbs. So instead of just turning your bulbs on when it starts getting dark, you can gradually have them ramp up and only produce as much light as is necessary for you to be able to see the things you want to see. So you can reduce your power consumption to an extent. And also, based on time of day, you can have different outputs. If you want, you can also do things like, oh, this stock price influences the color of this light bulb for when you want to really be unhappy about the state of the world. You can control smart bulbs from your phone, typically, which is great when you go out and realize that you forgot to turn the lights on, or alternatively when you're coming back and want to be able to turn your lights on before you get home. You can control by shouting at some sort of voice control device, which means that if you wake up and discover that you've fallen asleep sitting up right in all the lights are still on, you can just sort of mumble incoherently and the lights will turn off, which fixes at least one of these problems. You can compensate for annoying lighting setups, like the one I have where every room in my flat has a light switch that controls one socket at the far end of the room. And I suppose to plug a lamp into that socket, and there's no way there's a single lamp in that corner of the room is enough to light the room. So basically, the light switch allows me to bootstrap enough light for me to be able to find the other lights and turn them on. And then do that in reverse, which means that my lights get turned off while I'm standing next to the front door, which is not where I sleep. Anyway, so smart bulbs allow you to avoid various very, very first world problems.  And this is necessary because LEDs are not particularly broad direction. You want something that is able to hide the fact that you have a small number of point sources inside the bulb and spread that light out more widely. You have the LEDs themselves, obviously. I'm going to go into that a little more. You have a heat sink, because while LEDs are low power, compared to incandescent ones, they're also not broadcasting a lot of their waste heat in the infrared spectrum. They get hot, and you need to conduct that heat away, rather than it being radiated away. You have a radio, obviously. You need some sort of communications methods. You have a controller. The controller is sometimes integrated with the radio. The controller is what is able to take the commands, interpret them, and then do something useful with them as a result. You have a driver, because you need something that is able to take 110 to 230 volts AC and turn that into what the bulbs actually run at, and it also needs to be able to control the brightness of them. Controlling the brightness of LEDs, you have two real options. You can just drop the current, but then you run into weirdnesses about LEDs are most efficient as a particular power draw. So, alternatively, you can do pulse width modulation. Basically, you turn the LEDs on and off very quickly, and then some people get very, very angry at you, because they can see the flickering. Some of these bulbs, so the driver's responsible for handling that natural aspect of things, some of these bulbs also contain a speaker. The speaker is normally an entirely separate Bluetooth audio device that's not integrated with any of the rest of the bulb's functionality in any way. So, the bulbs that you sometimes see that say they have a built-in speaker and they will change color in response to the music, your phone is playing the music to the speaker, and then your phone is also analyzing the music and is independently sending commands telling the bulb to change color, obviously. But going back to the LEDs, some bulbs are sitting there with red LEDs, green LEDs, and blue LEDs. Sometimes they're actually red, yellow, and blue rather than red, green, and blue, I guess that's an old. Some of them have red, green, blue, and also white. So, the initial question is, you've got red, green, and blue, and we all know that red, green, and blue is enough to make white. Why do you want to also have white LEDs? And the answer is that white light's actually quite difficult. If you want to be able to have your red, green, and blue LEDs produce white lights that feels natural, they need to be very well balanced in terms of their output. And the problem is that LEDs from different batches are not particularly consistent in their response curve in terms of emitted light versus power put into them. So unless you're calibrating your bulbs with every batch, different bulbs will be different shades of white. And some of them will not be terribly convincingly white at all. If you just turn the red, green, and blue on, you'll get something that is either sort of sickly red or sickly blue or sickly green. So if you don't want to spend that additional money, easiest way of doing that is to have additional white LEDs. White LEDs are also bright, which means that your bulb's lumen statement via how good is this bulb in terms of its power consumption sounds a lot better if you're able to say, yep, this is an eight-watt bulb that is 600 lumens. And then you discover that that's only true for the white LEDs. If you try using the color LEDs, they're nowhere near that bright.  So a lot of these cheaper bulbs will have high sticker values for their brightness, but that is only true if they're in white mode. And then you're not able to do any sort of temperature shifting in terms of the color output because you can't turn the RGB LEDs on at the same time as the white LEDs. So in some cases, the more you pay in this space, you do actually get better bulbs as a result. I, a friend had some Philips use and I was very impressed and I thought, oh, this is clearly the future. And also this is far more money than I want to spend. I have at this point now spent significantly more than the cost of any number of Philips use buying a large number of very cheap light bulbs. And racing Python libraries for communicating with those bulbs, which has involved reverse engineering the protocols. So quick, just side note, I'm going to use the word androids in the moment, which is going to mean that I'm obliged to tell you that I do actually work for Google but not on androids and also this is not any sort of sales presentation. And also I am not representing my employers. This is the only use of the word androids. If you have an Android phone, if you go into the developer options, then there's an option for HCI debugging. And if you turn that on, all the Bluetooth traffic your phone produces gets dropped into a file on the slash SD card partition. You're then able to just copy that off your phone and then you have the full Bluetooth log of the communications and you can analyze that and you can see what the app on your phone is doing with the bulb and you can analyze that. And in some cases you end up discovering, oh it basically sends four bytes, one for red, one for green, one for blue and one for white. And then that's it. And if you then want to implement that, you just do some code that sends the same things, everything's great. Bulbs that are doing wifi, you can use TCP dump. For that you need a rooted device. Just throw those dumps into Wireshark, stare at them for a while, start swearing, consume gin. And eventually you end up with a library that allows you to communicate with these bulbs without needing to use the vendors code in any way. And that way you can then integrate it with your own control system. In the process of doing this you may discover some strange things. For instance there's a variety of bulbs that are all produced by the same company but which are rebrand, well sorry, the control electronics are produced by the same company but a large number of companies rebrand and resell them. Where the initial network setup is done by sending them AT commands. One of the AT commands you send is to configure the cloud service that you can use to control the bulb when you're outside your home. Which in terms of whether that's authenticated or not is entirely up to whoever's running that service. Some of them not really authenticated such that you're able to just contact the cloud service, brute force your way through every possible bulb ID. Find out which ones respond to commands and then just turn them on and off. I should make it clear that I have not done this. But in most cases the vendor has probably done better than that and you're probably okay, everything is probably fine. It's not always fine. The first set of bulbs I bought and actually absolutely the worst I've ever bought was something called the iSuper iRainbow001. You can tell it's great because it's got two i's and also they haven't made any of them before, this is their first attempt. So it came with a hub and you plug the hub into your network and there's a button for physical presence authentication and the idea of this is to allow you to ensure that anyone who is going to be able to control the bulbs was at some point in physical proximity to the bulbs inside the house. You press the button, your phone pairs with the exchange's credentials with the hub and from then on you're able to control the hub. The button does nothing. If you send the high I would like to communicate with you command to the broadcast address it says yes. Regardless of whether or not the button is being pressed. There were no credentials for the cloud communication. You could contact the cloud service and then control anyone else's devices without knowing anything about them. But my absolutely favorite part is that it was the hub was running a hidden Wi-Fi network with a DHCP server. So if you knew that someone had one of these you just needed to walk up and try to connect to the iRainbow network and you'd then be authenticated and connected to this device which was running a Telnet demon admin slash admin. So this was great. You could bring it home, plug it in and then anybody nearby was able to access your entire home network by just bouncing through this insecure device. So one of the amazing extra fun things was that I did work out the Pro's Cloud for sending commands and one of the commands just caused the bulb to start flickering at somewhere a little worryingly close to eight hertz. That was not really good. Compared to that we have the Philips Hue. I do not have any business relationship with Philips. It has a button that does something. You press the button and then you're able to authenticate against the device. You don't press the button, you don't. Every device has a unique cryptographic ID. You're not it authenticates itself to the Philips cloud service. So you can't even build something that pretends to be someone else's Hue hub. Each Hue hub has a unique cryptographic ID and amazingly this cryptographic ID gets regenerated whenever you a factory reset. So if you do a factory reset all existing credentials are gone forever. There's no way for you to do anything with the fact that you previously knew the credentials. Someone else gets this device, does a reset, gone. So the other nice thing about the Hue was that, as I mentioned, they solved the RGBW problem by initially using red, yellow and blue LEDs which meant that they could get really nice whites and they were very good at calibrating the LEDs so they were actually white. The downside was you couldn't really do green because there was no green. But the more recent ones are as good at doing whites and are also able to do green. So that's nice. So basically compared to the iRainbow, the Hue is just wonderful. If it were a dog, it would be a good dog as all dogs are. Unfortunately, I'm not gonna talk about some security work that I did not do. People far smarter than me did this. The bulbs turned out to be vulnerable to side channel attacks by measuring very accurately the power consumption of the bulb, you could infer what the CPU on the bulb was doing, which meant that researchers were able to extract the AES key that was used to decrypt and verify firmware updates. Now the obvious problem here is that AES is a symmetric encryption algorithm. The same key is used for encryption and decryption. Don't do this. Use RSA or something which has a public private splits. That's why the only thing someone can extract from the bulb is the public key and there's a hint in the name. You're not gaining anything by doing that. Now, the reason they do AES is that RSA is more computationally expensive and it's a case of, okay, we don't want to push RSA onto a device that doesn't have much computational ability. Same researchers also discovered how to take over bulbs. Now being able to produce modified firmware, well, having the firmware encryption keys not too much of a problem because the download path for the firmware is still protected by SSL and the bulbs will not accept firmware updates unless you're on the same ZigBee network as those bulbs are. And it's not possible to join the same ZigBee network as the bulbs without physical presence. Reauthenticating requires close physical locality. The bulbs will look at a request to join a network and will check that the signal is sufficiently strong that you must be very close to the bulb and will use that as a way of saying, okay, no, I'm not going to join this network because you're too far away. Unfortunately, the command to trigger a factory reset of the bulbs did not require any physical proximity. And once you do a factory reset of the bulbs, they will join the first network that asks them to join. So researchers were able to demonstrate that they could send a factory reset command to a bulb, get the bulb to join their network and then flash their firmware onto the bulb. So they did that. And they did that with firmware that was capable of finding any other nearby bulbs and doing the same thing to them. And because why not, you're going this far, you're already going to publish a paper that's going to suggest that we're one light bulb away from the entire internet infrastructure being taken down. They did this flying a drone outside an office window. Anyway, that was very neat. So the other fun thing about these bulbs is in terms of how you do initial setup. For a ZigBee and Z-Way devices, that's handled by the protocol. There's nothing particularly exciting about it.  Bluetooth, it's just a nice, the device is discoverable. You connect to it. You potentially have some sort of initial authentication setup such that you're now the only device that can talk to the bulb and you need to do a factory reset to bite any other because there's now a shared secret between you and the bulb. Wi-Fi, you need some way of telling it how to get onto your network. The standard way of doing this is that the bulb comes up running an access point. You connect to that access point and then you send it information about your network. This is a kind of the usual way these things happen. Alternatively, you can have the bulb just scan through frequency ranges looking for... When you're running an encrypted Wi-Fi network, you can still see packet length. So how about if you just encode the network credentials by sending packets of different lengths, blast those onto the network in multicast and then the bulb just scans through the Wi-Fi ranges looking for a network that's doing this and then scrapes the credentials out that way. So that's the thing. So obviously a lot of these bulbs are running terrible firmware that's insecure, that's trying to phone home to places you would rather your bulb wasn't phoning home to and then you're really hoping that nobody else is phoning home to your bulbs. Is there a better way other than buying the very expensive bulbs? And the answer is that many of the cheap bulbs are based on the expressive 8266. Of course, there's a bunch of serial port headers on them. Of course, you can solder wires onto that or build a Pogo pin board and then reflash them with free software firmware, which you can get from these locations. And these bulbs then running this firmware expose all the control for the bulb over standard interfaces. You can use MQTT, which is a home automation framework. Obviously, if you do this, take care not to actually run your bulbs in a way that results in them becoming too hot and catching fire, because if you do, it's your fault, not mine, not the people who wrote that firmware. That is everything I'm going to tell you about bulbs unless you have questions about bulbs. Do we have the... Like this? Did you play around with any ones of the light bulbs that are on 433 megahertz? I'm sorry, any of the light bulbs that are on 433 megahertz. No, I did not look at anything that was in the sort of custom range there. Sorry. Okay, thanks. Thank you. Did you ever find anything that was actively malicious? Like it wasn't merely polioauthenticated and running Telnet, it was deliberately doing this. Thankfully, I have not found any light bulbs that are actively malicious. Any more questions? I think someone's back. Someone say yes. Where are we? Where? I can't see. Can someone else who can see you through the bulb? Okay, in that case, oh, sorry, you had the bulb. Okay, in that case, thank you.


Ok, nistoanakouk sa kokohtou. Greetings, my name is Randy Bodle. I come from the Blood Tribe, and my involvement with this initiative started three years ago. And I'm truly amazed to see the amount of progress that's been made since then. I think with Salange and others that were very instrumental in putting together all the information that's very needed in the schools. But we always have to look at who that's going to benefit, and that's the students. Because we're always looking at ways and making efforts to ensure that we can give them a good future. One of the ways is to how all people can learn about the history. We know about the negative history, but at the same time we have to look at the progress and the success of First Nation communities and other Aboriginal people. Education is very important to us. I feel that in order to really make a difference in your life is to pursue your education and do the best you can. In our language, we have one of our values. Aksastriipatapisini is to always be striving for excellence.  But my message to students is to really take pride in who you are, all the students, because all people have a culture, all people have a history. And this is why it's very important that we continue practicing our traditions to ensure we keep our language alive, our ceremonies, and our ways. So I urge everyone, and really applaud the educators, for really taking time out of their life to be here for two days, and to really share their knowledge and also their wisdom, which I feel is equally important in ensuring that we always put the child in front.